Talaan ng mga Nilalaman:

RaspberryPi: Fade isang LED in and Out: 4 Hakbang (na may Mga Larawan)
RaspberryPi: Fade isang LED in and Out: 4 Hakbang (na may Mga Larawan)

Video: RaspberryPi: Fade isang LED in and Out: 4 Hakbang (na may Mga Larawan)

Video: RaspberryPi: Fade isang LED in and Out: 4 Hakbang (na may Mga Larawan)
Video: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, Hulyo
Anonim
RaspberryPi: Fade isang LED in at Out
RaspberryPi: Fade isang LED in at Out

Ang mga sumusunod na hakbang ay mga eksperimento upang ilarawan kung paano gumagana ang mga LED. Ipinapakita nila kung paano malabo ang isang LED sa pantay na rate at kung paano ito fade in at out.

Kakailanganin mong:

  • RaspberryPi (Gumamit ako ng mas matandang Pi, ginagamit ang aking Pi-3, ngunit ang anumang Pi ay gagana.)
  • Breadboard
  • 5 mm pulang LED
  • 330 Ω Resistor (Hindi gagana ang kritikal na 220-560 Ω.)
  • Hookup Wire

Ang Pi-cobbler na ginamit ko mula sa Adafruit ay hindi kinakailangan, ngunit ginagawang mas madali ang breadboarding.

Ang CablePi ay isang hanay ng mga aklatan para sa pagprogram ng RaspberryPi sa C. Ang mga tagubilin para sa pag-download, pag-install at paggamit ay matatagpuan sa

Upang mag-install ng mga kablePi sundin ang mga tagubilin sa pahinang ito:

Upang makakuha ng isang listahan ng mga numero ng mga wirePi pin ipasok ang gpio readall sa linya ng utos.

Sa mas bagong mga bersyon ng Raspian wiringPi ay na-install bilang default.

Hakbang 1: Pulso Width Modulation

Pulse Width Modulation
Pulse Width Modulation
Pulse Width Modulation
Pulse Width Modulation
Pulse Width Modulation
Pulse Width Modulation

Palaging tumatakbo ang mga LED sa parehong boltahe anuman ang tingkad. Ang liwanag ay natutukoy ng isang square oscillator ng alon at ang dami ng oras na mataas ang boltahe ay tumutukoy sa ningning. Tinatawag itong Pulse Width Modulation (PWM). Kinokontrol ito ng pag-andar ng mga kablePi pwmWrite (pin, n) kung saan ang n ay may halaga mula 0 hanggang 255. Kung n = 2 ang LED ay magiging dalawang beses na mas maliwanag kaysa n = 1. Palaging dumoble ang ningning kapag n doble. Kaya n = 255 ay magiging dalawang beses na mas maliwanag kaysa n = 128.

Ang halaga ng n ay madalas na ipinahayag bilang isang porsyento na tinatawag na cycle ng tungkulin. Ipinapakita ng mga larawan ang mga bakas ng oscilloscope para sa 25, 50 at 75% na mga cycle ng tungkulin.

Hakbang 2: LED at Resistor

LED at Resistor
LED at Resistor

Hindi ito kinakailangan, ngunit ang pagkakaroon ng ilan sa mga madaling gamiting ito ay maaaring gawing mas madali ang breadboarding.

Maghinang ng isang risistor sa maikling humantong ng isang LED. Gumamit ng isang resistor ng 220-560 Ohm.

Hakbang 3: Un-even Dimming

Un-even Dimming
Un-even Dimming

Buuin ang circuit tulad ng sa diagram. Ito ay tulad ng circuit upang kumurap ng isang LED. Gumagamit ito ng mga wirePi pin 1 dahil kailangan mong gumamit ng pin na pinagana ang PWM. Tipunin ang programa at patakbuhin ito. Mapapansin mo na ang mas maliwanag na LED ay mas mabagal na lumabo. Habang papalapit sa pinakamadilim ito ay makakakuha ng sobrang dimmer.

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

* Compile: gcc -o fade1 -Wall -I / usr / local / isama -L / usr / local / lib * fade1.c -lwiringPi * * Pagpapatupad: sudo./fade1 * * Ang lahat ng mga numero ng pin ay mga numero ng kablePi maliban kung tinukoy. ***** ***** // Ang pag-setup ay kinakailangan ng mga kablePi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark / Space mode int i; habang (1) {para sa (i = 255; i> -1; i--) {pwmWrite (1, i); antala (10); } para sa (i = 0; i <256; i ++) {pwmWrite (1, i); antala (10); }}}

Ipinapakita ng susunod na hakbang kung paano madilim ang LED sa isang pare-pareho na rate, at sa isa para sa pahayag.

Hakbang 4: Hakbang 4: Pataas at Pababa sa Isa Para sa (), at sa isang Even Rate

Para sa LED na lumabo sa isang pare-pareho na rate ang pagkaantala () ay dapat na tumaas sa isang exponential rate dahil ang kalahati ng duty cycle ay palaging makakagawa ng kalahati ng ningning.

Ang linya:

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

kinakalkula ang kabaligtaran parisukat ng ningning upang matukoy ang haba ng pagkaantala. Compile at patakbuhin ang program na ito at makikita mo na ang LED ay fade in at out sa isang pare-pareho na rate.

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

* Compile: gcc -o fade1 -Wall -I / usr / local / isama -L / usr / local / lib * fade2.c -lwiringPi * * Pagpapatupad: sudo./fade2 * * Ang lahat ng mga numero ng pin ay mga numero ng kablePi maliban kung tinukoy. ***** ***** // Ang pag-setup ay kinakailangan ng mga kablePi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Mark / Space mode habang (1) {int i; int x = 1; para sa (i = 0; i> -1; i = i + x) {int d = (16-i / 16) ^ 2; // calc inverse square ng index pwmWrite (1, i); antala (d); kung (i == 255) x = -1; // switch switch sa rurok}}}

Inirerekumendang: