5.4.2 Project 1.2 Ademende LED

1. Beschrijving

Een ‘ademende LED’ is een verschijnsel waarbij de helderheid van een LED vloeiend verandert van donker naar helder en weer naar donker, en dit proces continu doorloopt, waardoor de illusie ontstaat dat de LED ‘ademt’. Maar hoe regel je de helderheid van een LED?

Het is logisch om gebruik te maken van PWM. Geef in een tijdseenheid het aantal hoge en lage niveaus weer; hoe meer tijd het hoge niveau inneemt, hoe groter de PWM-waarde en hoe feller de LED.

afbeelding36

We leveren het PWM-uitvoerbibliotheekbestand < analogwrite.h > voor ESP32, daarom kan een eenvoudige instructie analogWrite(); de PWM-uitvoer regelen.

2. Testcode

#include <Arduino.h>
#define led_y 12    // Define LED pin

void setup()
{
  pinMode(led_y, OUTPUT);  // Set pin as output mode
}

void loop()
{
  for(int i = 0; i < 255; i++)  // For loop: increment variable i until it reaches 255
  {
    analogWrite(led_y, i);  // PWM output to control LED brightness
    delay(3);
  }

  for(int i = 255; i > 0; i--)  // For loop: decrement variable i until it reaches 0
  {
    analogWrite(led_y, i);
    delay(3);
  }
}

3. Testresultaat

De LED wordt geleidelijk zwakker en vervolgens helderder, cyclisch, zoals een mens ademt.