Spisu treści:

Zanikanie i wyłączanie diody LED: 3 kroki
Zanikanie i wyłączanie diody LED: 3 kroki

Wideo: Zanikanie i wyłączanie diody LED: 3 kroki

Wideo: Zanikanie i wyłączanie diody LED: 3 kroki
Wideo: Zigbee LED контроллер C01Z - для диммируемых светильников, обзор и тестирование 2024, Listopad
Anonim
Zanikaj i wyłączaj diodę LED
Zanikaj i wyłączaj diodę LED

Poniższe kroki są eksperymentami ilustrującymi działanie diod LED. Pokazują, jak ściemniać diodę LED w równomiernym tempie oraz jak ją rozjaśniać i ściemniać.

Będziesz potrzebować:

  • Arduino (użyłem duetu)
  • Deska do krojenia chleba
  • 5mm czerwona dioda LED
  • Rezystor 330 Ω (nie krytyczny 330-560 Ω będzie działać.)
  • Drut przyłączeniowy o grubości 22 mm

Części potrzebne do tych eksperymentów znajdują się we wszystkich zestawach startowych Arduino.

Krok 1: Wyjaśnienie modulacji impulsowej

Objaśnienie modulacji impulsowej
Objaśnienie modulacji impulsowej
Objaśnienie modulacji impulsowej
Objaśnienie modulacji impulsowej
Objaśnienie modulacji impulsowej
Objaśnienie modulacji impulsowej

Diody LED zawsze działają pod tym samym napięciem, niezależnie od jasności. Jasność jest określana przez oscylator fali prostokątnej, a czas, w którym napięcie jest wysokie, określa jasność. Nazywa się to modulacją szerokości impulsu (PWM). Jest to kontrolowane przez funkcję Arduino analogWrite(pin, n), gdzie n ma wartość od 0 do 255. AnalogWrite() wyprowadza PWM, a nie prawdziwy analog. Jeśli n=2 dioda LED będzie dwukrotnie jaśniejsza niż n=1. Jasność zawsze podwaja się, gdy n podwaja się. Zatem n=255 będzie dwa razy jaśniejsze niż n=128.

Wartość n jest często wyrażana jako wartość procentowa nazywana cyklem pracy. Zdjęcia przedstawiają ślady oscyloskopu dla cykli pracy 25, 50 i 75%.

Krok 2: Nierównomierne przyciemnianie

Nierównomierne przyciemnianie
Nierównomierne przyciemnianie
Nierównomierne przyciemnianie
Nierównomierne przyciemnianie

Zbuduj obwód jak na schemacie. To jest tak, jak w obwodzie migającym diodą LED. Używa pinu 9, ponieważ musisz użyć pinu obsługującego PWM.

Skopiuj/wklej poniższy szkic do Arduino IDE i uruchom go.

Zauważysz, że im jaśniejsza dioda LED, tym wolniej się ściemnia. Gdy zbliża się do najciemniejszego, będzie się ściemniał bardzo szybko.

pusta konfiguracja()

{ pinMode(9, WYJŚCIE); } void loop() { int pin = 9; for (int i = 255; i > -1; i--) { analogWrite(pin, i); opóźnienie(10); } for (int i = 0; i < 256; i++) { analogWrite(pin, i); opóźnienie(10); } }

}

Następny krok pokazuje, jak ściemniać diodę LED ze stałą szybkością, a w jednym dla instrukcji.

Krok 3: W górę i w dół w jednym For()

Aby dioda LED ściemniała się ze stałą szybkością, opóźnienie() musi rosnąć w tempie wykładniczym, ponieważ połowa cyklu pracy zawsze wytwarza połowę jasności. Moją pierwszą myślą była próba użycia funkcji map(), ale jest ona liniowa.

Linia:

int d = (16-i/16)^2;

oblicza odwrotność kwadratu jasności w celu określenia długości opóźnienia.

Skopiuj/wklej poniższy szkic do Arduino IDE, a zobaczysz, że dioda LED będzie się pojawiać i gasnąć w stałym tempie.

pusta konfiguracja()

{ pinMode(9, WYJŚCIE); } void loop() { int x = 1; int pin = 9; dla (int i = 0; i > -1; i = i + x) { int d = (16-i/16)^2; analogZapis(pin, i); opóźnienie(d); jeśli (i == 255) x = -1; // zmień kierunek na szczycie } }

Zalecana: