Arduino - LED - Knipperen

In deze tutorial leren we hoe u een LED aanstuurt met Arduino, hoe u een Arduino programmeert om de LED aan/uit te zetten, en hoe u de LED laat knipperen.

Hardware benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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

Pinout

Een LED heeft twee pinnen:

  • Cathode(-) pin: moet verbonden worden met GND (0V)
  • Anode(+) pin: wordt gebruikt om de status van de LED te regelen
LED Pinout

Hoe het werkt

Na het aansluiten van de cathode(-) op GND:

  • Als de anode(+) met GND verbonden wordt, is de LED UIT.
  • Als de anode(+) met VCC verbonden wordt, is de LED AAN.
Hoe LED werkt

Daarnaast, wanneer een PWM-signaal naar de anode(+) wordt gestuurd, verandert de helderheid van de LED afhankelijk van de PWM-waarde (hierover meer in detail in deze tutorial)

※ Notiz:

  • Voor de meeste LED's is het nodig om een weerstand te gebruiken. De weerstand kan geplaatst worden tussen de anode(+) en VCC of tussen de cathode(-) en GND. De waarde van de weerstand hangt af van de specificaties van de LED.
  • Sommige LED-types hebben al een ingebouwde weerstand, dan is een externe weerstand niet noodzakelijk.

Arduino - LED

Wanneer een Arduino-pin als digitale uitgang is geconfigureerd, kan de spanning van de pin programmeerbaar op GND of VCC worden gezet.

Door de Arduino-pin via een weerstand aan de anode(+) van de LED te verbinden, kunnen we de status van de LED programmeerbaar aansturen.

Bedradingsschema

We doorlopen twee voorbeelden:

  • Voorbeeldcode om de ingebouwde LED op Arduino/Genuino UNO te bedienen.
  • Aangepaste Arduino-code om een externe LED te bedienen.
Arduino LED Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Hoe te programmeren

  • Stel een Arduino-pin in als digitale uitgang met de functie pinMode(). Bijvoorbeeld pin 9:
pinMode(9, OUTPUT);
  • Zet de pin op GND om de LED uit te schakelen met behulp van digitalWrite():
digitalWrite(9, LOW);
digitalWrite(9, HIGH);

Arduino Code

Snelle stappen

  • Verbind de Arduino met de pc via een USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en de juiste poort
  • Kopieer onderstaande code en plak deze in de Arduino IDE
/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-led-blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
Arduino IDE - Hoe code te uploaden
  • Bekijk het resultaat: De ingebouwde LED schakelt periodiek elke seconde aan en uit.

Code uitleg

Lees de regel-voor-regel uitleg terug in de commentaarregels in de code!

※ Notiz:

De bovenstaande code maakt gebruik van delay(). Deze functie blokkeert de Arduino tijdens de vertragingstijd zodat het geen andere taken kan uitvoeren. Als uw project meerdere taken tegelijkertijd vereist, vermijd dan het blokkeren van Arduino door gebruik te maken van de non-blocking methode voor Arduino.

Arduino code aanpassen

De code aanpassen om een externe LED te bedienen

Snelle stappen

  • Verbind de LED met de Arduino volgens het bovenstaande bedradingsschema.
  • Pas de code aan:
    • Verander LED_BUILTIN naar 9
    • Verander de delay van 1000 ms naar 500 ms
    /* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-led-blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 9 as an output. pinMode(9, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(9, HIGH); // turn the LED on (HIGH is the voltage level) delay(500); // wait for 500 milliseconds digitalWrite(9, LOW); // turn the LED off by making the voltage LOW delay(500); // wait for 500 milliseconds }
    • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
    • Bekijk het resultaat: De LED schakelt sneller aan en uit en knippert dus sneller.

    ※ Notiz:

    Deze tutorial biedt diepgaande kennis om het werkingsprincipe te begrijpen. Voor eenvoudiger gebruik kunt u ook gebruik maken van de Arduino - LED bibliotheek.

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.

Bekijk onze videotutorial voor visuele begeleiding bij dit project! De video biedt extra inzichten...

Daag uzelf uit

  • Verbind de LED met een andere pin van de Arduino en verander de knippertijd.
  • Schakel de LED aan/uit met een knop. Tip: Raadpleeg Arduino - Knop.

Aanvullende kennis

Welke pins op Arduino UNO kunnen als uitgangspin worden gebruikt om een LED te bedienen?
  • Pin 0 t/m pin 13
  • Pin A0 t/m pin A5

※ Notiz:

Per keer kan een pin maar één taak uitvoeren. Als u een pin al gebruikt voor een andere taak (bijvoorbeeld digitale invoer, analoge invoer, PWM, UART...) mag u die pin niet gebruiken als digitale output om een LED te bedienen. Bijvoorbeeld: als u Serial.println() gebruikt, dan mag u pin 0 en 1 niet voor andere doeleinden gebruiken omdat deze pinnen voor Serial communicatie gereserveerd zijn.

Uitbreidbaarheid

Deze tutorial laat zien hoe u de outputpin van Arduino gebruikt om een LED te bedienen. U kunt deze code toepassen om apparaten of zelfs grote machines AAN/UIT te schakelen.

※ Notiz:

Voor apparaten/machines die een hoge voedingsspanning (> 5V) en/of een hoog stroomverbruik hebben, dient u een relais te gebruiken tussen de outputpin en het apparaat/de machine - zie Arduino - Relay.

Functiereferenties

※ 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!