Ang LED DIMMER na ito ay isang Arduino Uno batay sa PWM (Pulse Width Modulation) na circuit na binuo upang makakuha ng variable boltahe sa patuloy na boltahe. Ang pamamaraan ng PWM ay ipinaliwanag sa ibaba. Bago kami magsimulang magtayo ng isang 1 Watt LED Dimmer circuit, isaalang-alang muna ang isang simpleng circuit tulad ng ipinakita sa pigura sa ibaba.
Ngayon kung ang switch sa figure ay sarado nang tuloy-tuloy sa loob ng isang tagal ng panahon pagkatapos ay ang bombilya ay patuloy na ON sa oras na iyon. Kung ang switch ay sarado para sa 8ms at binuksan para sa 2ms sa loob ng isang cycle ng 10ms, pagkatapos ang bombilya ay ON lamang sa oras na 8ms. Ngayon ang average na terminal sa kabuuan ng higit sa isang panahon ng 10ms = ON ON / / (ON ON time + OFF OFF time), ito ay tinatawag na duty cycle at 80% (8 / (8 + 2)), kaya ang average ang output voltage ay magiging 80% ng boltahe ng baterya.
Sa pangalawang kaso, ang switch ay sarado para sa 5ms at binuksan para sa 5ms sa loob ng isang panahon ng 10ms, kaya ang average na boltahe ng terminal sa output ay 50% ng boltahe ng baterya. Sabihin kung ang boltahe ng baterya ay 5V at ang cycle ng tungkulin ay 50% at sa gayon ang average na boltahe ng terminal ay 2.5V.
Sa pangatlong kaso ang cycle ng tungkulin ay 20% at ang average na boltahe ng terminal ay 20% ng boltahe ng baterya.
Ngayon kung paano ginagamit ang diskarteng ito sa LED Dimmer? Ipinaliwanag ito sa kasunod na seksyon ng tutorial na ito.
Tulad ng ipinakita sa pigura, ang isang Arduino UNO ay may 6PWM na mga channel, kaya makakakuha kami ng PWM (variable boltahe) sa anuman sa anim na mga pin na ito. Sa kabanatang ito gagamitin namin ang PIN3 bilang output ng PWM.
Mga Kinakailangan na Bahagi
Hardware: ARDUINO UNO, power supply (5v), 100uF capacitor, LED, mga pindutan (dalawang piraso), 10K, risistor (dalawang piraso).
Software: arduino IDE
Circuit Diagram at Paliwanag
Ang circuit ay konektado sa breadboard ayon sa diagram ng circuit. Gayunpaman ang isa ay dapat magbayad ng pansin habang kumokonekta sa mga LED terminal. Bagaman ang mga pindutan ay nagpapakita ng epekto ng pag-bounce sa kasong ito hindi ito nagdudulot ng malalaking pagkakamali kaya't hindi tayo dapat magalala sa oras na ito.
Ang PWM mula sa UNO ay medyo madali. Habang ang pagse-set up ng isang ATMEGA controller para sa signal ng PWM ay hindi madali, kailangan naming tukuyin ang maraming mga rehistro at setting para sa isang tumpak na signal, subalit sa ARDUINO hindi namin kailangang harapin ang lahat ng mga bagay na iyon.
Sa pamamagitan ng default ang lahat ng mga file ng header at rehistro ay paunang natukoy ng ARDUINO IDE, kailangan lang namin silang tawagan at doon lamang magkakaroon kami ng isang output ng PWM sa naaangkop na pin.
Ngayon para sa pagkuha ng isang output ng PWM sa isang naaangkop na pin, kailangan nating magtrabaho sa dalawang bagay,
|
Una kailangan naming piliin ang PWM output pin mula sa anim na mga pin, pagkatapos nito kailangan naming itakda ang pin na iyon bilang output.
Susunod na kailangan namin upang paganahin ang tampok na PWM ng UNO sa pamamagitan ng pagtawag sa pagpapaandar na "analogWrite (pin, halaga)". Narito ang 'pin' ay kumakatawan sa numero ng pin kung saan kailangan namin ng output ng PWM inilalagay namin ito bilang '3'. Kaya sa PIN3 nakakakuha kami ng PWM output. Ang halaga ay ang turn ON duty cycle, sa pagitan ng 0 (laging naka-off) at 255 (laging nasa). Pupunta kami sa pagtaas at pagbawas ng bilang na ito sa pamamagitan ng pagpindot sa pindutan.
Ang paggamit ng mga PWM na pin sa Arduino Uno ay ipinaliwanag sa C code na ibinigay sa ibaba.