Spisu treści:
- Krok 1: Modulacja szerokości impulsu
- Krok 2: LED i rezystor
- Krok 3: Nierównomierne przyciemnianie
- Krok 4: Krok 4: W górę iw dół w jednym For() i w równym tempie
Wideo: RaspberryPi: Zanikanie i wyłączanie diody LED: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Poniższe kroki są eksperymentami ilustrującymi działanie diod LED. Pokazują, jak przyciemniać diodę LED w równomiernym tempie oraz jak ją rozjaśniać i ściemniać.
Będziesz potrzebować:
- RaspberryPi (użyłem starszego Pi, moje Pi-3 jest w użyciu, ale każde Pi będzie działać.)
- Deska do krojenia chleba
- 5mm czerwona dioda LED
- Rezystor 330 Ω (Nie krytyczny 220-560 Ω będzie działać.)
- Podłączyć przewód
Pi-cobbler, którego użyłem od Adafruit nie jest konieczny, ale ułatwia robienie chleba.
WiringPi to zestaw bibliotek do programowania RaspberryPi w C. Instrukcja do pobrania, instalacji i użytkowania znajduje się na stronie
Aby zainstalować okablowaniePi postępuj zgodnie z instrukcjami na tej stronie:
Aby uzyskać listę numerów pinów okablowaniaPi, wpisz gpio readall w wierszu poleceń.
W nowszych wersjach okablowania Raspian Pi jest instalowane domyślnie.
Krok 1: Modulacja szerokości impulsu
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ę wirePi pwmWrite(pin, n), gdzie n ma wartość od 0 do 255. Jeśli n=2 dioda będzie świecić dwukrotnie jaśniej 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: LED i rezystor
Nie jest to konieczne, ale posiadanie kilku z nich może znacznie ułatwić pracę nad płytami.
Przylutuj rezystor do krótkiej diody LED. Użyj rezystora 220-560 Ohm.
Krok 3: Nierównomierne przyciemnianie
Zbuduj obwód jak na schemacie. To jest tak, jak w obwodzie migającym diodą LED. Wykorzystuje pin 1 okablowaniaPi, ponieważ musisz użyć pinu obsługującego PWM. Skompiluj program 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.
/******************************************************************
* Kompiluj: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Wykonaj: sudo./fade1 * * Wszystkie numery pinów są numerami wirePi, chyba że określono inaczej. ************************************************** ****************/ #include int main() { wirePiSetup(); // Konfiguracja wymagana przez okablowaniePi pinMode (1, PWM_OUTPUT); // pwmSetMode(PWM_MODE_MS); // Tryb znaku/spacji int i; while(1) { for (i = 255; i > -1; i--) { pwmWrite(1, i); opóźnienie(10); } dla (i = 0; i < 256; i++) { pwmWrite(1, i); opóźnienie(10); } } }
Następny krok pokazuje, jak ściemniać diodę LED ze stałą szybkością, a w jednym dla instrukcji.
Krok 4: Krok 4: W górę iw dół w jednym For() i w równym tempie
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.
Linia:
int d = (16-i/16)^2;
oblicza odwrotność kwadratu jasności w celu określenia długości opóźnienia. Skompiluj i uruchom ten program, a zobaczysz, że dioda LED będzie się pojawiać i gasnąć w stałym tempie.
/******************************************************************
* Kompiluj: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Wykonaj: sudo./fade2 * * Wszystkie piny są numerami wirePi, chyba że określono inaczej. ************************************************** ****************/ #include int main() { wirePiSetup(); // Konfiguracja wymagana przez okablowaniePi pinMode (1, PWM_OUTPUT); // pwmSetMode(PWM_MODE_MS); // Tryb znakowania/spacji while(1) { int i; int x = 1; dla (i = 0; i > -1; i = i + x) { int d = (16-i/16)^2; // oblicz odwrotny kwadrat indeksu pwmWrite(1, i); opóźnienie(d); jeśli (i == 255) x = -1; // zmiana kierunku na szczycie } } }
Zalecana:
Diody LED Reflektor DIY W/AC (+ diody LED EFFICIENCY VS DC): 21 kroków (ze zdjęciami)
Diody LED DIY FLOODLIGHT W/AC (+ diody LED EFFICIENCY VS DC): W tym instruktażowym / wideo zrobię reflektor z wyjątkowo tanimi chipami LED AC bez sterowników. Czy są dobre? A może są to kompletne śmieci? Aby na to odpowiedzieć, dokonam pełnego porównania ze wszystkimi wykonanymi przeze mnie lampkami DIY. Jak zwykle za tanio
Zanikanie/kontrola diody/jasności za pomocą potencjometru (rezystora zmiennego) i Arduino Uno: 3 kroki
Zanikanie/kontrola diody/jasności za pomocą potencjometru (rezystora zmiennego) i Arduino Uno: analogowy pin wejściowy Arduino jest podłączony do wyjścia potencjometru. Tak więc pin analogowy Arduino ADC (konwerter analogowo-cyfrowy) odczytuje napięcie wyjściowe przez potencjometr. Obracanie pokrętłem potencjometru zmienia napięcie wyjściowe i Arduino re
Włączanie/wyłączanie Raspberry Pi za pomocą dowolnego pilota: 3 kroki (ze zdjęciami)
Włączanie/wyłączanie Raspberry Pi za pomocą dowolnego pilota: sterowanie zasilaniem Raspberry Pi za pomocą pilota na podczerwień
Zanikanie i wyłączanie diody LED: 3 kroki
Zanikanie i zanikanie diody LED: Poniższe kroki są eksperymentami ilustrującymi działanie diod LED. Pokazują, jak ściemniać diodę LED w równym tempie oraz jak ją rozjaśniać i ściemniać. Potrzebne będą: Arduino (ja używałem duetu) Breadboard 5 mm czerwona dioda LED 330 Ω Oprzeć się
Automatyczne zdalne włączanie/wyłączanie za pomocą gniazda MIC w kamerze / przekaźnik półprzewodnikowy niskiego napięcia: 4 kroki (ze zdjęciami)
Automatyczne zdalne włączanie/wyłączanie za pomocą gniazda MIC w kamerze / przekaźnik półprzewodnikowy niskiego napięcia: Przegląd: Użyliśmy gniazda MIC kamery do wykrywania, czy kamera jest włączona. Zbudowaliśmy niskonapięciowy przekaźnik półprzewodnikowy do wykrywania gniazda MIC i automatycznego włączania i wyłączania zdalnego urządzenia w tym samym czasie, co kamera. Półprzewodnikowy