De PCA9685 is een behoorlijk praktisch IC. Deze wordt via I2C aangesloten op de microcontroller (bijvoorbeeld ESP8266) en kan vervolgens maximaal 16 individuele PWM-kanalen aansturen.
Met slechts twee (I2C) pinnen op de microcontroller kunt u maximaal 16 LED's, servo's of, met extra schakelingen, motoren besturen.
Vooral als u servo's wilt aansturen, maakt dit IC of het breakout-board uw werk een stuk eenvoudiger.
Dankzij ESPEasy en de bijbehorende plug-in kan de PCA9685 zeer eenvoudig en uiteindelijk via WiFi worden bestuurd.
Hoe u de PCA9685 op uw microcontroller moet aansluiten en configureren, wordt beschreven in het volgende artikel.
Veiligheidsinstructies
Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links / reclame links
De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂
Eisen
Handige artikelen:
Aanvullende tips over ESPEasy vindt u in de volgende artikelen.
- ESPEasy - Voer opdrachten en acties uit via HTTP, MQTT, UDP en rechtstreeks
- ESPEasy – Firmware compileren en flashen en WiFi-toegangsgegevens configureren
- ESPEasy / Wemos D1 Mini – Stel de ADC af op een andere maximale spanning
Vereist gereedschap:
Benodigd materiaal:
Sluit de PCA9685 PWM-poortexpander aan
Het PC9685 breakout-bord moet via de I2C-bus op de Wemos D1 Mini worden aangesloten. Hiervoor kunt u bijvoorbeeld het PCA9685 breakout-board op een Wemos D1 Mini aansluiten met behulp van onderstaand schakelschema.
De aansluitpin “V+” definieert de spanning waarmee de aangesloten “verbruikers” worden bediend. Als u bijvoorbeeld een servo wilt aansturen, dient u deze pin van 5-6V te voorzien.
Configuratie van de PCA9685 in ESPEasy
De configuratie van de PCA9685 is snel gedaan dankzij de juiste plug-in.
Open eerst de webconfiguratieweergave van uw ESPeasy-installatie.
Informatie over het openen van deze weergave is ook te vinden in het artikel ESPEasy - Voer opdrachten en acties uit via HTTP, MQTT, UDP en rechtstreeks
Vanaf daar klikt u op het tabblad "Apparaten".
In het tabblad “Apparaten” moet je nu op de knop “Toevoegen” klikken in een van de nog lege regels.
Je wordt dan automatisch doorgestuurd naar de getoonde weergave en kunt nu selecteren welk apparaat je wilt aanmaken.
Selecteer hier de vermelding “Extra IO – PCA9685”.
U wordt dan doorgestuurd naar de configuratiepagina van de plug-in.
Hier moet u een willekeurige naam toekennen (hier “PWM”), “Enabled” aanvinken en het juiste I2C-adres instellen.
Het I2C-adres komt vaak overeen met het standaard weergegeven adres. Zo niet, dan kunt u hierover informatie vinden in het datablad van de PCA9685.
Met de instelling “MODE2” kunt u het Mode 2-register van de PCA9685 configureren. Hierdoor kan het gedrag van de PWM-pinnen worden geconfigureerd. Informatie hierover vindt u ook in het PCA9685 datablad.
Als u de PCA9685 wilt gebruiken om servo's te besturen, moet u de optie “MODE2” instellen op de waarde “0x6 6”. Meer informatie hierover vindt u ook in het artikel ESPEasy - Gebruik een PCA9685 om servo's te besturen.
Zodra u alle plugin-opties correct heeft ingesteld, hoeft u alleen maar op “Verzenden” te klikken om de instellingen op te slaan.
Stuur PWM-waarde naar PCA9685
Nadat u klaar bent met het configureren van de PCA9685, kunt u deze testen.
Ga hiervoor naar het tabblad ‘Extra’.
Daar kunt u de opdracht invoeren in het gedeelte "Opdracht".
PCAPWM,0,300,
invoer. Met dit commando wordt de eerste (het tellen begint bij 0) pin van de PCA9685 ingesteld op de PWM-waarde 300. De instelbare waarde varieert hier van 0 tot 4095.
Als u bijvoorbeeld de derde pin van de PCA9685 op 1337 wilt instellen, zou het commando er als volgt uitzien:
PCAPWM,2.1337,
Meer sensoren
In de categorie vindt u ook meer artikelen over het configureren van sensoren en actuatoren met ESPEasy
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Hallo, zeer interessante instructies... Ik zou geïnteresseerd zijn in de "extra circuits" voor een motorbesturing (stappenmotor 28BYJ-48 of vergelijkbaar), bijvoorbeeld om een rolgordijn of iets dergelijks te bedienen.
Hé Kruse,
het is eigenlijk niet zo groot. Een ULN2003 aangesloten op de uitgangen van de PCA is voldoende om een 28BYJ-48 aan te sturen. Ik kan er een artikel over schrijven als ik de kans krijg. 🙂
Hartelijke groeten
Fabian
Bedankt voor het antwoord... ik kijk uit naar het artikel.
Ik ben momenteel aan het "sleutelen" aan deze schijf: https://www.instructables.com/Motorized-WiFi-IKEA-Roller-Blind/ maar het is een beetje "verwarrend".
Ik ben ook niet DE expert en ik hoop altijd op “recepten” waarvan het resultaat relatief eenvoudig is. En je leert altijd iets...
groet
Ja zoiets staat ook op mijn (lange) lijstje. 😀 Ik zal het artikel op mijn ToDo lijst zetten. 🙂
Hartelijke groeten
Fabian
Tot ziens,
geweldige gids! Bedankt, wil graag de servo's besturen via mqtt de datapunten via iobroker. Alleen de status wordt weergegeven in iobroker!
Hartelijke groeten
Benno
Hallo Benno,
Bedankt. 🙂
U kunt het getoonde commando ook via MQTT naar ESPEasy sturen. Ik heb hier een eenvoudig voorbeeld beschreven: https://nerdiy.de/howto-espeasy-befehle-ausfuehren/#Befehle_ueber_MQTT_ausfuehren
Hartelijke groeten
Fabian
goedemorgen Fab,
hartelijk dank voor uw reactie.
sorry dat ik nu pas contact opneem. Ik kan het nu verwerken met Http, werkt prima!
Nogmaals bedankt
Hartelijke groeten
Benno