Arduino UNO R4 - LED Dimmen/Vervagen

Deze tutorial leert u hoe u de Arduino UNO R4 programmeert om een LED te dimmen en vervagen. In detail leren we:

Arduino UNO R4 Fade LED

Over LED

Pinout

Een LED heeft twee pinnen:

  • Cathode(-) pin: moet aangesloten worden op GND (0V)
  • Anode(+) pin: wordt gebruikt om de LED-status te bedienen
LED Pinout

Hoe Het Werkt

Na het aansluiten van de negatieve kant (cathode) op de aarde (GND):

  • Als u de aarde (GND) aansluit op de positieve kant (anode) van de LED, gaat deze uit.
  • Als u de voeding (VCC) aansluit op de positieve kant (anode) van de LED, gaat deze aan.
  • Als u een Pulse Width Modulation (PWM) signaal stuurt naar de positieve kant (anode) van de LED, kunt u de helderheid veranderen. De PWM-waarde kan tussen 0 en 255 liggen. Een hogere PWM-waarde maakt de LED helderder, en een lagere PWM-waarde maakt deze dimmer.
    • Als de PWM-waarde 0 is, werkt het als aansluiting op GND, dus de LED gaat uit.
    • Als de PWM-waarde 255 is, werkt het als aansluiting op VCC, dus de LED brandt volledig.
    How LED Works

    ※ Notiz:

    Voor de meeste LED's moet u een weerstand aansluiten tussen de positieve terminal (anode) en de voeding (VCC). De weerstandswaarde varieert afhankelijk van de LED-specificaties.

    Arduino UNO R4 - LED dimmen

    We kunnen een LED laten dimmen/vervagen door gebruik te maken van enkele Arduino UNO R4 pinnen die een PWM-signaal kunnen genereren. Sluit eerst de positieve pin (+) van de LED aan op een van de Arduino UNO R4 pinnen. Sluit vervolgens de negatieve pin (-) van de LED aan op de aarde (GND). U kunt dan de gekozen Arduino pin instellen om een PWM-signaal te produceren.

Bedradingsschema

Arduino UNO R4 LED Wiring Diagram

This image is created using Fritzing. Click to enlarge image

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

Hoe Te Programmeren

  • Stel de pinmodus van een Arduino UNO R4 in op digitale uitvoer met de pinMode() functie. Bijvoorbeeld voor pin 9:
pinMode(9, OUTPUT);
  • Pas de LED-helderheid aan door de analogWrite() functie te gebruiken om het juiste PWM-signaal te genereren.
analogWrite(9, brightness);

De helderheid kan variëren van 0 tot 255.

Arduino UNO R4 Code - Dimmen Voorbeeld uit Arduino IDE

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED int brightness = 0; // how bright the LED is int fade_step = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(LED_PIN, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_step; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_step = -fade_step; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Sluit de LED aan op de Arduino Uno R4 volgens het meegeleverde schema.
  • Verbind het Arduino Uno R4 bord met uw computer via een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 bord (bijv. Arduino Uno R4 WiFi) en COM-poort.
  • Kopieer de bovenstaande code en plak deze in de Arduino IDE.
  • Klik op de Upload knop in Arduino IDE om de code naar Arduino UNO R4 te sturen.
Arduino IDE Upload Code
  • Kijk naar hoe helder de LED is.

Code Uitleg

De uitleg staat in de commentaren van de bovenstaande Arduino code.

※ Notiz:

In het bovenstaande voorbeeld gebruiken we een functie genaamd delay() om het licht langzaam helderder en dimmer te maken. Het gebruik van delay() maakt echter dat het licht minder vloeiend verandert en voorkomt dat andere delen van het programma werken terwijl het wacht. In het volgende deel leren we hoe we het licht vloeiend kunnen laten veranderen zonder de rest van het programma te stoppen door de millis() functie te gebruiken.

Hoe LED uit te dimmen in een periode zonder delay() te gebruiken

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

Hoe LED op te dimmen in een periode zonder delay() te gebruiken

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-fade-led */ #define LED_PIN 9 // The Arduino UNO R4 pin connected to the LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long fade_start_ms; // the setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // declare pin 9 to be an output fade_start_ms = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - fade_start_ms; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { fade_start_ms = millis(); // restart fade again } }

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.

Functie Referenties

Reacties

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