DIY Smart LED Dimmer kontrollert via Bluetooth: 7 trinn
DIY Smart LED Dimmer kontrollert via Bluetooth: 7 trinn

Video: DIY Smart LED Dimmer kontrollert via Bluetooth: 7 trinn

Video: DIY Smart LED Dimmer kontrollert via Bluetooth: 7 trinn
Video: #8 УМНЫЙ ДОМ TUYA wifi / SMART LED КОНТРОЛЛЕР - ДИММЕР с aliexpress 2025, Januar
Anonim
DIY Smart LED Dimmer kontrollert via Bluetooth
DIY Smart LED Dimmer kontrollert via Bluetooth

Denne instruksjonsboken beskriver hvordan du bygger en smart digital dimmer. En dimmer er en vanlig lysbryter som brukes i hus, hoteller og mange andre bygninger. Eldre versjoner av dimmerbrytere var manuelle, og ville vanligvis inneholde en dreibryter (potensiometer) eller knapper for å kontrollere lysnivået. Denne instruksjonsboken beskriver hvordan du bygger en digital dimmer som har to måter å kontrollere lysintensiteten på; en smarttelefon og fysiske knapper. De to modusene kan fungere sømløst sammen slik at brukeren kan øke eller redusere lysstyrken både fra en knapp og en smarttelefon. Prosjektet implementeres ved hjelp av en SLG46620V CMIC, HC-06 Bluetooth-modul, trykknapper og lysdioder.

Vi kommer til å bruke SLG46620V CMIC ettersom det bidrar til å minimere diskrete prosjektkomponenter. GreenPAK ™ IC -er er små og har flerbrukskomponenter, som lar en designer redusere komponenter og legge til nye funksjoner. I tillegg reduseres prosjektkostnadene senere.

SLG46620V inneholder også et SPI -tilkoblingsgrensesnitt, PWM -blokker, FSM og mange nyttige tilleggsblokker i en liten brikke. Disse komponentene lar en bruker bygge en praktisk smart dimmer som kan styres via en Bluetooth-enhet eller veggknapper, støtter langvarig dimming og tillegg av valgbare funksjoner uten bruk av en mikrokontroller eller dyre komponenter.

Nedenfor beskrev vi trinnene som trengs for å forstå hvordan løsningen er programmert til å lage en smart LED -dimmer som styres via Bluetooth. Men hvis du bare vil få resultatet av programmeringen, kan du laste ned GreenPAK -programvare for å se den allerede fullførte GreenPAK -designfilen. Koble GreenPAK Development Kit til datamaskinen din og trykk på programmet for å lage den smarte LED -dimmeren som styres via Bluetooth.

Trinn 1: Prosjektfunksjoner og grensesnitt

Prosjektfunksjoner og grensesnitt
Prosjektfunksjoner og grensesnitt

Prosjektfunksjoner:

1. To kontrollmetoder; mobilapp og ekte knapper.

2. Glatt på / av-overgang for lyset. Dette er sunnere for forbrukerens øyne. Det gir også en mer luksuriøs følelse, som appellerer til hoteller og andre servicenæringer.

3. Hvilemodus -funksjon. Dette vil være en merverdi for denne applikasjonen. Når brukeren aktiverer denne modusen, reduseres lysstyrken gradvis på 10 minutter. Dette hjelper mennesker som lider av søvnløshet. Det er også nyttig for barnas soverom og butikker (stengetid).

Prosjektgrensesnitt

Prosjektgrensesnittet har fire trykknapper, som brukes som GreenPAK -innganger:

PÅ / AV: slå lyset AV / AV (myk start / stopp).

OPP: øk lysnivået.

Ned: reduser lysnivået.

Hvilemodus: ved å aktivere hvilemodus, reduseres lysstyrken gradvis over en periode på 10 minutter. Dette gir brukeren tid før han sover og garanterer at lyset ikke vil være på hele natten.

Systemet sender ut et PWM -signal, som sendes til en ekstern LED- og hvilemodus -LED -indikator.

GreenPAK -designet består av 4 hovedblokker. Den første er en UART -mottaker, som mottar data fra Bluetooth -modulen, trekker ut bestillinger og sender dem til en kontrollenhet. Den andre blokken er en kontrollenhet, som mottar ordrer som kommer fra UART -mottakeren eller fra de eksterne knappene. Kontrollenheten bestemmer nødvendig handling (Slå PÅ/AV, Øk, reduser, aktiver hvilemodus). Denne enheten implementeres ved bruk av LUT.

Den tredje blokken forsyner CLK -generatorene. I dette prosjektet brukes en FSM -teller for å kontrollere PWM. FSMs verdi vil endres (opp, ned) i henhold til ordrene gitt av 3 frekvenser (høy, middels og lav). I denne delen vil de tre frekvensene bli generert og den nødvendige CLK passerer til FSM i henhold til den nødvendige rekkefølgen; Ved på/av -drift går høyfrekvent over til FSM til myk start/stopp. Under dimming passerer mellomfrekvensen. Lavfrekvensen går i hvilemodus for å redusere FSM -verdien langsommere. Deretter reduseres lysstyrken sakte også. Den fjerde blokken er PWM -enheten, som genererer pulser til eksterne lysdioder.

Trinn 2: GreenPAK Design

Den beste måten å bygge en dimmer på med GreenPAK er å bruke 8-biters FSM og PWM. I SLG46620 inneholder FSM1 8 bits og kan brukes med PWM1 og PWM2. Bluetooth -modulen må være tilkoblet, noe som betyr at SPI -parallellutgangen må brukes. SPI parallelle utgangsbiter 0 til 7 tilkoblinger er muxed med DCMP1, DMCP2 og LF OSC CLK, OUT1, OUT0 OSC utganger. PWM0 henter sin utgang fra FSM0 (16 bits). FSM0 stopper ikke ved 255; den øker opp til 16383. For å begrense tellerverdien til 8 bits blir en annen FSM lagt til; FSM1 brukes som en peker for å vite når telleren når 0 eller 255. FSM0 ble brukt til å generere PWM -pulsen. Siden de to FSM -verdiene må endres samtidig for å ha samme verdi, blir designet litt komplekst der det i begge FSM -er har en forhåndsdefinert, begrenset, valgbar CLK. CNT1 og CNT3 brukes som mediatorer for å overføre CLK til begge FSM.

Designet består av følgende seksjoner:

- UART -mottaker

- Kontrollenhet

- CLK -generatorer og multiplexer

- PWM

Trinn 3: UART -mottaker

UART -mottaker
UART -mottaker

Først må vi sette opp HC06 Bluetooth -modulen. HC06 bruker UART -protokollen for kommunikasjon. UART står for Universal asynkron mottaker / sender. UART kan konvertere data frem og tilbake mellom parallelle og serielle formater. Den inkluderer en seriell til parallell mottaker og en parallell til serieomformer som begge klokkes separat. Dataene som mottas i HC06 vil bli overført til GreenPAK -enheten vår. Tomgangstilstanden for Pin 10 er HØY. Hvert tegn som sendes begynner med en logisk LAV startbit, etterfulgt av et konfigurerbart antall databiter og en eller flere logiske HIGH -stoppbiter.

HC06 sender 1 START -bit, 8 databiter og en STOPP -bit. Standard overføringshastighet er 9600. Vi sender databyte fra HC06 til GreenPAK SLG46620Vs SPI -blokk.

Siden SPI -blokken ikke har START- eller STOPP -bitkontroll, brukes disse bitene i stedet for å aktivere og deaktivere SPI -klokkesignalet (SCLK). Når Pin 10 går LOW, har IC mottatt en START -bit, så vi bruker PDLY fallende kantdetektoren til å identifisere starten på kommunikasjonen. Den fallende kantdetektoren klokker DFF0, som gjør at SCLK -signalet kan klokke SPI -blokken.

Overføringshastigheten vår er 9600 bits per sekund, så SCLK -perioden vår må være 1/9600 = 104 µs. Derfor satte vi OSC -frekvensen til 2 MHz og brukte CNT0 som en frekvensdeler.

2 MHz - 1 = 0,5 µs

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

Derfor vil vi at CNT0 -tellerverdien skal være 207. For å sikre at data ikke går glipp av, legges en halv klokkesyklusforsinkelse på SPI -klokken til slik at SPI -blokken blir klokket på riktig tidspunkt. Dette oppnås ved å bruke CNT6, 2-biters LUT1 og OSC-blokkens eksterne klokke. Utgangen av CNT6 blir ikke høy før 52 µs etter at DFF0 er klokket, noe som er nøyaktig halvparten av vår SCLK -periode på 104 µs. Når det går høyt, lar 2-bits LUT1 AND-porten 2 MHz OSC-signalet passere inn i EXT. CLK0 -inngang, hvis utgang er koblet til CNT0.

Trinn 4: Kontrollenhet

Kontrollenhet
Kontrollenhet

I denne delen vil kommandoer bli utført i henhold til mottatt byte fra UART -mottakeren, eller i henhold til signalene fra de eksterne knappene. Pins 12, 13, 14, 15 initialiseres som innganger og kobles til eksterne knapper.

Hver pinne er internt koblet til en OR -inngang, mens den andre inngangen til porten er koblet til det tilsvarende signalet som kommer fra smarttelefonen via Bluetooth som kommer til å vises på SPI Parallel -utgang.

DFF6 brukes til å aktivere hvilemodus der utgangen endres til høy med stigende kant fra 2-bits LUT4, mens DFF10 brukes til å opprettholde lysstatusen, og utgangen endres fra lav til høy og omvendt med hver stigende kant som kommer fra 3-bits LUT10-utgang.

FSM1 er en 8-bits teller; det gir en høy puls på utgangen når verdien når til 0 eller 255. Følgelig brukes den til å forhindre at FSM0 (16-bit) overskrider verdien 255, ettersom utgangen nullstiller DFF-er og den endrer DFF10-status fra på til av og omvendt hvis belysningen styres av knappene +, - og maksimum/minimumsnivået er nådd.

Signalene koblet til FSM1 -innganger holder, opp når FSM0 gjennom P11 og P12 for å synkronisere og beholde samme verdi på begge tellere.

Trinn 5: CLK -generatorer og multiplexer

CLK Generatorer og Multiplexer
CLK Generatorer og Multiplexer

I denne delen vil tre frekvenser bli generert, men bare én vil klokke FSM -ene til enhver tid. Den første frekvensen er RC OSC, som hentes fra matrisen 0 til og med P0. Den andre frekvensen er LF OSC som også hentes fra matrisen 0 til og med P1; den tredje frekvensen er CNT7 -utgangen.

3-biters LUT9 og 3-biters LUT11 lar en frekvens passere, i henhold til 3-biters LUT14-utgang. Etter det sender den valgte klokken til FSM0 og FSM1 gjennom CNT1 og CNT3.

Trinn 6: PWM

PWM
PWM

Til slutt transformeres FSM0 -verdien til PWM -signal for å vises gjennom pin 20 som initialiseres som en utgang og den er koblet til de eksterne lysdiodene.

Trinn 7: Android -app

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

Android -appen har et virtuelt kontrollgrensesnitt som ligner det virkelige grensesnittet. Den har fem knapper; PÅ / AV, OPP, NED, Dvalemodus og Koble til. Denne Android -applikasjonen vil kunne konvertere knappetrykk til en kommando og sende kommandoene til Bluetooth -modulen som skal utføres.

Denne appen ble laget med MIT App Inventor, som ikke krever noen programmeringserfaring. App Inventor lar utvikleren lage en applikasjon for Android OS -enheter ved hjelp av en nettleser ved å koble til programmeringsblokker. Du kan importere appen vår til MIT App Inventor ved å klikke på Prosjekter -> Importer prosjekt (.aia) fra datamaskinen min og velge.aia -filen som følger med denne appnoten.

For å opprette Android -applikasjonen må et nytt prosjekt startes. Det kreves fem knapper: en er en listevelger for Bluetooth -enheter, og de andre er kontrollknappene. Vi må også legge til en Bluetooth -klient. Figur 6 er en skjermdump av brukergrensesnittet til Android -applikasjonen vår.

Etter at vi har lagt til knappene, skal vi tildele en programvarefunksjon for hver knapp. Vi skal bruke 4 biter for å representere statusen til knappene. En bit for hver knapp, og derfor, når du trykker på knappen, vil et bestemt nummer bli sendt via Bluetooth til den fysiske kretsen.

Disse tallene er vist i tabell 1.

Konklusjon

Denne instruksjonsboken beskriver en smart dimmer som kan styres på to måter; en Android -app og ekte knapper. Fire separate blokker er skissert i GreenPAK SLG46620V som styrer prosessflyten for å øke eller redusere PWM for et lys. I tillegg er en hvilemodusfunksjon skissert som et eksempel på ekstra modulering tilgjengelig for applikasjonen. Eksemplet som vises er lavspenning, men kan modifiseres for implementeringer med høyere spenning.