Satura rādītājs:

RaspberryPi: gaismas diodes ieslēgšana un izslēgšana: 4 soļi (ar attēliem)
RaspberryPi: gaismas diodes ieslēgšana un izslēgšana: 4 soļi (ar attēliem)

Video: RaspberryPi: gaismas diodes ieslēgšana un izslēgšana: 4 soļi (ar attēliem)

Video: RaspberryPi: gaismas diodes ieslēgšana un izslēgšana: 4 soļi (ar attēliem)
Video: Как использовать 4-канальное реле для управления нагрузкой переменного тока с помощью кода Arduino 2024, Jūlijs
Anonim
RaspberryPi: izgaist un izslēgt LED
RaspberryPi: izgaist un izslēgt LED

Šīs darbības ir eksperimenti, lai ilustrētu, kā darbojas gaismas diodes. Tie parāda, kā vienmērīgā apgaismojumā aptumšot gaismas diodi un kā to izslēgt un izslēgt.

Jums būs nepieciešams:

  • RaspberryPi (es izmantoju vecāku Pi, mans Pi-3 tiek izmantots, bet jebkurš Pi darbosies.)
  • Maizes dēlis
  • 5 mm sarkana gaismas diode
  • 330 Ω rezistors (nav kritiski 220-560 Ω.)
  • Savienojuma vads

Pi-kurpnieks, ko es izmantoju no Adafruit, nav nepieciešams, taču tas atvieglo maizes dēļu klāšanu.

WiringPi ir bibliotēku kopa RaspberryPi programmēšanai C. Norādījumi par lejupielādi, instalēšanu un lietošanu ir pieejami vietnē

Lai instalētu wiringPi, izpildiet šajā lapā sniegtos norādījumus:

Lai iegūtu wiringPi pin numuru sarakstu, komandrindā ievadiet gpio readall.

Jaunākajās Raspian versijās wiringPi ir instalēts pēc noklusējuma.

1. darbība: impulsa platuma modulācija

Pulsa platuma modulācija
Pulsa platuma modulācija
Pulsa platuma modulācija
Pulsa platuma modulācija
Pulsa platuma modulācija
Pulsa platuma modulācija

Gaismas diodes vienmēr darbojas ar tādu pašu spriegumu neatkarīgi no spilgtuma. Spilgtumu nosaka kvadrātveida viļņu oscilators, un laiks, kad spriegums ir augsts, nosaka spilgtumu. To sauc par impulsa platuma modulāciju (PWM). To kontrolē funkcija wiringPi pwmWrite (pin, n), kur n vērtība ir no 0 līdz 255. Ja n = 2, gaismas diode būs divreiz spožāka nekā n = 1. Spilgtums vienmēr dubultojas, kad n dubultojas. Tātad n = 255 būs divreiz spilgtāks nekā n = 128.

N vērtību bieži izsaka procentos, ko sauc par darba ciklu. Attēlos redzamas osciloskopa pēdas 25, 50 un 75% darba cikliem.

2. solis: LED un rezistors

LED un rezistors
LED un rezistors

Tas nav nepieciešams, taču, ja ir pieejami daži no tiem, var ievērojami atvieglot riteņbraukšanu.

Lodējiet rezistoru gaismas diodes īsajā vadībā. Izmantojiet 220-560 omu rezistoru.

3. darbība: vienmērīga aptumšošana

Vienmērīga aptumšošana
Vienmērīga aptumšošana

Izveidojiet ķēdi, kā parādīts diagrammā. Tas ir tāpat kā ķēde gaismas diodes mirgošanai. Tas izmanto wiringPi 1. tapu, jo jums ir jāizmanto PWM iesprausta tapa. Apkopojiet programmu un palaidiet to. Jūs pamanīsit, ka, jo spožāka ir gaismas diode, jo lēnāk tā aptumšojas. Tuvojoties vājākajam, tas ļoti ātri kļūs blāvāks.

/******************************************************************

* Kompilēt: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Izpildīt: sudo./fade1 * * Visi pin numuri ir vadiPi numuri, ja nav norādīts citādi. ************************************************* ****************/ #include int main () {wiringPiSetup (); // Iestatīšana nepieciešama, izmantojot wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Atzīmēt/atstarpes režīms int i; kamēr (1) {par (i = 255; i> -1; i--) {pwmWrite (1, i); kavēšanās (10); } par (i = 0; i <256; i ++) {pwmWrite (1, i); kavēšanās (10); }}}

Nākamais solis parāda, kā aptumšot gaismas diodi nemainīgā ātrumā, un vienā paziņojumā.

4. darbība: 4. darbība: augšup un lejup vienā vietā () un vienmērīgā ātrumā

Lai gaismas diode kļūtu nemainīga, aizturei () jāpalielinās ar eksponenciālu ātrumu, jo puse no darba cikla vienmēr radīs pusi no spilgtuma.

Līnija:

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

aprēķina spilgtuma apgriezto kvadrātu, lai noteiktu aiztures ilgumu. Apkopojiet un palaidiet šo programmu, un jūs redzēsit, ka gaismas diode izgaisīs un izdzisīs nemainīgā ātrumā.

/******************************************************************

* Kompilēt: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Izpildīt: sudo./fade2 * * Visi pin numuri ir vadiPi numuri, ja nav norādīts citādi. ************************************************* ****************/ #include int main () {wiringPiSetup (); // Iestatīšana nepieciešama, izmantojot wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Atzīmēt/atstarpes režīms, kamēr (1) {int i; int x = 1; par (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // aprēķināt indeksa pwmWrite apgriezto kvadrātu (1, i); kavēšanās (d); ja (i == 255) x = -1; // pārslēgt virzienu maksimumā}}}

Ieteicams: