INHOUDSOPGAWE:
- Stap 1: Pulse Width Modulation
- Stap 2: LED en weerstand
- Stap 3: Ongelyke verduistering
- Stap 4: Stap 4: Op en af in een vir (), en teen 'n gelyke koers
Video: RaspberryPi: vervaag 'n LED in en uit: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Die volgende stappe is eksperimente om te illustreer hoe LED's werk. Hulle wys hoe u 'n LED teen 'n gelyke snelheid kan verdof en hoe u dit in en uit kan vervaag.
Jy sal nodig hê:
- RaspberryPi (ek het 'n ouer Pi gebruik, my Pi-3 is in gebruik, maar enige Pi sal werk.)
- Broodbord
- 5 mm rooi LED
- 330 Ω Weerstand (nie krities nie 220-560 Ω sal werk.)
- Aansluitdraad
Die Pi-skoenmaker wat ek van Adafruit gebruik het, is nie nodig nie, maar dit maak broodplank makliker.
WiringPi is 'n stel biblioteke vir die programmering van die RaspberryPi in C. Instruksies vir aflaai, installering en gebruik is geleë op
Volg die instruksies op hierdie bladsy om wiringPi te installeer:
Om 'n lys met bedradingPi -nommers te kry, voer gpio readall in op die opdragreël.
In nuwer weergawes van Raspian is wiringPi standaard geïnstalleer.
Stap 1: Pulse Width Modulation
LED's werk altyd op dieselfde spanning, ongeag die helderheid. Die helderheid word bepaal deur 'n vierkantgolf ossillator en die hoeveelheid tyd wat die spanning hoog is, bepaal die helderheid. Dit word Pulse Width Modulation (PWM) genoem. Dit word beheer deur die wiringPi pwmWrite (pen, n) funksie waar n 'n waarde van 0 tot 255 het. As n = 2 sal die LED twee keer so helder wees as n = 1. Die helderheid verdubbel altyd as n verdubbel. Dus n = 255 sal twee keer so helder wees as n = 128.
Die waarde van n word dikwels uitgedruk as 'n persentasie wat die pligsiklus genoem word. Die foto's toon ossilloskoopspore vir 25, 50 en 75% dienssiklusse.
Stap 2: LED en weerstand
Dit is nie nodig nie, maar as u 'n paar hiervan byderhand het, kan u die boordplank baie makliker maak.
Soldeer 'n weerstand aan die kort LED van 'n LED. Gebruik 'n weerstand van 220-560 Ohm.
Stap 3: Ongelyke verduistering
Bou die stroombaan soos in die diagram. Dit is net soos die kring om 'n LED te knip. Dit gebruik wiringPi pin 1 omdat u 'n PWM -pin moet gebruik. Stel die program saam en voer dit uit. U sal sien dat hoe helderder die LED is, hoe stadiger word dit. Namate dit naby die dowwerste kom, word dit baie vinnig dowwer.
/******************************************************************
* Stel saam: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Uitvoering: sudo./fade1 * * Alle speldnommers is bedradingPi -nommers, tensy anders gespesifiseer. ************************************************* *****************/ #include int main () {wiringPiSetup (); // Opstelling benodig deur wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Merk/spasie af int i; terwyl (1) {vir (i = 255; i> -1; i--) {pwmWrite (1, i); vertraging (10); } vir (i = 0; i <256; i ++) {pwmWrite (1, i); vertraging (10); }}}
Die volgende stap wys hoe u die LED teen 'n konstante tempo kan dim, en in een vir verklaring.
Stap 4: Stap 4: Op en af in een vir (), en teen 'n gelyke koers
Om die LED teen 'n konstante tempo te laat verdof, moet die vertraging () met 'n eksponensiële tempo toeneem, omdat die helfte van die werksiklus altyd die helfte van die helderheid sal lewer.
Die lyn:
int d = (16-i/16)^2;
bereken die omgekeerde vierkant van die helderheid om die lengte van die vertraging te bepaal. Stel hierdie program saam en voer dit uit, en u sal sien dat die LED teen 'n konstante tempo in en uit sal vervaag.
/******************************************************************
* Stel saam: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Uitvoering: sudo./fade2 * * Alle speldnommers is bedradingPi -nommers, tensy anders gespesifiseer. ************************************************* *****************/ #include int main () {wiringPiSetup (); // Opstelling benodig deur wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Merk/spasie -modus terwyl (1) {int i; int x = 1; vir (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // calc omgekeerde vierkant van indeks pwmWrite (1, i); vertraging (d); as (i == 255) x = -1; // skakel rigting op hoogtepunt}}}
Aanbeveel:
Vervaag/beheer LED/helderheid met behulp van potensiometer (veranderlike weerstand) en Arduino Uno: 3 stappe
Vervaag/beheer LED/helderheid Met behulp van potensiometer (veranderlike weerstand) en Arduino Uno: Arduino analoog invoerpen is gekoppel aan die uitgang van potensiometer. Die analoog pen van Arduino ADC (analoog na digitaal omskakelaar) lees dus die uitsetspanning deur die potensiometer. Deur die potensiometerknop te draai, wissel die spanningsuitset en die Arduino re
Vervaag LED met 555 timer: 5 stappe
Fade LED With 555timer: Dit is die Fade LED. Dit is 'n klein stroombaan wat aan en af vervaag as u die kring oop- of toemaak. Dit werk op 'n 555 -timer en 'n 2n222 -transistor. Dit is 'n klein en maklike kring
Vervaag 'n LED in en uit: 3 stappe
Vervaag 'n LED in en uit: Die volgende stappe is eksperimente om te illustreer hoe LED's werk. Hulle illustreer hoe u 'n LED teen 'n gelyke snelheid kan verdof en hoe u dit in en uit kan vervaag. U benodig: Arduino (ek het 'n duo gebruik) Broodbord 5 mm rooi LED 330 Ω Weerstaan
Snoei en vervaag met LP Ripper (in plaas van Audacity, ens.): 6 stappe
Snoei en vervaag met LP Ripper (in plaas van Audacity, ens.): Hierdie instruksie is geskik vir tuisopnames van musikante, komponiste, liedjieskrywers, ens. Sommige herkoderingstelsels vir verbruikers laat ongewenste inklok-/metronoomkliek of
LED, met drukknop begin en vervaag: 5 stappe
LED, met drukknop begin en vervaag: dit beskryf 'n eenvoudige stroombaan waarmee 'n 9 v -battery 'n LED kan aandryf en dan verdof sodra die drukknop losgemaak word. Iets baie soortgelyk is gevra in 'n vraag op die forums iewers. Ek hoop dat dit nuttig is as 'n prototipe