Satura rādītājs:

DIY vadība RGB LED krāsa, izmantojot Bluetooth: 5 soļi
DIY vadība RGB LED krāsa, izmantojot Bluetooth: 5 soļi

Video: DIY vadība RGB LED krāsa, izmantojot Bluetooth: 5 soļi

Video: DIY vadība RGB LED krāsa, izmantojot Bluetooth: 5 soļi
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Jūlijs
Anonim
DIY vadība RGB LED krāsa, izmantojot Bluetooth
DIY vadība RGB LED krāsa, izmantojot Bluetooth

Viedo spuldžu popularitāte pēdējā laikā pieaug, un tās nepārtraukti kļūst par viedās mājas instrumentu komplekta galveno daļu. Viedās spuldzes ļauj lietotājam kontrolēt savu gaismu, izmantojot īpašu lietotni lietotāja viedtālrunī; spuldzi var ieslēgt un izslēgt, un krāsu var mainīt no lietojumprogrammas saskarnes. Šajā projektā mēs izveidojām viedo spuldzes kontrolieri, kuru var vadīt, izmantojot manuālu pogu vai mobilo lietojumprogrammu, izmantojot Bluetooth. Lai šim projektam pievienotu noskaņu, esam pievienojuši dažas funkcijas, kas ļauj lietotājam izvēlēties apgaismojuma krāsu no lietojumprogrammu saskarnē iekļauto krāsu saraksta. Tas var arī aktivizēt “automātisko sajaukšanu”, lai radītu krāsu efektus un mainītu apgaismojumu ik pēc sekundes. Lietotājs var izveidot savu krāsu sajaukumu, izmantojot PWM funkciju, ko var izmantot arī kā trīs pamatkrāsu (sarkans, zaļš, zils) dimmeri. Mēs pievienojām shēmai arī ārējās pogas, lai lietotājs varētu pārslēgties uz manuālo režīmu un mainīt gaismas krāsu no ārējas pogas.

Šī pamācība sastāv no divām sadaļām; GreenPAK ™ dizains un Android lietotņu dizains. GreenPAK dizains ir balstīts uz UART saskarnes izmantošanu saziņai. UART ir izvēlēts, jo to atbalsta lielākā daļa Bluetooth moduļu, kā arī vairums citu perifērijas ierīču, piemēram, WIFI moduļi. Līdz ar to GreenPAK dizainu var izmantot daudzos savienojumu veidos.

Lai izveidotu šo projektu, mēs izmantosim SLG46620 CMIC, Bluetooth moduli un RGB gaismas diodi. GreenPAK IC būs šī projekta kontroles kodols; tas saņem datus no Bluetooth moduļa un/vai ārējām pogām, pēc tam sāk nepieciešamo procedūru, lai parādītu pareizo apgaismojumu. Tas arī ģenerē PWM signālu un izvada to LED. 1. attēlā parādīta blokshēma.

Šajā projektā izmantotā GreenPAK ierīce satur SPI savienojuma saskarni, PWM blokus, FSM un daudz citu noderīgu papildu bloku vienā IC. To raksturo arī neliels izmērs un zems enerģijas patēriņš. Tas ļaus ražotājiem izveidot nelielu praktisku ķēdi, izmantojot vienu IC, tādējādi ražošanas izmaksas tiks samazinātas, salīdzinot ar līdzīgām sistēmām.

Šajā projektā mēs kontrolējam vienu RGB gaismas diodi. Lai projekts būtu komerciāli dzīvotspējīgs, sistēmai, iespējams, būtu jāpalielina spožuma līmenis, paralēli savienojot daudzas gaismas diodes un izmantojot atbilstošos tranzistorus; jāņem vērā arī strāvas ķēde.

Jūs varat veikt visas darbības, lai saprastu, kā GreenPAK mikroshēma ir ieprogrammēta, lai kontrolētu RGB LED krāsu, izmantojot Bluetooth. Tomēr, ja vēlaties vienkārši ieprogrammēt IC, nesaprotot visas iekšējās shēmas, lejupielādējiet GreenPAK programmatūru, lai apskatītu jau pabeigto GreenPAK dizaina failu. Pievienojiet GreenPAK attīstības komplektu datoram un nospiediet programmu, lai izveidotu pielāgotu IC, lai kontrolētu RGB LED krāsu, izmantojot Bluetooth.

GreenPAK dizains sastāv no UART uztvērēja, PWM bloka un vadības bloka, kas aprakstīts tālāk norādītajās darbībās.

1. darbība: UART uztvērējs

UART uztvērējs
UART uztvērējs

Pirmkārt, mums ir jāiestata Bluetooth modulis. Lielākā daļa Bluetooth IC atbalsta UART protokolu saziņai. UART apzīmē universālo asinhrono uztvērēju / raidītāju. UART var pārvērst datus uz priekšu un atpakaļ starp paralēlo un sērijas formātu. Tas ietver seriālo līdz paralēlo uztvērēju un paralēlu sērijas pārveidotāju, kas abi ir pulksteņa režīmā atsevišķi.

Bluetooth modulī saņemtie dati tiks pārsūtīti uz mūsu GreenPAK ierīci. Pin10 dīkstāves stāvoklis ir HIGH. Katra nosūtītā rakstzīme sākas ar loģisku LOW sākuma bitu, kam seko konfigurējams datu bitu skaits un viens vai vairāki loģiski HIGH stopbiti.

UART raidītājs nosūta 1 START bitu, 8 datu bitus un vienu STOP bitu. Parasti UART Bluetooth moduļa noklusējuma pārraides ātrums ir 9600. Mēs nosūtīsim datu baitu no Bluetooth IC uz GreenPAK ™ SLG46620 SPI bloku.

Tā kā GreenPAK SPI blokam nav START vai STOP bitu vadības, mēs izmantosim šos bitus, lai iespējotu un atspējotu SPI pulksteņa signālu (SCLK). Kad Pin10 kļūst LOW, mēs zinām, ka esam saņēmuši START bitu, tāpēc mēs izmantojam PDLY krītošās malas detektoru, lai noteiktu sakaru sākumu. Šis krītošās malas detektors pulcē DFF0, kas ļauj SCLK signālam noteikt SPI bloku.

Mūsu pārraides ātrums ir 9600 biti sekundē, tāpēc mūsu SCLK periodam jābūt 1/9600 = 104 μs. Tāpēc mēs iestatījām OSC frekvenci uz 2MHz un kā frekvences dalītāju izmantojām CNT0.

2 MHz-1 = 0,5 μs

(104 μs / 0,5 μs) - 1 = 207

Tāpēc mēs vēlamies, lai CNT0 skaitītāja vērtība būtu 207. Lai nodrošinātu, ka nepalaižam garām nevienu informāciju, mums ir jāatliek SPI pulkstenis par pusi pulksteņa cikla, lai SPI bloks tiktu pulksteņots pareizajā laikā. Mēs to paveicām, izmantojot CNT6, 2 bitu LUT1 un OSC bloka ārējo pulksteni. CNT6 izlaide nepalielinās līdz 52 μs pēc DFF0 pulksteņa laika, kas ir puse no mūsu 104 μs SCLK perioda. Ja CNT6 ir augsts, 2 bitu LUT1 UN vārti ļauj 2MHz OSC signālam nonākt EXT. CLK0 ieeja, kuras izeja ir savienota ar CNT0.

2. darbība: PWM vienība

PWM vienība
PWM vienība

PWM signāls tiek ģenerēts, izmantojot PWM0 un ar to saistīto pulksteņa impulsu ģeneratoru (CNT8/DLY8). Tā kā impulsa platumu var kontrolēt lietotājs, mēs izmantojam FSM0 (ko var savienot ar PWM0), lai skaitītu lietotāja datus.

SLG46620 8 bitu FSM1 var izmantot kopā ar PWM1 un PWM2. Bluetooth modulim jābūt savienotam, kas nozīmē, ka jāizmanto SPI paralēlā izeja. SPI paralēlie izejas biti 0 līdz 7 tiek sajaukti ar DCMP1, DMCP2 un LF OSC CLK OUT1 un OUT0. PWM0 iegūst savu produkciju no 16 bitu FSM0. Ja tas netiek mainīts, impulsa platums tiek pārslogots. Lai ierobežotu skaitītāja vērtību pie 8 bitiem, tiek pievienots cits MFV; FSM1 tiek izmantots kā rādītājs, lai uzzinātu, kad skaitītājs sasniedz 0 vai 255. FSM0 tiek izmantots, lai ģenerētu PWM impulsu. FSM0 un FSM1 ir jāsinhronizē. Tā kā abiem MFV ir iepriekš iestatītas pulksteņa iespējas, CNT1 un CNT3 tiek izmantoti kā starpnieki, lai nodotu CLK abiem MFV. Abiem skaitītājiem ir iestatīta viena un tā pati vērtība, kas šai instrukcijai ir 25. Mēs varam mainīt PWM vērtības izmaiņu ātrumu, mainot šīs skaitītāja vērtības.

MFV vērtību palielina un samazina signāli “+” un “-”, kas nāk no SPI paralēlās izvades.

3. darbība: vadības bloks

Kontroles vienība
Kontroles vienība

Vadības blokā saņemtais baits tiek pārnests no Bluetooth moduļa uz SPI paralēlo izvadi un pēc tam tiek nodots saistītajām funkcijām. Sākumā tiks pārbaudīti PWM CS1 un PWM CS2 izvadi, lai noskaidrotu, vai PWM modelis ir aktivizēts. Ja tas ir aktivizēts, tas noteiks, kurš kanāls izvadīs PWM caur LUT4, LUT6 un LUT7.

LUT9, LUT11 un LUT14 ir atbildīgi par pārējo divu gaismas diodes stāvokļa pārbaudi. LUT10, LUT12 un LUT13 pārbauda, vai manuālā poga ir aktivizēta. Ja ir aktivizēts manuālais režīms, RGB izejas darbojas saskaņā ar D0, D1, D2 izejas stāvokļiem, kas tiek mainīti ikreiz, kad tiek nospiesta krāsu poga. Tas mainās līdz ar augšupejošo malu, kas nāk no CNT9, kas tiek izmantots kā augšupejošās malas atdalītājs.

20. tapa ir konfigurēta kā ieeja, un to izmanto, lai pārslēgtos starp manuālo un Bluetooth vadību.

Ja manuālais režīms ir atspējots un automātiskais maisītāja režīms ir aktivizēts, krāsa mainās ik pēc 500 ms, augošajai malai nākot no CNT7. 4 bitu LUT1 tiek izmantots, lai novērstu “000” stāvokli D0 D1 D2, jo šī stāvokļa dēļ gaisma izslēdzas automātiskā maisītāja režīmā.

Ja nav aktivizēts manuālais režīms, PWM režīms un automātiskā maisītāja režīms, sarkanās, zaļās un zilās SPI komandas tiek pārvietotas uz 12., 13. un 14. tapām, kas ir konfigurētas kā izejas un ir savienotas ar ārējo RGB gaismas diodi.

DFF1, DFF2 un DFF3 tiek izmantoti, lai izveidotu 3 bitu bināro skaitītāju. Skaitītāja vērtība palielinās ar CNT7 impulsiem, kas iziet cauri P14 automātiskā maisītāja režīmā, vai no signāliem, kas nāk no krāsu pogas (PIN3) manuālajā režīmā.

4. darbība: Android lietojumprogramma

Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma
Android lietojumprogramma

Šajā sadaļā mēs izveidosim Android lietojumprogrammu, kas uzraudzīs un parādīs lietotāja vadības izvēles. Saskarne sastāv no divām sadaļām: pirmajā sadaļā ir pogu komplekts, kurām ir iepriekš noteiktas krāsas, tādēļ, nospiežot kādu no šīm pogām, iedegas tādas pašas krāsas gaismas diode. Otrā sadaļa (MIX kvadrāts) lietotājam rada jauktu krāsu.

Pirmajā sadaļā lietotājs izvēlas LED tapu, caur kuru vēlas, lai PWM signāls izietu; PWM signālu vienlaikus var nodot tikai vienai tapai. Apakšējais saraksts PWM režīmā loģiski ieslēdz/izslēdz pārējās divas krāsas.

Automātiskā maisītāja poga ir atbildīga par automātiskās gaismas mainīšanas shēmas darbību, kad gaisma mainīsies ik pēc pussekundes. Sadaļā MIX ir divi izvēles rūtiņu saraksti, lai lietotājs varētu izlemt, kuras divas krāsas sajaukt kopā.

Mēs izveidojām lietojumprogrammu, izmantojot MIT lietotņu izgudrotāju vietni. Tā ir vietne, kas ļauj veidot Android lietojumprogrammas bez iepriekšējas programmatūras pieredzes, izmantojot grafiskos programmatūras blokus.

Sākumā mēs izstrādājām grafisko interfeisu, pievienojot pogu komplektu, kas ir atbildīgs par iepriekš noteiktu krāsu parādīšanu, kā arī pievienojām divus izvēles rūtiņu sarakstus, un katram sarakstam ir 3 elementi; katrs elements ir iezīmēts atsevišķā lodziņā, kā parādīts 5. attēlā.

Pogas lietotāja saskarnē ir saistītas ar programmatūras komandām: visas komandas, kuras lietotne nosūtīs, izmantojot Bluetooth, būs baitu formātā, un katrs bits ir atbildīgs par noteiktu funkciju. 1. tabulā parādīta GreenPAK nosūtīto komandu rāmju forma.

Pirmie trīs biti, B0, B1 un B2, saglabās RGB gaismas diodes stāvokli tiešās vadības režīmā, izmantojot iepriekš definētu krāsu pogas. Tādējādi, noklikšķinot uz jebkura no tiem, tiks nosūtīta atbilstošā pogas vērtība, kā parādīts 2. tabulā.

Biti B3 un B4 satur komandas "+" un "-", kas ir atbildīgas par impulsa platuma palielināšanu un samazināšanu. Nospiežot pogu, bitu vērtība būs 1, un, atlaižot pogu, bitu vērtība būs 0.

B5 un B6 biti ir atbildīgi par tapas (krāsas) izvēli, caur kuru PWM signāls izies: šo bitu krāsu apzīmējumi ir parādīti 3. tabulā. Pēdējais bits B7 ir atbildīgs par automātiskā maisītāja aktivizēšanu.

6. un 7. attēlā parādīts pogu savienošanas process ar programmēšanas blokiem, kas ir atbildīgi par iepriekšējo vērtību nosūtīšanu.

Lai skatītos visu lietojumprogrammas dizainu, varat lejupielādēt pievienoto failu “.aia” ar projekta failiem un atvērt to galvenajā vietnē.

Tālāk 8. attēlā parādīta augšējā līmeņa shēma.

5. darbība. Rezultāti

Kontrolieris tika veiksmīgi pārbaudīts, un tika pierādīts, ka krāsu sajaukšana kopā ar citām funkcijām darbojas atbilstoši.

Secinājums

Šajā instrukcijā tika izveidota viedā spuldzes ķēde, ko bezvadu režīmā kontrolē Android lietojumprogramma. Šajā projektā izmantotais GreenPAK CMIC arī palīdzēja saīsināt un iekļaut vairākus gaismas kontroles būtiskus komponentus vienā nelielā IC.

Ieteicams: