Obsah:
- Krok 1: Pulzná šírková modulácia
- Krok 2: LED a odpor
- Krok 3: Rovnomerné stlmenie
- Krok 4: Krok 4: Hore a dole v jednom pre () a s rovnomernou sadzbou
Video: RaspberryPi: Stmievanie a zhasínanie LED: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Nasledujúce kroky sú experimenty na ilustráciu toho, ako LED diódy fungujú. Ukazujú, ako stlmiť LED diódu rovnomerným spôsobom a ako ju zhasínať.
Budete potrebovať:
- RaspberryPi (Použil som starší Pi, môj Pi-3 sa používa, ale akékoľvek Pi bude fungovať.)
- Breadboard
- 5 mm červená LED
- Rezistor 330 Ω (nie je rozhodujúce, 220–560 Ω bude fungovať.)
- Pripojovací drôt
Pi-cobbler, ktorý som použil od spoločnosti Adafruit, nie je potrebný, ale uľahčuje pečenie.
WiringPi je sada knižníc na programovanie RaspberryPi v jazyku C. Pokyny na sťahovanie, inštaláciu a používanie nájdete na stránke
Pri inštalácii káblov postupujte podľa pokynov na tejto stránke:
Ak chcete získať zoznam čísiel pinov kabeláže, zadajte príkazový riadok gpio readall.
V novších verziách Raspian je predvolene nainštalovaný wiringPi.
Krok 1: Pulzná šírková modulácia
LED diódy vždy bežia na rovnakom napätí bez ohľadu na jas. Jas je určený oscilátorom so štvorcovými vlnami a doba, počas ktorej je napätie vysoké, určuje jas. Toto sa nazýva modulácia šírky impulzu (PWM). Toto je riadené funkciou wiringPi pwmWrite (pin, n), kde n má hodnotu od 0 do 255. Ak n = 2, LED dióda bude dvakrát jasnejšia ako n = 1. Jas sa vždy zdvojnásobí, keď sa n zdvojnásobí. Takže n = 255 bude dvakrát jasnejšie ako n = 128.
Hodnota n je často vyjadrená v percentách nazývaných pracovný cyklus. Obrázky ukazujú stopy osciloskopu pre 25, 50 a 75% pracovné cykly.
Krok 2: LED a odpor
Nie je to nevyhnutné, ale keď ich budete mať k dispozícii niekoľko, môže vám cesta na chleba veľmi uľahčiť.
Spájkujte odpor na krátku LED diódu. Použite odpor 220-560 ohmov.
Krok 3: Rovnomerné stlmenie
Zostavte obvod podľa schémy. Je to ako obvod blikajúci LED. Používa pin 1 wiring, pretože potrebujete použiť pin povolený PWM. Zostavte program a spustite ho. Všimnete si, že čím jasnejšie LED diódy, tým pomalšie stlmia. Ako sa blíži najtmavšie, bude veľmi rýchlo stmievať.
/******************************************************************
* Compile: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Execute: sudo./fade1 * * Všetky čísla pinov sú zapojeniePi čísla, pokiaľ nie je uvedené inak. ********************************************************** ****************/ #include int main () {wiringPiSetup (); // Nastavenie požadované wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark/Space mode int i; pričom (1) {pre (i = 255; i> -1; i--) {pwmWrite (1, i); oneskorenie (10); } pre (i = 0; i <256; i ++) {pwmWrite (1, i); oneskorenie (10); }}}
Ďalší krok ukazuje, ako stlmiť LED diódu konštantnou rýchlosťou, a v jednej pre príkaz.
Krok 4: Krok 4: Hore a dole v jednom pre () a s rovnomernou sadzbou
Aby LED dióda stmievala konštantnou rýchlosťou, oneskorenie () sa musí zvyšovať exponenciálnou rýchlosťou, pretože polovica pracovného cyklu vždy vytvorí polovicu jasu.
Čiara:
int d = (16-i/16)^2;
vypočíta inverzný štvorec jasu, aby určil dĺžku oneskorenia. Zostavte a spustite tento program a uvidíte, že LED dióda bude zhasínať a zhasínať konštantnou rýchlosťou.
/******************************************************************
* Compile: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Execute: sudo./fade2 * * Všetky čísla pinov sú zapojeniaPi čísla, pokiaľ nie je uvedené inak. ****************************************************** ****************/ #include int main () {wiringPiSetup (); // Nastavenie požadované wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Režim Mark/Space while (1) {int i; int x = 1; pre (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // výpočet inverzného štvorca indexu pwmWrite (1, i); oneskorenie (d); ak (i == 255) x = -1; // zmena smeru na vrchole}}}
Odporúča:
Stmievanie/ovládanie LED/jasu pomocou potenciometra (variabilný odpor) a Arduino Uno: 3 kroky
Stmievanie/ovládanie LED/jasu pomocou potenciometra (variabilný odpor) a Arduino Uno: analógový vstupný kolík Arduino je pripojený k výstupu potenciometra. Analógový kolík Arduino ADC (analógovo -digitálny prevodník) teda číta výstupné napätie potenciometrom. Otáčaním gombíka potenciometra sa mení výstupný výkon a Arduino
PWM s ESP32 - Stmievanie LED s PWM na ESP 32 s Arduino IDE: 6 krokov
PWM s ESP32 | Stmievanie LED s PWM na ESP 32 s Arduino IDE: V tomto návode sa pozrieme na to, ako generovať signály PWM s ESP32 pomocou Arduino IDE & PWM sa v zásade používa na generovanie analógového výstupu z akéhokoľvek MCU a tento analógový výstup môže byť čokoľvek medzi 0 V až 3,3 V (v prípade esp32) & od
Projekt 2, Stmievanie LED: 3 kroky
Projekt 2, Stmievanie LED: V tomto projekte sa naučíte ovládať jas LED diódy potenciometrom. V tomto projekte sa dozviete o analogWrite, analogRead a používaní funkcie int. Dúfam, že sa vám bude páčiť a nezabudnite si pozrieť predchádzajúci
Stmievanie a rozjasnenie LED diódy pomocou Arduina: 7 krokov (s obrázkami)
Stmievanie a rozjasnenie LED pomocou Arduina: Skôr ako začnete stavať, musíte získať správne materiály: 1 Doska Arduino - Použil som knoflík Arduino Uno, ale funguje to rovnako. 1 potenciometer - ten môj vyzerá inak ako väčšina, ale fungujú tiež rovnako. 1 Breadboard Niekoľko
Stmievanie a zhasínanie LED: 3 kroky
Stmievanie a zhasínanie LED: Nasledujúce kroky sú experimenty, ktoré ilustrujú, ako LED diódy fungujú. Ilustrujú, ako stlmiť LED diódu rovnomerným spôsobom a ako ju zhasínať. Budete potrebovať: Arduino (použil som duo) Breadboard 5 mm červená LED 330 Ω Odolať