ESP8266 WiFi – LED Knipperlicht (NodeMCU)
Op deze pagina vind je een voorbeeld om via de ESP-01 module een LED te schakelen via een GPIO pin.
Wat heb je nodig?
1) ESPlorer IDE
Sluit het ledje aan op GPIO 2 volgens onderstaand schema:
Let op: Het weerstandje is belangrijk, deze beperkt de stroom door de LED, als je deze niet gebruikt gaat het LEDje (snel) stuk!
Open ESPlorer, maak connectie en gebruik de volgende code om de LED te laten knipperen (commentaar in het Engels):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
-- Config local pin = 4 --> GPIO2 local value = gpio.LOW local duration = 1000 --> 1 second -- Function toggles LED state function toggleLED () if value == gpio.LOW then value = gpio.HIGH else value = gpio.LOW end gpio.write(pin, value) end -- Initialise the pin gpio.mode(pin, gpio.OUTPUT) gpio.write(pin, value) -- Create an interval tmr.alarm(0, duration, 1, toggleLED) |
Sla het bestand op door op de “save” knop te drukken, het bestand wordt lokaal opgeslagen en meteen geüpload naar de module:
Ps. Sla het bestand op als init.lua, zodat het gestart wordt bij het opstarten van de module!
Hoe zit dat?
1) Eerst worden de configuratie variabelen ingeleezen, zoals PIN, WAARDE en DURATIE.
2) Vervolgens worde de functie “toggleLED” aangemaakt.
3) Na de functie wordt de WAARDE pin ingesteld bij de eerste doorloping van het programma.
4) Er wordt een timer aangemaakt:
– 1e argument = timer id (0)
– 2e argument = duur in ms (hebben we bij de configuratie boven het script opgegeven)
– 3e argument = 1 (interval) (0=timeout)
– 4e argument = functie dor doorlopen wordt wanneer de timer actief wordt.
5) In de functie is een flip-flop gemaakt met de hoog en laag waarde van de pin, hierdoor knippert de LED
Bronnen:
dd-one-out.serek.eu