Turinys:

„RaspberryPi“: šviesos diodo įjungimas ir išjungimas: 4 žingsniai (su nuotraukomis)
„RaspberryPi“: šviesos diodo įjungimas ir išjungimas: 4 žingsniai (su nuotraukomis)

Video: „RaspberryPi“: šviesos diodo įjungimas ir išjungimas: 4 žingsniai (su nuotraukomis)

Video: „RaspberryPi“: šviesos diodo įjungimas ir išjungimas: 4 žingsniai (su nuotraukomis)
Video: Extreme Raspberry PI 4 RGB Lights and Cooling #raspberrypi #futuretech #airevolution 2024, Lapkritis
Anonim
„RaspberryPi“: išjunkite ir išjunkite šviesos diodą
„RaspberryPi“: išjunkite ir išjunkite šviesos diodą

Šie veiksmai yra eksperimentai, parodantys, kaip veikia šviesos diodai. Jie parodo, kaip tolygiu greičiu pritemdyti šviesos diodą ir kaip jį užgesinti ir užgesinti.

Jums reikės:

  • „RaspberryPi“(naudojau senesnį „Pi“, mano „Pi-3“naudojamas, bet bet kuris „Pi“veiks).
  • Bandomoji Lenta
  • 5 mm raudonas šviesos diodas
  • 330 Ω rezistorius (ne kritinis 220-560 Ω veiks.)
  • Prijungimo viela

„Pi-cobbler“, kurį naudojau iš „Adafruit“, nėra būtinas, tačiau tai palengvina maitinimą duona.

„WiringPi“yra bibliotekų rinkinys, skirtas programuoti „RaspberryPi in C“. Atsisiuntimo, diegimo ir naudojimo instrukcijos pateikiamos adresu

Norėdami įdiegti „wiringPi“, vadovaukitės šiame puslapyje pateiktomis instrukcijomis:

Norėdami gauti „wiringPi“PIN kodų sąrašą, komandų eilutėje įveskite „gpio readall“.

Naujesnėse „Raspian“versijose „wiringPi“įdiegta pagal numatytuosius nustatymus.

1 žingsnis: pulso pločio moduliavimas

Impulsų pločio moduliavimas
Impulsų pločio moduliavimas
Impulsų pločio moduliavimas
Impulsų pločio moduliavimas
Impulsų pločio moduliavimas
Impulsų pločio moduliavimas

Šviesos diodai visada veikia ta pačia įtampa, nepriklausomai nuo ryškumo. Ryškumą lemia kvadratinių bangų osciliatorius, o laikas, per kurį įtampa yra didelė, lemia ryškumą. Tai vadinama impulso pločio moduliacija (PWM). Tai valdo wiringPi pwmWrite (kaištis, n) funkcija, kur n turi reikšmę nuo 0 iki 255. Jei n = 2, šviesos diodas bus dvigubai ryškesnis nei n = 1. Ryškumas visada padvigubėja, kai n padvigubėja. Taigi n = 255 bus dvigubai ryškesnis nei n = 128.

N vertė dažnai išreiškiama procentais, vadinamais darbo ciklu. Nuotraukose pavaizduoti osciloskopo pėdsakai 25, 50 ir 75% darbo ciklams.

2 žingsnis: šviesos diodas ir rezistorius

LED ir rezistorius
LED ir rezistorius

Tai nėra būtina, tačiau turėdami kelis iš jų po ranka, galite daug lengviau naudotis duonos lenta.

Lituokite rezistorių prie trumpo šviesos diodo šviesos diodo. Naudokite 220-560 omų rezistorių.

3 žingsnis: tolygus pritemdymas

Net ir pritemdymas
Net ir pritemdymas

Sukurkite grandinę, kaip parodyta diagramoje. Tai yra kaip grandinė, kurioje mirksi šviesos diodas. Jis naudoja wiringPi 1 kaištį, nes jums reikia naudoti PWM įgalintą kaištį. Sudarykite programą ir paleiskite ją. Pastebėsite, kad kuo šviesesnis šviesos diodas, tuo lėčiau jis pritemsta. Artėjant prie tamsiausio, jis labai greitai pritems.

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

* Kompiliuoti: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Vykdyti: sudo./fade1 * * Visi PIN numeriai yra laidaiPi numeriai, jei nenurodyta kitaip. ************************************************* ****************/ #include int main () {wiringPiSetup (); // Sąranka reikalinga wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark/Space mode int i; o (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); vėlavimas (10); } už (i = 0; i <256; i ++) {pwmWrite (1, i); vėlavimas (10); }}}

Kitas žingsnis parodo, kaip pritemdyti šviesos diodą pastoviu greičiu, ir viename teiginyje.

4 veiksmas: 4 veiksmas: aukštyn ir žemyn vienu už () ir tolygiu greičiu

Kad šviesos diodas blėstų pastoviu greičiu, vėlavimas () turi padidėti eksponentiniu greičiu, nes pusė darbo ciklo visada sukuria pusę ryškumo.

Linija:

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

apskaičiuoja atvirkštinį ryškumo kvadratą, kad nustatytų delsos ilgį. Sudarykite ir paleiskite šią programą ir pamatysite, kad šviesos diodas užges ir išnyks pastoviu greičiu.

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

* Kompiliuoti: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Vykdyti: sudo./fade2 * * Visi PIN numeriai yra laidaiPi numeriai, jei nenurodyta kitaip. ************************************************* ****************/ #include int main () {wiringPiSetup (); // Sąranka reikalinga wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Žymėjimo/tarpo režimas, kai (1) {int i; int x = 1; (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // apskaičiuoti atvirkštinį indekso pwmWrite kvadratą (1, i); delsimas (d); jei (i == 255) x = -1; // perjungti kryptį piko metu}}}

Rekomenduojamas: