Talaan ng mga Nilalaman:

Maramihang Mga Elektronikong Kandila: 3 Mga Hakbang
Maramihang Mga Elektronikong Kandila: 3 Mga Hakbang

Video: Maramihang Mga Elektronikong Kandila: 3 Mga Hakbang

Video: Maramihang Mga Elektronikong Kandila: 3 Mga Hakbang
Video: Arts 3 Ikatlong Markahan Week 4 |Maramihang Pagtatatak| MELC BASED 2024, Nobyembre
Anonim
Maramihang Mga Elektronikong Kandila
Maramihang Mga Elektronikong Kandila

Ang mga elektronikong kandila ay nai-post nang maraming beses sa mga Instructable kaya bakit ito?

Sa bahay mayroon akong mga maliit na semi-transparent na bahay ng Pasko na may LED pananaw at isang maliit na baterya. Ang ilang mga bahay ay may mga LED na may epekto ng kandila at ang ilan ay may mga LED na nakabukas lang. Ang mga maliliit na baterya ay walang laman na walang laman at dahil nais kong magkaroon ng isang kandila epekto sa lahat ng mga bahay nagpasya akong gawin itong isang proyekto ng PIC. Siyempre maaari mo rin itong gawing isang proyekto ng Arduino.

Kaya't ano ang espesyal sa elektronikong kandila na ito? Ang PIC at Arduino lahat ay mayroong hardware sa Pulse Width Modulation (PWM) na maaaring magamit upang lumikha ng isang epekto ng kandila gamit ang isang LED ngunit sa aking kaso nais kong magkaroon ng 5 independiyenteng mga elektronikong kandila gamit ang isang controller at wala ito, kahit papaano hindi na alam ko off. Ang solusyon na ginamit ko ay upang gawin ang limang independiyenteng mga signal ng PWM na kumpleto sa software.

Hakbang 1: Pulso Width Modulation sa Software

Ang Pulse Width Modulation ay inilarawan nang maraming beses, hal. sa Arduino Artikulo na ito:

Ang PIC at Arduino ay may espesyal na PWM hardware sa board na ginagawang simple upang makabuo ng PWM signal na ito. Kung nais naming gumawa ng isa o higit pang mga signal ng PWM sa software, kailangan namin ng dalawang timer:

  1. Isang timer na ginagamit upang makabuo ng dalas ng PWM
  2. Isang timer na ginagamit upang makabuo ng PWM duty cycle

Ang parehong mga timer ay bumubuo at makagambala kapag nakumpleto at sa gayon ang paghawak ng signal ng PWM ay tapos na ganap na magambala hinimok. Para sa dalas ng PWM Gumagamit ako ng timer 0 ng PIC at hayaan itong umapaw. Sa isang panloob na orasan ng oscillator na 8 MHz at isang prescale na 64 ang formula ay: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Hz o 8, 2 ms. Ang dalas ay dapat na sapat na mataas upang hindi ito makita ng mata ng tao. Ang dalas ng 122 Hz ay paraang sapat para doon. Ang tanging bagay na ginagawa ng gumagambala na timer na ito ay kopyahin ang cycle ng tungkulin para sa isang bagong siklo ng PWM at i-on ang lahat ng mga LED. Ginagawa ito para sa lahat ng 5 LEDs nang nakapag-iisa.

Ang halaga ng timer upang hawakan ang cycle ng tungkulin ng PWM ay nakasalalay sa kung paano namin ginagawa ang epekto ng kandila. Sa aking diskarte ay ginaya ko ang epektong ito sa pamamagitan ng pagdaragdag ng cycle ng tungkulin na may halagang 3 upang madagdagan ang ningning ng LED at mabawasan ito sa halagang 25 upang bawasan ang ningning ng LED. Sa ganitong paraan makakakuha ka ng kandila tulad ng epekto. Dahil gumagamit ako ng isang minimum na halaga ng 3, ang bilang ng mga hakbang upang makontrol ang kumpletong cycle ng tungkulin na may isang byte ay 255/3 = 85. Nangangahulugan ito na ang timer ng cycle ng duty na PWM ay dapat tumakbo na may dalas na 85 beses sa dalas ng PWM frequency timer na kung saan ay 85 * 122 = 10.370 Hz.

Para sa cycle ng tungkulin ng PWM ginagamit ko ang timer 2 ng PIC. Ito ay isang timer na may auto reload at gumagamit ito ng sumusunod na pormula: Panahon = (Reload + 1) * 4 * Tosc * Timer2 prescale na halaga. Sa isang muling pag-load ng 191 at isang prescale na 1 nakukuha namin ang isang panahon ng (191 + 1) * 4 * 1 / 8.000.000 * 1 = 96 sa amin o 10.416 Hz. Ang PWM duty cycle ay nakakagambala sa regular na pagsuri kung ang cycle ng tungkulin ay lumipas at pinapatay ang LED kung saan nakumpleto ang cycle ng tungkulin. Kung hindi naipasa ang siklo ng tungkulin, binabawasan nito ang counter ng cycle ng tungkulin na may 3 at tinatapos ang nakagawiang gawain. Ginagawa ito para sa lahat ng mga LED nang nakapag-iisa. Sa aking kaso ang gumagambala na gawain na ito ay tumatagal ng tungkol sa 25 sa amin at dahil ito ay tinatawag na bawat 96 sa amin, na 26% ng CPU ay ginagamit para sa pamamahala ng PWM duty cycle sa software.

Hakbang 2: Ang Hardware at Kinakailangan na Mga Sangkap

Ang Hardware at Kinakailangan na Mga Sangkap
Ang Hardware at Kinakailangan na Mga Sangkap

Ipinapakita ng diagram ng eskematiko ang pangwakas na resulta. Bagaman kinokontrol ko lamang ang 5 LEDs nang nakapag-iisa, nagdagdag ako ng ika-6 na LED na tumatakbo kasama ang isa sa 5 iba pang mga LED. Dahil ang PIC ay hindi maaaring humimok ng dalawang LEDs sa isang port pin nagdagdag ako ng isang transistor. Ang electronics ay pinakain ng isang 6 volt / 100 mA DC adapter at gumagamit ng isang mababang drop boltahe regulator upang makagawa ng isang matatag na 5 Volt.

Kailangan mo ng mga sumusunod na sangkap para sa proyektong ito:

  • 1 PIC microcontroller 12F615
  • 2 Ceramic capacitor: 2 * 100nF
  • Mga resistorista: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
  • 6 Mga Orange o Dilaw na LED, mataas na ningning
  • 1 BC557 transistor o katumbas
  • 1 Electrolytic capacitor 100 uF / 16 V
  • 1 mababang drop boltahe regulator LP2950Z

Maaari mong itayo ang circuit sa isang breadboard at hindi nangangailangan ng maraming puwang, tulad ng makikita sa larawan.

Hakbang 3: Ang Natitirang Software at Resulta

Ang natitirang bahagi ng software ay ang pangunahing loop. Ang pangunahing loop ay nagdaragdag o nagbabawas ng ningning ng mga LED sa pamamagitan ng pag-aayos ng random na tungkulin. Dahil nagdaragdag lamang kami sa halagang 3 at pagbawas na may halagang 25, dapat nating tiyakin na ang mga pagbawas ay hindi nangyayari nang madalas tulad ng mga pagtaas.

Dahil hindi ako gumamit ng anumang mga aklatan kailangan kong gumawa ng isang random generator gamit ang isang linear register ng shift ng feedback, tingnan ang:

en.wikipedia.org/wiki/Linear-feedback_shif…

Ang epekto ng kandila ay naiimpluwensyahan ng kung gaano kabilis ang PWM duty cycle ay binago kaya't ang pangunahing loop ay gumagamit ng pagkaantala ng halos 10 ms. Maaari mong ayusin ang oras na ito upang baguhin ang epekto ng kandila sa iyong mga pangangailangan.

Ipinapakita ng naka-attach na video ang pangwakas na resulta kung saan gumamit ako ng takip sa LED upang mapagbuti ang epekto.

Ginamit ko ang JAL bilang wika ng programa para sa proyektong ito at ikinabit ang pinagmulang file.

Magkaroon ng kasiyahan sa paggawa ng Makatuturo na ito at inaasahan ang iyong mga reaksyon at resulta.

Inirerekumendang: