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 za () i ravnomjernom brzinom
Video: RaspberryPi: Ugasite LED ulaz i izlaz: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Sljedeći koraci su eksperimenti koji ilustriraju način rada LED dioda. Oni pokazuju kako jednakomjerno zatamniti LED diodu i kako je ugasiti i ugasiti.
Trebat će vam:
- RaspberryPi (koristio sam stariji Pi, moj Pi-3 je u upotrebi, ali bilo koji Pi će raditi.)
- Oglasna ploča
- 5 mm crvena LED dioda
- Otpornik od 330 Ω (nije kritično 220-560 Ω će raditi.)
- Priključna žica
Pi-cobbler koji sam koristio iz tvrtke Adafruit nije potreban, ali olakšava izradu matičnih ploča.
WiringPi je skup knjižnica za programiranje RaspberryPi u C. Upute za preuzimanje, instaliranje i korištenje nalaze se na
Za instaliranje ožičenjaPi slijedite upute na ovoj stranici:
Da biste dobili popis ožičenjaPi brojevi PIN -ova unesite gpio readall u naredbeni redak.
U novijim verzijama Raspian wiringPi je prema zadanim postavkama instaliran.
Korak 1: Modulacija širine impulsa
LED diode uvijek rade pod istim naponom bez obzira na svjetlinu. Svjetlina je određena oscilatorom pravokutnog vala, a vrijeme tijekom kojeg je napon visok određuje svjetlinu. To se naziva Pulse Width Modulation (PWM). To se kontrolira pomoću funkcije wiringPi pwmWrite (pin, n) gdje n ima vrijednost od 0 do 255. Ako je n = 2, LED će biti dvaput jača od n = 1. Svjetlina se uvijek udvostručuje kad 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.
Lemite otpornik na kratki LED diode. Koristite otpornik 220-560 Ohm.
Korak 3: Neujednačeno zatamnjivanje
Izgradite krug kao na dijagramu. Ovo je poput kruga 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, postat će sve slabiji vrlo brzo.
/******************************************************************
* Sastavi: 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; dok (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 za () i ravnomjernom brzinom
Da bi LED dioda stakla konstantnom brzinom, kašnjenje () se mora povećavati eksponencijalno jer će pola radnog ciklusa uvijek proizvoditi polovicu svjetline.
Crta:
int d = (16-i/16)^2;
izračunava obrnuti kvadrat svjetline kako bi odredio duljinu 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čunati inverzni kvadrat indeksa pwmWrite (1, i); odgoda (d); ako je (i == 255) x = -1; // prebacivanje smjera na vrhuncu}}}
Preporučeni:
Sustav Ambilight za svaki ulaz spojen na vaš televizor. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019.): 12 koraka (sa slikama)
Sustav Ambilight za svaki ulaz spojen na vaš televizor. WS2812B Arduino UNO Raspberry Pi HDMI (ažurirano 12.2019): Oduvijek sam želio dodati ambijentalnost svom televizoru. Izgleda super! Napokon jesam i nisam se razočarao! Vidio sam mnogo video zapisa i mnogo vodiča o stvaranju sustava Ambilight za vaš televizor, ali nikada nisam pronašao potpuni vodič za moju točnu djecu
ESP32 kapacitivni dodirni ulaz pomoću "metalnih utikača za rupe" za gumbe: 5 koraka (sa slikama)
ESP32 kapacitivni dodirni ulaz pomoću "metalnih utikača za rupe" za gumbe: Dok sam dovršavao odluke o dizajnu za nadolazeći projekt temeljen na ESP32 WiFi Kit 32 koji zahtijeva unos s tri gumba, jedan je uočljiv problem bio što WiFi Kit 32 nema niti jedno mehaničko dugme, ipak sama tri mehanička gumba, 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 zatamniti LED jednakomjernom brzinom i kako ga ugasiti i ugasiti. Trebat će vam: Arduino (koristio sam duo) Oglasna ploča 5 mm crvena LED 330 Ω Odoljeti
Tfcd 3D praćenje kretanja kroz kapacitivno osjetilo i LED izlaz: 6 koraka (sa slikama)
Tfcd 3D praćenje kretanja kroz kapacitivno sensing i LED izlaz: U ovoj uputi 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 mijenjati
Ugasite svjetlo iz kreveta: 6 koraka
Ugasi svjetlo iz kreveta: Mama me voli buditi 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