INHOUDSOPGAWE:

DIY Smart LED -dimmer wat via Bluetooth beheer word: 7 stappe
DIY Smart LED -dimmer wat via Bluetooth beheer word: 7 stappe

Video: DIY Smart LED -dimmer wat via Bluetooth beheer word: 7 stappe

Video: DIY Smart LED -dimmer wat via Bluetooth beheer word: 7 stappe
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, November
Anonim
DIY Smart LED -dimmer word beheer via Bluetooth
DIY Smart LED -dimmer word beheer via Bluetooth

Hierdie instruksie beskryf hoe u 'n slim digitale dimmer kan bou. 'N Dimmer is 'n algemene ligskakelaar wat in huise, hotelle en baie ander geboue gebruik word. Ouer weergawes van dimmer skakelaars was handmatig en bevat gewoonlik 'n draaiskakelaar (potensiometer) of knoppies om die ligvlak te beheer. Hierdie instruksie beskryf hoe u 'n digitale dimmer bou wat twee maniere het om die ligintensiteit te beheer; 'n slimfoon en fisiese knoppies. Die twee modusse kan naatloos saamwerk, sodat die gebruiker die helderheid van 'n knoppie en 'n slimfoon kan verhoog of verlaag. Die projek word geïmplementeer met behulp van 'n SLG46620V CMIC, HC-06 Bluetooth-module, drukknoppies en LED's.

Ons gaan die SLG46620V CMIC gebruik, aangesien dit diskrete projekkomponente help verminder. GreenPAK ™ IC's is klein en bevat meergebruiksonderdele, waarmee 'n ontwerper komponente kan verminder en nuwe funksies kan byvoeg. Boonop word die projekkoste daarna verminder.

Die SLG46620V bevat ook 'n SPI -koppelvlak, PWM -blokke, FSM en baie nuttige bykomende blokke in een klein skyfie. Met hierdie komponente kan 'n gebruiker 'n praktiese slim dimmer bou wat beheer kan word via 'n Bluetooth-toestel of muurknoppies, langdurige verduistering ondersteun en die toevoeging van kiesbare funksies sonder om 'n mikrobeheerder of duur komponente te gebruik.

Hieronder het ons die stappe beskryf wat nodig is om te verstaan hoe die oplossing geprogrammeer is om 'n slim LED -dimmer te skep wat via Bluetooth beheer word. As u egter net die resultaat van die programmering wil kry, laai GreenPAK -sagteware af om die reeds voltooide GreenPAK -ontwerplêer te sien. Koppel die GreenPAK Development Kit aan op u rekenaar en klik op die program om die slim LED -dimmer te skep wat via Bluetooth beheer word.

Stap 1: Projekkenmerke en koppelvlak

Projekkenmerke en koppelvlak
Projekkenmerke en koppelvlak

Projekkenmerke:

1. Twee metodes van beheer; mobiele app en regte knoppies.

2. Gladde aan-af-oorgang vir die lig. Dit is gesonder vir 'n verbruiker. Dit gee ook 'n meer luukse gevoel, wat 'n beroep op hotelle en ander diensbedrywe het.

3. Slaapmodus -funksie. Dit sal 'n meerwaarde vir hierdie toepassing wees. As die gebruiker hierdie modus aktiveer, neem die helderheid geleidelik af binne 10 minute. Dit help mense wat aan slapeloosheid ly. Dit is ook nuttig vir kinderslaapkamers en kleinhandelwinkels (sluitingstyd).

Projek -koppelvlak

Die projek -koppelvlak het vier drukknoppies wat gebruik word as GreenPAK -insette:

AAN / UIT: skakel die lig AAN / UIT (sagte begin / stop).

UP: verhoog die ligvlak.

Af: verlaag die ligvlak.

Slaapmodus: deur die slaapmodus te aktiveer, neem die helderheid geleidelik af oor 'n tydperk van 10 minute. Dit gee die gebruiker tyd om te slaap en verseker dat die lig nie die hele nag aan bly nie.

Die stelsel sal 'n PWM -sein stuur, wat na 'n eksterne LED- en slaapmodus -LED -aanwyser oorgedra word.

Die GreenPAK -ontwerp bestaan uit 4 hoofblokke. Die eerste is 'n UART -ontvanger, wat data van die Bluetooth -module ontvang, bestellings onttrek en dit na 'n beheereenheid stuur. Die tweede blok is 'n beheereenheid wat bestellings ontvang van die UART -ontvanger of van die eksterne knoppies. Die beheereenheid besluit die vereiste aksie (skakel AAN/UIT, Verhoog, verlaag, aktiveer slaapmodus). Hierdie eenheid word geïmplementeer met behulp van LUT's.

Die derde blok voorsien die CLK -kragopwekkers. In hierdie projek word 'n FSM -teller gebruik om die PWM te beheer. Die waarde van die FSM sal verander (op, af) volgens die bestellings wat deur 3 frekwensies (hoog, medium en laag) gegee word. In hierdie afdeling word die drie frekwensies gegenereer en word die vereiste CLK volgens die vereiste volgorde na FSM oorgedra; By aan-/afskakeling gaan hoë frekwensies deur na FSM om te begin/stop. Tydens verduistering gaan die mediumfrekwensie verby. Die lae frekwensie slaag in die slaapmodus om die FSM -waarde stadiger te verminder. Dan neem die helderheid van die lig ook stadig af. Die vierde blok is die PWM -eenheid, wat pulse na eksterne LED's genereer.

Stap 2: GreenPAK -ontwerp

Die beste manier om 'n dimmer te bou met behulp van GreenPAK, is deur die 8-bis FSM en 'n PWM te gebruik. In die SLG46620 bevat FSM1 8 bisse en kan dit gebruik word met PWM1 en PWM2. Die Bluetooth -module moet gekoppel wees, wat beteken dat die SPI parallelle uitset gebruik moet word. Die SPI parallelle uitsetbitte 0 tot 7 verbindings word saamgevoeg met DCMP1, DMCP2 en LF OSC CLK, OUT1, OUT0 OSC uitsette. PWM0 verkry sy uitset van FSM0 (16 bis). FSM0 stop nie by 255 nie; dit styg tot 16383. Om die tellerwaarde tot 8 bis te beperk, word nog 'n FSM bygevoeg; FSM1 word gebruik as 'n wyser om te weet wanneer die teller 0 of 255 bereik. FSM0 is gebruik om die PWM -pols te genereer. Aangesien die twee FSM se waardes gelyktydig verander moet word om dieselfde waarde te hê, word die ontwerp 'n bietjie kompleks, waar in beide FSM's 'n vooraf gedefinieerde, beperkte, selekteerbare CLK is. CNT1 en CNT3 word gebruik as bemiddelaars om die CLK aan beide FSM's deur te gee.

Die ontwerp bestaan uit die volgende afdelings:

- UART ontvanger

- Beheereenheid

- CLK Generators en multiplexer

- PWM

Stap 3: UART -ontvanger

UART -ontvanger
UART -ontvanger

Eerstens moet ons die HC06 Bluetooth -module opstel. Die HC06 gebruik die UART -protokol vir kommunikasie. UART staan vir Universal Asynchronous Receiver / Transmitter. UART kan data heen en weer omskakel tussen parallelle en reeksformate. Dit bevat 'n seriële na parallelle ontvanger en 'n parallel na 'n seriële omskakelaar wat beide afsonderlik geklok word. Die data wat in die HC06 ontvang word, sal na ons GreenPAK -toestel gestuur word. Die ledige toestand vir pen 10 is HOOG. Elke karakter wat gestuur word, begin met 'n logiese LOW -beginbit, gevolg deur 'n konfigureerbare aantal databits, en een of meer logika HIGH -stopbits.

Die HC06 stuur 1 START -bit, 8 databits en een STOP -bit. Die standaard baud -tempo is 9600. Ons stuur die databyte van die HC06 na die GreenPAK SLG46620V se SPI -blok.

Aangesien die SPI -blok nie 'n START- of STOP -bitbeheer het nie, word die bisse in plaas daarvan gebruik om die SPI -kloksein (SCLK) in te skakel en uit te skakel. As pen 10 laag is, het die IC 'n START -bit gekry, dus gebruik ons die PDLY -valranddetektor om die begin van kommunikasie te identifiseer. Die valranddetektor klok DFF0, wat die SCLK -sein in staat stel om die SPI -blok te klok.

Ons baud -tempo is 9600 bits per sekonde, dus ons SCLK -periode moet 1/9600 = 104 µs wees. Daarom stel ons die OSC -frekwensie op 2 MHz en gebruik CNT0 as 'n frekwensie -verdeler.

2 MHz - 1 = 0,5 µs

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

Daarom wil ons hê dat die CNT0 -tellerwaarde 207 is. Om te verseker dat data nie gemis word nie, word 'n halfkloksiklusvertraging op die SPI -klok bygevoeg sodat die SPI -blok op die regte tyd geklok word. Dit word bereik deur CNT6, 2-bis LUT1 en die eksterne klok van die OSC-blok te gebruik. Die uitset van CNT6 word eers hoog na 52 µs nadat DFF0 geklok is, wat presies die helfte van ons SCLK -periode van 104 µs is. As dit hoog word, laat die 2-bis LUT1 AND-hek toe dat die 2 MHz OSC-sein na die EXT gaan. CLK0 -invoer, waarvan die uitset gekoppel is aan CNT0.

Stap 4: Beheereenheid

Beheereenheid
Beheereenheid

In hierdie afdeling word opdragte uitgevoer volgens die ontvangen byte van die UART -ontvanger, of volgens die seine van die eksterne knoppies. Spelde 12, 13, 14, 15 word as insette geïnitialiseer en is gekoppel aan eksterne knoppies.

Elke pen is intern verbind met 'n OF -hek -invoer, terwyl die tweede ingang van die hek verbind is met die ooreenstemmende sein wat van die slimfoon af via Bluetooth verskyn en op die SPI Parallel -uitset verskyn.

DFF6 word gebruik om die slaapmodus te aktiveer waar sy uitset hoog word met die stygende rand van 2-bis LUT4, terwyl DFF10 gebruik word om die beligtingstatus te behou en die uitset van laag na hoog te verander en omgekeerd met elke stygende rand vanaf 3-bis LUT10-uitset.

FSM1 is 'n 8-bis teller; dit gee 'n hoë polsslag op sy uitset wanneer die waarde daarvan tot 0 of 255 bereik. Gevolglik word dit gebruik om te verhoed dat FSM0 (16-bis) die waarde 255 oorskry, aangesien die uitset DFF's herstel en dit die status van DFF10 van aan na af verander en omgekeerd as beligting deur die knoppies +, - beheer word en die maksimum/minimum vlak bereik is.

Die seine wat aan die FSM1 -insette gekoppel is, bly, up bereik FSM0 deur P11 en P12 om dieselfde waarde op beide tellers te sinchroniseer en te behou.

Stap 5: CLK Generators en Multiplexer

CLK Generators en Multiplexer
CLK Generators en Multiplexer

In hierdie afdeling word drie frekwensies gegenereer, maar slegs een sal die FSM's te eniger tyd klok. Die eerste frekwensie is RC OSC, wat uit die matriks 0 tot en met P0 gehaal word. Die tweede frekwensie is LF OSC wat ook uit die matriks 0 tot en met P1 gehaal word; die derde frekwensie is die CNT7 -uitset.

3-bis LUT9 en 3-bis LUT11 laat een frekwensie toe, volgens die 3-bis LUT14-uitset. Daarna stuur die gekose klok na FSM0 en FSM1 deur CNT1 en CNT3.

Stap 6: PWM

PWM
PWM

Uiteindelik verander die FSM0 -waarde na 'n PWM -sein om deur pen 20 te verskyn, wat as 'n uitset geïnitialiseer word en aan die eksterne LED's gekoppel is.

Stap 7: Android -app

Android App
Android App
Android App
Android App
Android App
Android App

Die Android -app het 'n virtuele beheerkoppelvlak, soortgelyk aan die werklike koppelvlak. Dit het vyf knoppies; AAN / UIT, OP, AF, omlaag, en verbind. Hierdie Android -toepassing kan die druk van die knoppies in 'n opdrag omskep en die opdragte na die Bluetooth -module stuur wat uitgevoer moet word.

Hierdie app is gemaak met MIT App Inventor, wat geen programmeerervaring benodig nie. Met die App Inventor kan die ontwikkelaar 'n toepassing vir Android -toestelle met 'n webblaaier skep deur programmeerblokke aan te sluit. U kan ons app in die MIT -appuitvinder invoer deur op Projects -> Import project (.aia) vanaf my rekenaar te klik en die.aia -lêer wat by hierdie appnota ingesluit is, te kies.

'N Nuwe projek moet begin word om die Android -toepassing te skep. Vyf knoppies is nodig: die een is 'n lyskieser vir Bluetooth -toestelle, en die ander is die knoppies. Ons moet ook 'n Bluetooth -kliënt byvoeg. Figuur 6 is 'n skermopname van die gebruikerskoppelvlak van ons Android -toepassing.

Nadat ons die knoppies bygevoeg het, gaan ons 'n sagtewarefunksie vir elke knoppie toewys. Ons gaan 4 bisse gebruik om die status van die knoppies voor te stel. 'N Stukkie vir elke knoppie, dus as u op die knoppie druk, word 'n spesifieke nommer via Bluetooth na die fisiese stroombaan gestuur.

Hierdie getalle word in Tabel 1 getoon.

Afsluiting

Hierdie Instructable beskryf 'n slim dimmer wat op twee maniere beheer kan word; 'n Android -app en regte knoppies. Vier afsonderlike blokke word in die GreenPAK SLG46620V uiteengesit wat die prosesvloei beheer om die PWM van 'n lig te verhoog of te verminder. Boonop word 'n slaapmodus-funksie uiteengesit as 'n voorbeeld van ekstra modulasie wat vir die toepassing beskikbaar is. Die getoonde voorbeeld is lae spanning, maar kan aangepas word vir implementering van hoër spanning.

Aanbeveel: