Talaan ng mga Nilalaman:
- Hakbang 1: Mga Tampok ng Project at Interface
- Hakbang 2: Disenyo ng GreenPAK
- Hakbang 3: UART Receiver
- Hakbang 4: Control Unit
- Hakbang 5: Mga Generator ng CLK at Multiplexer
- Hakbang 6: PWM
- Hakbang 7: Android App
Video: Kinokontrol ng DIY Smart LED Dimmer Sa pamamagitan ng Bluetooth: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Inilalarawan ng Instructable na ito kung paano bumuo ng isang smart digital dimmer. Ang isang dimmer ay isang pangkaraniwang switch ng ilaw na ginagamit sa mga bahay, hotel, at maraming iba pang mga gusali. Ang mga mas matatandang bersyon ng dimmer switch ay manu-manong, at karaniwang isasama ang isang rotary switch (potentiometer) o mga pindutan upang makontrol ang antas ng ilaw. Inilalarawan ng Instructable na ito kung paano bumuo ng isang digital dimmer na may dalawang paraan ng pagkontrol sa light intensity; isang smartphone at pisikal na mga pindutan. Ang dalawang mga mode ay maaaring gumana nang walang putol upang ang gumagamit ay maaaring dagdagan o bawasan ang ningning mula sa parehong isang pindutan at smartphone. Ang proyekto ay ipinatupad gamit ang isang SLG46620V CMIC, HC-06 Bluetooth module, mga push button, at LEDs.
Gagamitin namin ang SLG46620V CMIC dahil nakakatulong itong i-minimize ang mga discrete na bahagi ng proyekto. Ang mga GreenPAK ™ IC ay maliit at mayroong mga sangkap ng multiuse, na nagpapahintulot sa isang taga-disenyo na bawasan ang mga bahagi at magdagdag ng mga bagong tampok. Bilang karagdagan, ang gastos sa proyekto ay pagkatapos ay nabawasan.
Naglalaman din ang SLG46620V ng isang interface ng koneksyon ng SPI, mga bloke ng PWM, FSM, at maraming kapaki-pakinabang na karagdagang mga bloke sa isang maliit na maliit na tilad. Pinapayagan ng mga sangkap na ito ang isang gumagamit na bumuo ng isang praktikal na smart dimmer na maaaring makontrol sa pamamagitan ng isang aparato ng Bluetooth o mga pindutan ng dingding, suportahan ang pinalawak na oras na dimming, at ang pagdaragdag ng mga mapipiling tampok nang hindi gumagamit ng isang microcontroller o mamahaling mga bahagi.
Inilarawan namin sa ibaba ang mga hakbang na kinakailangan upang maunawaan kung paano nai-program ang solusyon upang lumikha ng isang smart LED dimmer na kinokontrol sa pamamagitan ng Bluetooth. Gayunpaman, kung nais mo lamang makuha ang resulta ng pag-program, mag-download ng GreenPAK software upang matingnan ang natapos na GreenPAK Design File. I-plug ang GreenPAK Development Kit sa iyong computer at pindutin ang programa upang lumikha ng matalinong LED dimmer na kinokontrol sa pamamagitan ng Bluetooth.
Hakbang 1: Mga Tampok ng Project at Interface
Mga tampok sa proyekto:
1. Dalawang pamamaraan ng pagkontrol; mobile app at totoong mga pindutan.
2. Makinis na on-off na paglipat para sa ilaw. Mas malusog ito para sa mga mata ng isang mamimili. Nagbibigay din ito ng isang mas marangyang pakiramdam, na nakakaakit sa mga hotel at iba pang mga industriya ng serbisyo.
3. Tampok na mode ng pagtulog. Ito ay magiging isang idinagdag na halaga para sa application na ito. Kapag na-activate ng gumagamit ang mode na ito, ang liwanag na ilaw ay nababawasan nang unti sa 10 minuto. Tumutulong ito sa mga taong nagdurusa sa hindi pagkakatulog. Kapaki-pakinabang din ito para sa mga silid-tulugan ng bata at mga tingiang tindahan (oras ng pagsasara).
Interface ng Proyekto
Ang interface ng proyekto ay may apat na mga pindutan ng push, na ginagamit bilang mga input ng GreenPAK:
ON / OFF: i-ON ang ilaw / OFF (soft-start / stop).
UP: taasan ang antas ng ilaw.
Pababa: bawasan ang antas ng ilaw.
Sleep Mode: sa pamamagitan ng pag-aktibo ng mode ng pagtulog, ang liwanag na ilaw ay nababawasan nang unti sa loob ng 10 minuto. Binibigyan nito ang oras ng gumagamit bago matulog at ginagarantiyahan na ang ilaw ay hindi mananatiling ON buong gabi.
Ang system ay maglalabas ng isang signal ng PWM, na ipapasa sa isang panlabas na LED at tagapagpahiwatig na mode ng pagtulog na mode.
Ang disenyo ng GreenPAK ay binubuo ng 4 pangunahing mga bloke. Ang una ay isang tatanggap ng UART, na tumatanggap ng data mula sa module ng Bluetooth, kumukuha ng mga order, at ipinapadala sa isang control unit. Ang pangalawang bloke ay isang control unit, na tumatanggap ng mga order na nagmumula sa UART receiver o mula sa mga panlabas na pindutan. Nagpapasya ang control unit sa kinakailangang pagkilos (I-ON / OFF, Taasan, bawasan, paganahin ang mode ng pagtulog). Ang yunit na ito ay ipinatupad gamit ang LUTs.
Ang pangatlong bloke ay nagbibigay ng mga generator ng CLK. Sa proyektong ito, ginagamit ang isang counter ng FSM upang makontrol ang PWM. Ang halaga ng FSM ay magbabago (pataas, pababa) alinsunod sa mga order na ibinigay ng 3 frequency (mataas, medium, at mababa). Sa seksyong ito ang tatlong mga frequency ay malilikha at ang kinakailangang CLK ay pumasa sa FSM alinsunod sa kinakailangang order; Sa pag-on / off ng operasyon, ang dalas ng mataas na dalas ay ipinapasa sa FSM sa malambot na pagsisimula / paghinto. Sa panahon ng pagdilim, pumasa ang daluyan ng dalas. Ang mababang dalas ay pumasa sa mode ng pagtulog upang mabawasan ang halagang FSM nang mas mabagal. Pagkatapos, mabagal din ang pagbawas ng ilaw ng ilaw. Ang pang-apat na bloke ay ang unit ng PWM, na bumubuo ng mga pulso sa panlabas na LED.
Hakbang 2: Disenyo ng GreenPAK
Ang pinakamahusay na paraan upang bumuo ng isang dimmer gamit ang GreenPAK ay sa pamamagitan ng paggamit ng 8-bit FSM at isang PWM. Sa SLG46620, naglalaman ang FSM1 ng 8 bit at maaaring magamit sa PWM1 at PWM2. Dapat na konektado ang module ng Bluetooth, na nangangahulugang dapat gamitin ang parallel output ng SPI. Ang SPI parallel output bits 0 hanggang 7 na koneksyon ay naka-muxed sa DCMP1, DMCP2, at LF OSC CLK, OUT1, OUT0 OSC outputs. Nakukuha ng PWM0 ang output nito mula sa FSM0 (16 bits). Ang FSM0 ay hindi hihinto sa 255; tataas ito hanggang sa 16383. Upang limitahan ang counter halaga sa 8 bits isa pang FSM ay idinagdag; Ginagamit ang FSM1 bilang isang pointer upang malaman kung ang counter ay umabot sa 0 o 255. Ginamit ang FSM0 upang makabuo ng pulso ng PWM. Tulad ng mga halaga ng dalawang FSM ay dapat mabago nang sabay upang magkaroon ng parehong halaga, ang disenyo ay nagiging isang medyo kumplikado kung saan sa parehong FSM ay may paunang natukoy, limitadong, mapipiling CLK. Ginagamit ang CNT1 at CNT3 bilang mga tagapamagitan upang maipasa ang CLK sa parehong FSMs.
Ang disenyo ay binubuo ng mga sumusunod na seksyon:
- UART tatanggap
- Control unit
- Mga Generator ng CLK at multiplexer
- PWM
Hakbang 3: UART Receiver
Una, kailangan naming i-set up ang HC06 Bluetooth module. Gumagamit ang HC06 ng UART protocol para sa komunikasyon. Ang UART ay nangangahulugang Universal Asynchronous Receiver / Transmitter. Maaaring i-convert ng UART ang data pabalik-balik sa pagitan ng parallel at serial format. Nagsasama ito ng isang serial sa parallel na receiver at isang parallel sa serial converter na parehong hiwalay na naka-orasan. Ang data na natanggap sa HC06 ay ililipat sa aming GreenPAK aparato. Ang idle na estado para sa Pin 10 ay HIGAS. Ang bawat character na naipadala ay nagsisimula sa isang lohong Mababang pagsisimula ng bit, na sinusundan ng isang nai-configure na bilang ng mga data bits, at isa o higit pang mga lohika HIGH stop bits.
Nagpapadala ang HC06 ng 1 bit ng Start, 8 data bit, at isang STOP bit. Ang default na rate ng baud nito ay 9600. Ipapadala namin ang byte ng data mula sa HC06 patungo sa GreenPAK SLG46620V's SPI block.
Dahil ang bloke ng SPI ay walang pagsisimula o STOP bit control, ang mga bit na iyon ay sa halip ay ginagamit upang paganahin at huwag paganahin ang signal ng orasan ng SPI (SCLK). Kapag ang PIN 10 ay LOW, ang IC ay nakatanggap ng isang simulang bit, kaya ginagamit namin ang PDLY na nahuhulog na detektor ng gilid upang makilala ang simula ng komunikasyon. Ang pagbagsak ng edge na detektor na iyon ay nagbabalik sa DFF0, na nagbibigay-daan sa signal ng SCLK na i-orasan ang bloke ng SPI.
Ang aming baud rate ay 9600 bits bawat segundo, kaya ang aming panahon ng SCLK ay kailangang 1/9600 = 104 µs. Samakatuwid, itinakda namin ang dalas ng OSC sa 2 MHz at ginamit ang CNT0 bilang isang divider ng dalas.
2 MHz - 1 = 0.5 µs
(104 /s / 0.5 µs) - 1 = 207
Samakatuwid, nais namin ang halaga ng counter ng CNT0 na 207. Upang matiyak na ang data ay hindi napalampas, ang isang kalahating orasan ng cycle ng pag-ikot sa SPI na orasan ay idinagdag upang ang bloke ng SPI ay nai-orasan sa tamang oras. Natapos ito sa pamamagitan ng paggamit ng CNT6, 2-bit LUT1, at ang External Clock ng OSC block. Ang output ng CNT6 ay hindi magiging mataas hanggang 52 afters pagkatapos na mai-orasan ang DFF0, na eksaktong kalahati ng aming panahon ng SCLK na 104 µs. Kapag naging mataas ito, papayagan ng 2-bit na LUT1 AT gate ang signal ng 2 MHz OSC na pumasa sa EXT. Pag-input ng CLK0, na ang output ay konektado sa CNT0.
Hakbang 4: Control Unit
Sa seksyong ito, ang mga utos ay papatayin alinsunod sa natanggap na byte mula sa tatanggap ng UART, o ayon sa mga signal mula sa panlabas na mga pindutan. Ang Pins 12, 13, 14, 15 ay naisasimula bilang mga input at nakakonekta sa panlabas na mga pindutan.
Ang bawat pin ay panloob na konektado sa isang input ng O gate, habang ang pangalawang input ng gate ay konektado sa kaukulang signal na nagmumula sa smartphone sa pamamagitan ng Bluetooth na lilitaw sa output ng SPI Parallel.
Ginagamit ang DFF6 upang buhayin ang mode ng pagtulog kung saan nagbabago ang output nito sa mataas na pagtaas ng gilid na nagmumula sa 2-bit LUT4, habang ang DFF10 ay ginagamit upang mapanatili ang katayuan ng pag-iilaw, at ang output nito ay nagbabago mula mababa hanggang mataas at vice versa sa bawat papataas na gilid na darating mula sa 3-bit na output ng LUT10.
Ang FSM1 ay isang 8-bit counter; nagbibigay ito ng isang mataas na pulso sa output nito kapag ang halaga nito ay umabot sa 0 o 255. Dahil dito, ginagamit ito upang maiwasan ang FSM0 (16-bit) na lumagpas sa halagang 255, dahil ang output nito ay nagre-reset ng DFF at binabago nito ang katayuan ng DFF10 mula sa hanggang sa off at vice versa kung ang ilaw ay kinokontrol ng mga pindutan +, - at naabot ang maximum / minimum na antas.
Ang mga signal na konektado sa FSM1 inputs panatilihin, pataas ay maabot ang FSM0 sa pamamagitan ng P11 at P12 upang i-synchronize at panatilihin ang parehong halaga sa parehong mga counter.
Hakbang 5: Mga Generator ng CLK at Multiplexer
Sa seksyong ito, mabubuo ang tatlong mga frequency, ngunit iisa lamang ang magpapasubaybay sa mga FSM sa anumang oras. Ang unang dalas ay RC OSC, na nakuha mula sa matrix 0 hanggang P0. Ang pangalawang dalas ay LF OSC na nakuha rin mula sa matrix 0 hanggang P1; ang pangatlong dalas ay ang output ng CNT7.
Pinapayagan ng 3-bit LUT9 at 3-bit LUT11 ang isang dalas na pumasa, ayon sa 3-bit na output ng LUT14. Pagkatapos nito, ang napiling orasan ay nagpapadala sa FSM0 at FSM1 sa pamamagitan ng CNT1 at CNT3.
Hakbang 6: PWM
Sa wakas, ang halaga ng FSM0 ay nagbabago sa signal ng PWM upang lumitaw sa pamamagitan ng pin 20 na pinasimuno bilang isang output at ito ay konektado sa mga panlabas na LED.
Hakbang 7: Android App
Ang Android app ay may isang virtual control interface na katulad ng totoong interface. Mayroon itong limang mga pindutan; ON / OFF, UP, Down, Sleep mode, at Connect. Ang Android Application na ito ay magagawang i-convert ang mga pagpindot sa pindutan sa isang utos at ipapadala ang mga utos sa module ng Bluetooth na isasagawa.
Ang app na ito ay ginawa gamit ang MIT App Inventor, na hindi nangangailangan ng anumang karanasan sa programa. Hinahayaan ng App Inventor ang developer na lumikha ng isang application para sa mga Android OS device na gumagamit ng isang web browser sa pamamagitan ng pagkonekta sa mga bloke ng programa. Maaari mong i-import ang aming App sa MIT App Inventor sa pamamagitan ng pag-click sa Mga Proyekto -> I-import ang proyekto (.aia) mula sa aking computer, at piliin ang.aia file na kasama ng Tala ng App.
Upang likhain ang Android Application isang bagong proyekto ang dapat magsimula. Limang mga pindutan ang kinakailangan: ang isa ay isang tagapili ng listahan para sa mga aparatong Bluetooth, at ang iba pa ay ang mga pindutan ng kontrol. Kailangan namin upang magdagdag ng isang Bluetooth client din. Ang Larawan 6 ay isang nakunan ng screen ng user interface ng aming Android Application.
Pagkatapos naming idagdag ang mga pindutan, magtatalaga kami ng isang pagpapaandar ng software para sa bawat pindutan. Gagamitin namin ang 4 na bits upang kumatawan sa katayuan ng mga pindutan. Isang piraso para sa bawat pindutan, samakatuwid, kapag pinindot mo ang pindutan, isang tiyak na numero ang ipapadala sa pamamagitan ng Bluetooth sa pisikal na circuit.
Ang mga bilang na ito ay ipinapakita sa Talahanayan 1.
Konklusyon
Inilalarawan ng Instructable na ito ang isang smart dimmer na maaaring makontrol sa dalawang paraan; isang Android app at totoong mga pindutan. Apat na magkakahiwalay na mga bloke ang nakabalangkas sa loob ng GreenPAK SLG46620V na kinokontrol ang daloy ng proseso para sa pagtaas o pagbaba ng PWM ng isang ilaw. Bilang karagdagan, ang isang tampok na Sleep-mode ay nakabalangkas bilang isang halimbawa ng labis na modulasyon na magagamit para sa application. Ang halimbawang ipinakita ay mababang boltahe, ngunit maaaring mabago para sa mas mataas na pagpapatupad ng boltahe.
Inirerekumendang:
Tutorial: Paano Kinokontrol ng Arduino ang Maramihang Parehong Mga Device sa Address sa pamamagitan ng Paggamit ng TCA9548A I2C Multiplexer: 3 Mga Hakbang
Tutorial: Paano Kinokontrol ng Arduino ang Maramihang Parehong Mga Device sa Address sa pamamagitan ng Paggamit ng TCA9548A I2C Multiplexer: Paglalarawan: Ang TCA9548A I2C Multiplexer Module ay upang paganahin upang ikonekta ang mga aparato na may parehong I2C address (hanggang sa 8 parehong address I2C) na naka-hook hanggang sa isang microcontroller. Ang multiplexer ay kumikilos bilang isang gatekeeper, pinapatay ang mga utos sa napiling set o
Bumuo ng isang Telepresence Robot na Kinokontrol sa pamamagitan ng Wifi: 11 Mga Hakbang (na may Mga Larawan)
Bumuo ng isang Telepresence Robot na Kinokontrol sa pamamagitan ng Wifi: Ang proyektong ito ay tungkol sa pagbuo ng isang robot na maaaring makipag-ugnay sa isang malayong kapaligiran at makontrol mula sa anumang bahagi ng mundo gamit ang Wifi. Ito ang aking huling proyekto sa engineering na taon at marami akong natutunan tungkol sa electronics, IoT at programa kahit na
Kinokontrol ng Arduino Car Sa Pamamagitan ng Bluetooth App: 4 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Arduino Car Sa Pamamagitan ng Bluetooth App: Ang alam lang natin na ang Arduino ay isang mahusay na platform ng prototyping, higit sa lahat dahil gumagamit ito ng isang palakaibigang wika ng programa at maraming mga labis na hindi kapani-paniwala na mga sangkap na nagbibigay sa amin ng magagandang karanasan. Maaari naming isama ang Arduino sa magkakaibang
Awtomatiko sa Bahay: Awtomatikong Lumipat na Lupon na May Dimmer Control Sa Pamamagitan ng Bluetooth Paggamit ng Tiva TM4C123G: 7 Mga Hakbang
Pag-aautomat ng Home: Awtomatikong Lumipat na Lupon na May Dimmer Control Sa Pamamagitan ng Bluetooth Paggamit ng Tiva TM4C123G: Ngayong mga araw na ito, mayroon kaming mga remote control para sa aming mga set sa telebisyon at iba pang mga elektronikong sistema, na ginawang madali ang aming buhay. Naisip mo ba tungkol sa automation sa bahay na magbibigay sa pasilidad ng pagkontrol ng mga ilaw sa tubo, tagahanga at iba pang elec
RC Car Hack - Kinokontrol ng Bluetooth Sa pamamagitan ng Android App: 3 Hakbang (na may Mga Larawan)
RC Car Hack - Kinokontrol ng Bluetooth Sa pamamagitan ng Android App: Sigurado ako na ang bawat isa sa inyo ay makakahanap sa bahay ng hindi nagamit na kotse ng RC. Ang tagubiling ito ay tutulong sa iyo na baguhin ang iyong dating kotse sa RC sa orihinal na regalo :) Dahil sa ang katunayan na ang kotse na RC na mayroon ako ay maliit sa sukat pinili ko ang Arduino Pro Mini bilang isang pangunahing tagakontrol. Isa pa