Tartalomjegyzék:

RaspberryPi: A LED be- és kikapcsolása: 4 lépés (képekkel)
RaspberryPi: A LED be- és kikapcsolása: 4 lépés (képekkel)

Videó: RaspberryPi: A LED be- és kikapcsolása: 4 lépés (képekkel)

Videó: RaspberryPi: A LED be- és kikapcsolása: 4 lépés (képekkel)
Videó: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Július
Anonim
RaspberryPi: Fade LED ki -be
RaspberryPi: Fade LED ki -be

A következő lépések kísérletek a LED -ek működésének szemléltetésére. Megmutatják, hogyan lehet tompítani a LED -et egyenletes arányban, és hogyan lehet elhalványítani.

Szükséged lesz:

  • RaspberryPi (régebbi Pi-t használtam, a Pi-3-asom használatban van, de bármelyik Pi működni fog.)
  • Kenyeretábla
  • 5 mm -es piros LED
  • 330 Ω ellenállás (nem kritikus, 220-560 Ω működik.)
  • Csatlakozó vezeték

Az Adafruit-ból használt Pi-cobbler nem szükséges, de megkönnyíti a kenyérsütést.

A WiringPi könyvtárkészlet a RaspberryPi programozásához C -ben. A letöltésre, telepítésre és használatra vonatkozó utasítások a https://www.wiringpi.com/ címen találhatók.

A wiringPi telepítéséhez kövesse az ezen az oldalon található utasításokat:

A wiringPi pin számok listájának megtekintéséhez írja be a gpio readall parancsot a parancssorba.

A Raspian újabb verzióiban a wiringPi alapértelmezés szerint telepítve van.

1. lépés: Impulzusszélesség -moduláció

Impulzus szélesség moduláció
Impulzus szélesség moduláció
Impulzus szélesség moduláció
Impulzus szélesség moduláció
Impulzus szélesség moduláció
Impulzus szélesség moduláció

A LED -ek a fényerőtől függetlenül mindig azonos feszültséggel működnek. A fényerőt négyszöghullámú oszcillátor határozza meg, és a feszültség magas ideje határozza meg a fényerőt. Ezt impulzusszélesség -modulációnak (PWM) hívják. Ezt a wiringPi pwmWrite (pin, n) függvény vezérli, ahol n értéke 0 és 255 között van. Ha n = 2, a LED kétszer olyan fényes lesz, mint n = 1. A fényerő mindig megduplázódik, ha n megduplázódik. Tehát n = 255 kétszer világosabb lesz, mint n = 128.

Az n értékét gyakran százalékos arányban fejezik ki, amelyet a munkaciklusnak neveznek. A képeken oszcilloszkóp nyomai láthatók 25, 50 és 75% -os munkaciklusokra.

2. lépés: LED és ellenállás

LED és ellenállás
LED és ellenállás

Ez nem szükséges, de ha ezek közül néhány kéznél van, sokkal könnyebbé teheti a kenyérpadlást.

Forrasztjon ellenállást a LED rövid ledjéhez. Használjon 220-560 ohmos ellenállást.

3. lépés: Egyenletes tompítás

Egyenletes tompítás
Egyenletes tompítás

Építse fel az áramkört az ábrán látható módon. Ez olyan, mint a LED -ek villogásának áramköre. A wiringPi 1 tűt használja, mert PWM -kompatibilis tűt kell használnia. Fordítsa össze a programot és futtassa. Észre fogja venni, hogy minél világosabb a LED, annál lassabban halványul. Ahogy a homályhoz közeledik, nagyon gyorsan halványulni fog.

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

* Fordítás: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Végrehajtás: sudo./fade1 * * Minden pin szám vezetékes. ************************************************** ****************/ #include int main () {wiringPiSetup (); // A telepítést a wiringPi pinMode (1, PWM_OUTPUT) igényli; // pwmSetMode (PWM_MODE_MS); // Mark/Space mód int i; míg (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); késleltetés (10); } for (i = 0; i <256; i ++) {pwmWrite (1, i); késleltetés (10); }}}

A következő lépés bemutatja, hogyan lehet a LED -et állandó sebességgel tompítani, és egyben a nyilatkozathoz.

4. lépés: 4. lépés: Fel és le egyben (), és egyenletes áron

Ahhoz, hogy a LED állandó sebességgel halványuljon, a késleltetésnek () exponenciális ütemben kell növekednie, mert a működési ciklus fele mindig a fényerő felét eredményezi.

A vonal:

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

kiszámítja a fényerő fordított négyzetét a késleltetés hosszának meghatározásához. Fordítsa le és futtassa ezt a programot, és látni fogja, hogy a LED állandó sebességgel kialszik és kialszik.

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

* Fordítás: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Végrehajtás: sudo./fade2 * * Minden pin szám vezetékes. ************************************************** ****************/ #include int main () {wiringPiSetup (); // A telepítést a wiringPi pinMode (1, PWM_OUTPUT) igényli; // pwmSetMode (PWM_MODE_MS); // Mark/szóköz mód, miközben (1) {int i; int x = 1; mert (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // pwmWrite (1, i) index inverz négyzetének kiszámítása; késleltetés (d); ha (i == 255) x = -1; // irányváltás csúcson}}}

Ajánlott: