Arduino Nano - LED - Knipperen Zonder Delay
Laten we ons voorstellen dat de Arduino Nano twee taken tegelijk moet uitvoeren: een LED laten knipperen en tegelijkertijd de status van een knop monitoren die op elk moment ingedrukt kan worden. Als we de delay() functie gebruiken (zoals besproken in een eerdere tutorial), kan het zijn dat de Arduino Nano sommige knopdrukken mist. Met andere woorden, de Arduino Nano kan de tweede taak niet volledig uitvoeren.
In deze handleiding leert u hoe u de Arduino Nano een LED kunt laten knipperen en tegelijkertijd de status van een knop kunt detecteren zonder dat er drukmomenten worden gemist.
We behandelen drie voorbeelden en vergelijken de verschillen tussen hen:
- Arduino Nano laat een LED knipperen met de delay() functie
- Arduino Nano laat een LED knipperen met de millis() functie
- Arduino Nano laat een LED knipperen met de ezLED bibliotheek
Deze methode is niet beperkt tot alleen LED knipperen en het controleren van een knop. In het algemeen maakt het het mogelijk voor Arduino Nano om meerdere taken gelijktijdig uit te voeren zonder dat ze elkaar blokkeren.
Hardware Required
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over LED en Knop
Als u niet vertrouwd bent met LED en knop (inclusief pinout, functionaliteit en programmering), kunnen de volgende tutorials u helpen:
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Arduino Nano Code - Met Delay
Snelle Stappen
- Verbind uw Arduino Nano met uw computer via een USB-kabel.
- Start de Arduino IDE, selecteer het juiste board en de juiste poort.
- Kopieer de code en open deze in de Arduino IDE.
- Klik op de Upload knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.

- Open de Seriële Monitor.
- Druk vier keer op de knop.
- Bekijk de LED; deze zal elke seconde aan en uit gaan.
- Controleer de output in de Seriële Monitor.
- In de Seriële Monitor ziet u dat sommige drukmomenten niet werden geregistreerd. Dit komt doordat tijdens de delay-tijd de Arduino Nano geen acties kan uitvoeren. Daardoor kan hij het indrukken van de knop niet detecteren.
Arduino Nano Code - Zonder Delay
Snelle Stappen
- Voer de code uit en druk vier keer op de knop.
- Bekijk de LED; deze zal iedere seconde aan en uit schakelen.
- Controleer de output in de Seriële Monitor.
- Alle knopdrukken zijn correct gedetecteerd.
Code Uitleg
Bekijk de regel-voor-regel uitleg in de commentaarregels van de broncode!
Meer Taken Toevoegen
De onderstaande Arduino Nano code doet het volgende:
- Laat twee LEDs knipperen met verschillende intervallen.
- Controleert de status van de knop.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Uitbreidbaarheid
Deze methode maakt het mogelijk dat de Arduino Nano meerdere taken gelijktijdig uitvoert zonder dat de ene taak de voortgang van de andere blokkeert. Bijvoorbeeld, het versturen van een verzoek naar het internet en wachten op een antwoord, terwijl tegelijkertijd LED-indicatoren knipperen en een annuleerknop wordt gemonitord.