Sisukord:
- Samm: projekti funktsioonid ja liides
- 2. samm: GreenPAK -i disain
- 3. samm: UART -vastuvõtja
- 4. samm: juhtseade
- Samm: CLK -generaatorid ja multiplekser
- 6. samm: PWM
- Samm: Androidi rakendus
Video: DIY nutikas LED -dimmer, mida juhitakse Bluetoothi kaudu: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles juhendis kirjeldatakse nutika digitaalse dimmeri loomist. Dimmer on tavaline valguslüliti, mida kasutatakse majades, hotellides ja paljudes teistes hoonetes. Dimmerlülitite vanemad versioonid olid käsitsi ja sisaldavad tavaliselt pöördlülitit (potentsiomeetrit) või nuppe valguse taseme juhtimiseks. Selles juhendis kirjeldatakse, kuidas ehitada digitaalset dimmerit, millel on kaks võimalust valguse intensiivsuse reguleerimiseks; nutitelefon ja füüsilised nupud. Need kaks režiimi võivad sujuvalt koos töötada, nii et kasutaja saab heledust suurendada või vähendada nii nupu kui ka nutitelefoni abil. Projekti rakendatakse SLG46620V CMIC, Bluetooth-mooduli HC-06, nuppude ja LED-ide abil.
Kasutame SLG46620V CMIC -d, kuna see aitab minimeerida projekti diskreetseid komponente. GreenPAK ™ IC -d on väikesed ja sisaldavad mitut kasutuskomponenti, mis võimaldab disaineril komponente vähendada ja uusi funktsioone lisada. Lisaks vähendatakse hiljem projekti maksumust.
SLG46620V sisaldab ka SPI -ühenduse liidest, PWM -plokke, FSM -i ja palju kasulikke lisaplokke ühes pisikeses kiibis. Need komponendid võimaldavad kasutajal ehitada praktilise nutika hämardaja, mida saab juhtida Bluetooth-seadme või seina nuppude kaudu, toetavad pikemaajalist hämardamist ja valikuliste funktsioonide lisamist ilma mikrokontrollerit või kalleid komponente kasutamata.
Allpool kirjeldasime samme, mis on vajalikud, et mõista, kuidas lahendus on programmeeritud Bluetoothi kaudu juhitava nutika LED -dimmeri loomiseks. Kui aga soovite lihtsalt programmeerimise tulemust saada, laadige GreenPAKi tarkvara alla, et vaadata juba valminud GreenPAK disainifaili. Ühendage GreenPAK arenduskomplekt arvutiga ja vajutage programmi, et luua nutikas LED -dimmer, mida juhitakse Bluetoothi kaudu.
Samm: projekti funktsioonid ja liides
Projekti omadused:
1. Kaks kontrollimeetodit; mobiilirakendus ja päris nupud.
2. Valguse sujuv sisse-välja lülitamine. See on tarbija silmade jaoks tervislikum. See annab ka luksuslikuma tunde, mis meeldib hotellidele ja teistele teenindussektoritele.
3. Unerežiimi funktsioon. See on selle rakenduse jaoks lisaväärtus. Kui kasutaja selle režiimi aktiveerib, väheneb valguse heledus järk -järgult 10 minuti jooksul. See aitab inimesi, kes kannatavad unetuse all. See on kasulik ka laste magamistubades ja jaekauplustes (sulgemisaeg).
Projekti liides
Projekti liidesel on neli nuppu, mida kasutatakse GreenPAK sisenditena:
ON / OFF: lülitage tuli sisse / välja (pehme käivitamine / stop).
ÜLES: suurendage valguse taset.
Alla: vähendage valguse taset.
Unerežiim: unerežiimi aktiveerimisel väheneb valguse heledus järk -järgult 10 minuti jooksul. See annab kasutajale aega enne magamaminekut ja garanteerib, et valgus ei jää terveks ööks põlema.
Süsteem väljastab PWM -signaali, mis edastatakse välisele LED -ile ja unerežiimi LED -indikaatorile.
GreenPAKi disain koosneb neljast põhiplokist. Esimene on UART -vastuvõtja, mis võtab Bluetooth -moodulilt andmeid vastu, ekstraheerib tellimused ja saadab need juhtplokile. Teine plokk on juhtseade, mis võtab vastu tellimusi UART -vastuvõtjalt või välistelt nuppudelt. Juhtseade otsustab vajaliku toimingu (Lülitage sisse/välja, suurendage, vähendage, lubage unerežiim). Seda seadet rakendatakse LUT -ide abil.
Kolmas plokk varustab CLK generaatoreid. Selles projektis kasutatakse PWM -i juhtimiseks FSM -i loendurit. Mikroneesia väärtus muutub (üles, alla) vastavalt kolme sageduse (kõrge, keskmine ja madal) antud korraldustele. Selles jaotises genereeritakse kolm sagedust ja nõutav CLK edastatakse Mikroneesia Liidule vastavalt nõutavale järjekorrale; Sisselülitamisel/väljalülitamisel läheb kõrgsagedus FSM -ile pehmeks käivitamiseks/seiskamiseks. Hämardamise ajal möödub keskmine sagedus. Madal sagedus möödub unerežiimis, et FSM väärtust aeglasemalt vähendada. Seejärel väheneb ka valguse heledus aeglaselt. Neljas plokk on PWM -seade, mis genereerib välistele LED -idele impulsse.
2. samm: GreenPAK -i disain
Parim viis dimmeri loomiseks GreenPAK-i abil on 8-bitise FSM-i ja PWM-i kasutamine. SLG46620 sisaldab FSM1 8 bitti ja seda saab kasutada koos PWM1 ja PWM2. Bluetooth -moodul peab olema ühendatud, mis tähendab, et tuleb kasutada SPI paralleelset väljundit. SPI paralleelsed väljundbittid 0 kuni 7 ühendatakse DCMP1, DMCP2 ja LF OSC CLK, OUT1, OUT0 OSC väljunditega. PWM0 saab oma väljundi FSM0 -st (16 bitti). FSM0 ei peatu 255 juures; see suureneb kuni 16383. Loenduri väärtuse piiramiseks 8 bitti lisatakse teine FSM; FSM1 kasutatakse kursorina, et teada saada, millal loendur jõuab 0 või 255. FSM0 kasutati PWM impulsi genereerimiseks. Kuna kahte FSM -i väärtust tuleb sama väärtuse muutmiseks korraga muuta, muutub disain pisut keerukaks, kus mõlemas Mikroneesia Liideses on eelnevalt määratletud piiratud CLK. CNT1 ja CNT3 kasutatakse vahendajatena CLK edastamiseks mõlemale Mikroneesia Liidule.
Disain koosneb järgmistest osadest:
- UART vastuvõtja
- Juhtseade
- CLK generaatorid ja multiplekser
- PWM
3. samm: UART -vastuvõtja
Esiteks peame seadistama HC06 Bluetooth -mooduli. HC06 kasutab suhtlemiseks UART -protokolli. UART tähistab universaalset asünkroonset vastuvõtjat / saatjat. UART saab teisendada andmeid edasi -tagasi paralleel- ja jadavormingu vahel. See sisaldab jada -paralleelset vastuvõtjat ja paralleelset jadamuundurit, mis mõlemad on eraldi kellaga. HC06 -sse saadud andmed edastatakse meie GreenPAK -i seadmesse. Pin 10 jõudeolek on HIGH. Iga saadetud märk algab loogilise LOW algusbitiga, millele järgneb konfigureeritav arv andmebitte ja üks või mitu loogilist HIGH stopp -bitti.
HC06 saadab 1 START -bitti, 8 andmebitti ja ühe STOP -bitti. Selle vaikimisi edastuskiirus on 9600. Saadame andmebaidid HC06 -st GreenPAK SLG46620V SPI -plokki.
Kuna SPI -plokil pole START- ega STOP -bittide juhtimist, kasutatakse neid bitte SPI kella signaali (SCLK) lubamiseks ja keelamiseks. Kui pin 10 läheb LOW, on IC saanud START -bitti, seega kasutame side alguse tuvastamiseks PDLY langeva serva detektorit. See langeva serva detektor kellatab DFF0, mis võimaldab SCLK -signaalil SPI -ploki kella panna.
Meie andmeedastuskiirus on 9600 bitti sekundis, seega peab meie SCLK periood olema 1/9600 = 104 µs. Seetõttu seadsime OSC sageduseks 2 MHz ja kasutasime sagedusjaoturina CNT0.
2 MHz - 1 = 0,5 µs
(104 µs / 0,5 µs) - 1 = 207
Seetõttu soovime, et CNT0 loenduri väärtus oleks 207. Andmete vahelejätmise tagamiseks lisatakse SPI kella poole kella tsükli viivitus, et SPI plokk oleks õigel kellaajal. See saavutatakse CNT6, 2-bitise LUT1 ja OSC ploki välise kella abil. CNT6 väljund tõuseb kõrgele alles 52 µs pärast DFF0 kellaaega, mis on täpselt pool meie SCLK perioodist 104 µs. Kui see tõuseb kõrgele, võimaldab 2-bitine LUT1 JA värav 2 MHz OSC signaali edastada EXT-sse. CLK0 sisend, mille väljund on ühendatud CNT0 -ga.
4. samm: juhtseade
Selles jaotises täidetakse käske vastavalt UART -vastuvõtjalt saadud baitidele või väliste nuppude signaalidele. Tihvtid 12, 13, 14, 15 lähtestatakse sisenditena ja on ühendatud väliste nuppudega.
Iga tihvt on sisemiselt ühendatud VÕI värava sisendiga, samas kui värava teine sisend on ühendatud vastava signaaliga, mis tuleb nutitelefonist Bluetoothi kaudu ja mis kuvatakse SPI paralleelväljundis.
DFF6 kasutatakse unerežiimi aktiveerimiseks, kui selle väljund muutub kõrgeks, kui tõusev serv on pärit 2-bitisest LUT4-st, samal ajal kui DFF10 kasutatakse valgustuse säilitamiseks ning selle väljund muutub madalast kõrgeks ja vastupidi iga tõusva serva tulekul 3-bitisest LUT10 väljundist.
FSM1 on 8-bitine loendur; see annab oma väljundile suure impulsi, kui selle väärtus jõuab väärtuseni 0 või 255. Järelikult kasutatakse seda selleks, et takistada FSM0 (16-bitine) väärtuse 255 ületamist, kuna selle väljund lähtestab DFF-id ja muudab DFF10 oleku olekust sisse ja välja vastupidi, kui valgustust juhitakse nuppudega +, - ja maksimaalne/minimaalne tase on saavutatud.
FSM1 sisenditega ühendatud signaalid jäävad, kuni jõuavad FSM0 -ni läbi P11 ja P12, et sünkroonida ja hoida mõlemal loenduril sama väärtus.
Samm: CLK -generaatorid ja multiplekser
Selles jaotises genereeritakse kolm sagedust, kuid ainult üks jälgib FSM -e korraga. Esimene sagedus on RC OSC, mis tuuakse maatriksist 0 kuni P0. Teine sagedus on LF OSC, mis tuuakse samuti maatriksist 0 kuni P1; kolmas sagedus on CNT7 väljund.
3-bitine LUT9 ja 3-bitine LUT11 võimaldavad ühe sageduse läbimist vastavalt 3-bitisele LUT14 väljundile. Pärast seda edastab valitud kell CNT1 ja CNT3 kaudu FSM0 ja FSM1.
6. samm: PWM
Lõpuks muundatakse FSM0 väärtus PWM -signaaliks, et see ilmuks läbi tihvti 20, mis lähtestatakse väljundina ja on ühendatud väliste LED -idega.
Samm: Androidi rakendus
Androidi rakendusel on reaalse liidesega sarnane virtuaalne juhtimisliides. Sellel on viis nuppu; ON / OFF, UP, DOWN, Sleep mode ja Connect. See Androidi rakendus suudab nupuvajutused käsuks muuta ja saadab käsud Bluetooth -moodulile.
See rakendus on loodud rakendusega MIT App Inventor, mis ei nõua programmeerimiskogemust. App Inventor võimaldab arendajal luua veebibrauseri abil rakenduse Android OS -i seadmete jaoks, ühendades programmeerimisplokid. Meie rakenduse saate importida rakendusse MIT App Inventor, klõpsates arvutist käsku Projects -> Import project (.aia) ja valides selle rakenduse märkusega kaasatud.aia -faili.
Androidi rakenduse loomiseks tuleb alustada uut projekti. Vaja on viit nuppu: üks on Bluetooth -seadmete loendivalija ja teised juhtnupud. Peame lisama ka Bluetooth -kliendi. Joonis 6 on meie Androidi rakenduse kasutajaliidese ekraanipilt.
Pärast nuppude lisamist määrame igale nupule tarkvarafunktsiooni. Nuppude oleku esitamiseks kasutame 4 bitti. Üks nupp iga nupu jaoks, seetõttu saadetakse nupule vajutamisel konkreetne number Bluetoothi kaudu füüsilisse ahelasse.
Need numbrid on toodud tabelis 1.
Järeldus
Selles juhendis kirjeldatakse nutikat dimmerit, mida saab juhtida kahel viisil; Androidi rakendus ja päris nupud. GreenPAK SLG46620V -s on välja toodud neli eraldi plokki, mis juhivad protsessi voogu valguse PWM suurendamiseks või vähendamiseks. Lisaks on rakenduse jaoks saadaval oleva lisamodulatsiooni näitena välja toodud unerežiimi funktsioon. Näide on madalpinge, kuid seda saab muuta kõrgema pinge jaoks.
Soovitan:
DIY madalpinge välivalgustus, mida juhitakse Raspberry Pi abil: 11 sammu (piltidega)
DIY madala pingega välisvalgustus, mida juhitakse Raspberry Pi abil: miks? Pean tunnistama, et olen nagu paljud teisedki asjade Interneti (või IoT) suur fänn. Samuti olen endiselt väsinud, ühendades kõik oma tuled, seadmed, välisukse, garaažiukse ja kes teab, mida veel avatud internetti. Eriti selliste üritustega nagu
Neopixel Ws 2812 LED -riba Arduinoga, mida juhib Bluetoothi kaudu Androidist või iPhone'ist: 4 sammu
Neopixel Ws 2812 LED -riba koos Arduinoga, mida juhib Bluetoothi kaudu Androidist või iPhone'ist: Tere, poisid, selles juhendis, olen arutanud, kuidas juhtida Bluetooth -ühenduse abil oma Android -telefonist või iPhone'ist neopikseli LED -riba või LED -riba ws2812. lisage oma koju neopikselist LED -riba koos Arduinoga
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
RGB -lamp, mida juhitakse Bluetoothi abil: 5 sammu (piltidega)
RGB -lamp, mida juhitakse Bluetoothi abil: selles õpetuses moduleerin PWM -töötsüklit, et toota nutitelefoni abil teie LED -ist erinevaid värve
Kuidas ehitada haarduri käe jälgitavat robotit, mida juhitakse Via Nrf24l01 Arduino kaudu: 3 sammu (piltidega)
Kuidas ehitada haaramisvarrega jälgitavat robotit, mida juhitakse Via Nrf24l01 Arduino kaudu: Juhend " Kuidas ehitada Gripper -käe roomikrobot, mida juhitakse Via Nrf24l01 Arduino kaudu " selgitab, kuidas ehitada MEG -i abil kaherattalise ajamiga L298N moodulile juhitavale ratastele paigaldatud kolmeastmeline vabadushaaratsi õlg