Sadržaj:
- Korak 1: Modulacija širine impulsa
- Korak 2: LED i otpornik
- Korak 3: Neujednačeno zatamnjivanje
- Korak 4: Korak 4: Gore i dolje u jednom For () i po jednakoj stopi
Video: RaspberryPi: Ugasite LED ulaz i izlaz: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Sljedeći koraci su eksperimenti koji ilustriraju kako LED diode rade. Oni pokazuju kako zatamniti LED jednakomjernom brzinom i kako ga ugasiti i ugasiti.
Trebat će vam:
- RaspberryPi (koristio sam stariji Pi, moj Pi-3 je u upotrebi, ali bilo koji Pi će raditi.)
- Breadboard
- 5 mm crvena LED dioda
- Otpornik od 330 Ω (Nije kritično 220-560 Ω će raditi.)
- Hookup Wire
Pi-cobbler koji sam koristio iz Adafruit-a nije potreban, ali olakšava izradu matičnih ploča.
WiringPi je skup biblioteka za programiranje RaspberryPi -a u C. Upute za preuzimanje, instaliranje i upotrebu nalaze se na
Za instaliranje ožičenjaPi slijedite upute na ovoj stranici:
Da biste dobili spisak ožičenjaPi brojevi PIN -ova unesite gpio readall u komandnu liniju.
U novijim verzijama Raspian wiringPi je standardno instaliran.
Korak 1: Modulacija širine impulsa
LED diode uvijek rade na istom naponu bez obzira na svjetlinu. Svjetlina je određena oscilatorom kvadratnog vala, a vrijeme koje je visoki napon određuje svjetlinu. To se naziva Pulse Width Modulation (PWM). Ovo se kontrolira pomoću funkcije wiringPi pwmWrite (pin, n) gdje n ima vrijednost od 0 do 255. Ako je n = 2 LED će biti dvostruko jača od n = 1. Svjetlina se uvijek udvostručuje kada se n udvostruči. Tako će n = 255 biti dvostruko svjetlije od n = 128.
Vrijednost n često se izražava kao postotak koji se naziva radni ciklus. Slike prikazuju tragove osciloskopa za 25, 50 i 75% ciklusa rada.
Korak 2: LED i otpornik
To nije potrebno, ali imati nekoliko ovih pri ruci može znatno olakšati izradu matične ploče.
Lemiti otpornik na kratki LED diode. Koristite otpornik 220-560 Ohm.
Korak 3: Neujednačeno zatamnjivanje
Izgradite krug kao na dijagramu. Ovo je isto kao i krug koji treperi LED. Koristi wiringPi pin 1 jer morate koristiti pin s omogućenim PWM -om. Sastavite program i pokrenite ga. Primijetit ćete da je LED svjetlija što je svjetlija sporije slabi. Kako se približava najsvjetlijem, postajat će sve tamniji vrlo brzo.
/******************************************************************
* Kompiliraj: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * Izvrši: sudo./fade1 * * Svi pin brojevi su ožičeni Pi brojevi, osim ako nije drugačije naznačeno. ************************************************** ****************/ #include int main () {wiringPiSetup (); // Postavljanje potrebno wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // način označavanja/razmaka int i; while (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); kašnjenje (10); } za (i = 0; i <256; i ++) {pwmWrite (1, i); kašnjenje (10); }}}
Sljedeći korak pokazuje kako zatamniti LED diodu konstantnom brzinom, au jednom za iskaz.
Korak 4: Korak 4: Gore i dolje u jednom For () i po jednakoj stopi
Da bi LED prigušivao konstantnom brzinom, kašnjenje () se mora povećati eksponencijalnom brzinom jer će pola radnog ciklusa uvijek proizvoditi polovinu svjetline.
Linija:
int d = (16-i/16)^2;
izračunava inverzni kvadrat svjetline kako bi odredio dužinu kašnjenja. Sastavite i pokrenite ovaj program i vidjet ćete da će LED svjetlo nestajati konstantnom brzinom.
/******************************************************************
* Sastavi: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * Izvrši: sudo./fade2 * * Svi pin brojevi su ožičeni Pi brojevi, osim ako nije drugačije naznačeno. ************************************************** ****************/ #include int main () {wiringPiSetup (); // Postavljanje potrebno wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Način označavanja/razmaka while (1) {int i; int x = 1; za (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // izračunaj inverzni kvadrat indeksa pwmWrite (1, i); kašnjenje (d); if (i == 255) x = -1; // prebacivanje smjera na vrhuncu}}}
Preporučuje se:
Sistem Ambilight za svaki ulaz povezan sa vašim televizorom. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019): 12 koraka (sa slikama)
Sistem Ambilight za svaki ulaz povezan sa vašim televizorom. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019): Oduvijek sam želio dodati ambijentalnost svom televizoru. Izgleda super! Konačno jesam i nisam se razočarao! Vidio sam mnogo video zapisa i mnogo vodiča o stvaranju sistema Ambilight za vaš televizor, ali nikada nisam pronašao potpuni vodič za moju tačnu rođenu
ESP32 kapacitivni dodirni ulaz pomoću "metalnih utikača za rupe" za dugmad: 5 koraka (sa slikama)
ESP32 kapacitivni dodirni ulaz pomoću "metalnih utikača za rupe" za tipke: Dok sam dovršavao odluke o dizajnu za nadolazeći projekt zasnovan na ESP32 WiFi Kit 32 koji zahtijeva unos s tri tipke, jedan je uočljiv problem bio to što WiFi Kit 32 nema niti jedno mehaničko dugme, ipak sama tri mehanička dugmeta, f
Ugasite LED ulaz i izlaz: 3 koraka
Ugasite i isključite LED: Sljedeći koraci su eksperimenti koji ilustriraju način rada LED dioda. Oni ilustriraju kako jednakomjerno prigušiti LED diodu i kako je ugasiti. Trebat će vam: Arduino (koristio sam duo) Oglasna ploča 5 mm crvena LED 330 Ω Oduprite se
Tfcd 3D praćenje kretanja kroz kapacitivno otkrivanje i LED izlaz: 6 koraka (sa slikama)
Tfcd 3D praćenje kretanja kroz kapacitivno sensing i LED izlaz: U ovom uputstvu je objašnjeno kako se kretanje ruke može pratiti u 3D prostoru pomoću principa kapacitivnog sensinga. Promjenom udaljenosti između napunjene aluminijske folije i vaše ruke kapacitet kondenzatora će se razlikovati
Ugasite svjetlo iz kreveta: 6 koraka
Ugasi svjetlo iz kreveta: Pa, moja mama voli da me budi ujutro za školu dok sam palio svjetlo, a ja sam se umorio od toga da sam ujutro zaslijepljen i da moram hodati po sobi samo da ugasim svjetlo , pa sam odlučio brzo okrenuti