HowTo: ESPEasy – Verbind en bedien de PCA9685 PWM-poortuitbreiding met de ESP8266

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.

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.

Schakelschema PCA9685 aangesloten op een ESP8266 via I2C.

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. 🙂

Koop Me a Coffee op ko-fi.com       

7 comments

  1. 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.

    1. 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

  2. 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

  3. 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

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.