Arduino Nano - Meerdere LED's laten knipperen

Deze handleiding begeleidt u bij het programmeren van de Arduino Nano om meerdere LED's tegelijkertijd te laten knipperen, ieder met een eigen frequentie, zonder gebruik te maken van de delay-functie. Hoewel we drie LED's als voorbeeld gebruiken, kunt u deze opstelling eenvoudig uitbreiden naar meer LED's.

Hardware Vereist

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×LED Kit
1×LED (red)
1×LED Module
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires
1×(Optioneel) DC Power Jack
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over LED

We hebben een specifieke tutorial over LED's. De tutorial bevat gedetailleerde informatie en stap-voor-stap instructies over de hardware pinout, werkingsprincipe, bekabeling naar de Arduino Nano, en Arduino Nano code... Leer er meer over via de volgende link:

Bekabelingsschema

Arduino Nano meerdere LED's bekabelingsschema

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Nano en andere componenten van stroom te voorzien.

Arduino Nano Code - Meerdere LED's laten knipperen

Om meerdere LED's te laten knipperen, kunnen we de functie delay() niet gebruiken. In plaats daarvan gebruiken we de functie millis() en beheren we de tijdstempels.

Het beheren van tijdstempels tijdens het knipperen van meerdere LED's kan lastig zijn voor beginners. Gelukkig vereenvoudigt de ezLED library het proces van meerdere LED's laten knipperen doordat deze intern de tijdstempels afhandelt. Dit scheelt gebruikers het zelf moeten beheren van tijdstempels bij het gebruik van deze bibliotheek. Daarnaast kunt u de code overzichtelijker en compacter maken door gebruik te maken van een array (reeks) van LED's.

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 4 // The Arduino Nano pin connected to LED 1 #define PIN_LED_2 5 // The Arduino Nano pin connected to LED 2 #define PIN_LED_3 6 // The Arduino Nano pin connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led2.blink(200, 800); // 200ms ON, 800ms OFF, blink immediately led3.blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

Snelle Stappen

  • Sluit de componenten aan volgens het gegeven schema.
  • Verbind de Arduino Nano met uw computer via een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het bord Arduino Nano en de bijbehorende COM-poort.
  • Klik op het Libraries icoon in de linkerbalk van de Arduino IDE.
  • Zoek op “ezLED” en vind vervolgens de led bibliotheek van ArduinoGetStarted.
  • Klik op de Installeren knop om de ezLED bibliotheek te installeren.
Arduino Nano led bibliotheek
  • Kopieer de bovenstaande code en plak deze in de Arduino IDE.
  • Compileer en upload de code naar de Arduino Nano door op de Upload knop in de Arduino IDE te klikken.
Hoe upload je code naar Arduino Nano in de Arduino IDE
  • Controleer de status van de LED

Arduino Nano Code - Meerdere LED's laten knipperen met een array

We kunnen bovenstaande code optimaliseren door gebruik te maken van een array van LED's. De onderstaande code gebruikt de array voor het beheren van LED-objecten.

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-nano/arduino-nano-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 4 // The Arduino Nano pin connected to LED 1 #define PIN_LED_2 5 // The Arduino Nano pin connected to LED 2 #define PIN_LED_3 6 // The Arduino Nano pin connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[1].blink(200, 800); // 200ms ON, 800ms OFF, blink immediately ledArray[2].blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

Voor flexibelere knipperfuncties verwijzen wij u naar andere functies van de ezLED library

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.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!