Innholdsfortegnelse:

DIY -kontroll RGB LED -farge via Bluetooth: 5 trinn
DIY -kontroll RGB LED -farge via Bluetooth: 5 trinn

Video: DIY -kontroll RGB LED -farge via Bluetooth: 5 trinn

Video: DIY -kontroll RGB LED -farge via Bluetooth: 5 trinn
Video: Светодиодная люстра с RGB подсветкой своими руками. Пошаговая инструкция. 2024, November
Anonim
DIY -kontroll RGB LED -farge via Bluetooth
DIY -kontroll RGB LED -farge via Bluetooth

Smarte pærer har blitt stadig mer populære og blir stadig en viktig del av verktøyet for smarthus. Smarte pærer gjør at brukeren kan kontrollere lyset sitt via en spesiell applikasjon på brukerens smarttelefon; pæren kan slås av og på og fargen kan endres fra applikasjonsgrensesnittet. I dette prosjektet bygde vi en smart pærekontroller som kan styres fra en manuell knapp eller en mobilapplikasjon via Bluetooth. For å legge til litt teft i dette prosjektet har vi lagt til noen funksjoner som lar brukeren velge en lysfarge fra listen over farger som er inkludert i applikasjonsgrensesnittet. Den kan også aktivere en "automatisk blanding" for å generere fargeeffekter og endre belysningen hvert halve sekund. Brukeren kan lage sin egen fargemiks ved hjelp av en PWM -funksjon som også kan brukes som en dimmer for de tre grunnfargene (rød, grønn, blå). Vi har også lagt til eksterne knapper i kretsen slik at brukeren kan bytte til manuell modus og endre lysfargen fra en ekstern knapp.

Denne instruksen består av to seksjoner; GreenPAK ™ -designet og Android -appdesignet. GreenPAK -designet er basert på bruk av et UART -grensesnitt for kommunikasjon. UART er valgt fordi det støttes av de fleste Bluetooth -moduler, så vel som de fleste andre eksterne enheter, for eksempel WIFI -moduler. Følgelig kan GreenPAK -designet brukes i mange tilkoblingstyper.

For å bygge dette prosjektet skal vi bruke SLG46620 CMIC, en Bluetooth -modul og en RGB LED. GreenPAK IC kommer til å være kontrollkjernen i dette prosjektet; den mottar data fra en Bluetooth -modul og/eller eksterne knapper, og starter deretter den nødvendige prosedyren for å vise riktig belysning. Det genererer også PWM -signalet og sender det til LED -en. Figur 1 nedenfor viser blokkdiagrammet.

GreenPAK -enheten som brukes i dette prosjektet inneholder et SPI -tilkoblingsgrensesnitt, PWM -blokker, FSM og mange andre nyttige tilleggsblokker i en IC. Det er også preget av sin lille størrelse og lave energiforbruk. Dette vil gjøre det mulig for produsenter å bygge en liten praktisk krets ved hjelp av en enkelt IC, og dermed vil produksjonskostnadene bli minimert sammenlignet med lignende systemer.

I dette prosjektet kontrollerer vi én RGB LED. For å gjøre prosjektet kommersielt levedyktig, vil et system sannsynligvis trenge å øke lysstyrken ved å koble mange lysdioder parallelt og bruke passende transistorer; strømkretsen må også tas i betraktning.

Du kan gå gjennom alle trinnene for å forstå hvordan GreenPAK -brikken er programmert til å kontrollere RGB LED -farge via Bluetooth. Imidlertid, hvis du bare vil programmere IC -en uten å forstå alle de indre kretsene, 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 egendefinerte ICen for å kontrollere RGB LED Color via Bluetooth.

GreenPAK -designet består av UART -mottakeren, PWM -enheten og kontrollenheten beskrevet i trinnene nedenfor.

Trinn 1: UART -mottaker

UART -mottaker
UART -mottaker

Først må vi sette opp Bluetooth -modulen. De fleste Bluetooth IC støtter 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 Bluetooth -modulen, blir overført til GreenPAK -enheten vår. Tomgangstilstanden for Pin10 er HØY. Hvert tegn som sendes begynner med en logisk LOW startbit, etterfulgt av et konfigurerbart antall databiter og en eller flere logic HIGH stop bits.

UART -senderen sender 1 START -bit, 8 databiter og en STOPP -bit. Vanligvis er standard overføringshastighet for en UART Bluetooth -modul 9600. Vi sender databyte fra Bluetooth IC til GreenPAK ™ SLG46620s SPI -blokk.

Siden GreenPAK SPI -blokken ikke har START- eller STOPP -bitkontroll, bruker vi disse bitene i stedet for å aktivere og deaktivere SPI -klokkesignalet (SCLK). Når Pin10 går LAV, vet vi at vi har 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.

Baudhastigheten 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 2MHz 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 vi ikke går glipp av data, må vi utsette SPI -klokken med en halv klokkesyklus slik at SPI -blokken blir klokket til riktig tid. Vi oppnådde dette ved å bruke CNT6, 2-biters LUT1 og OSC-blokkens eksterne klokke. Utgangen av CNT6 går ikke høyt før 52 μs etter at DFF0 er klokket, som er halvparten av vår 104 μs SCLK -periode. Når CNT6 er høy, lar 2-bits LUT1 AND-porten 2MHz OSC-signalet passere inn i EXT. CLK0 -inngang, hvis utgang er koblet til CNT0.

Trinn 2: PWM -enhet

PWM -enhet
PWM -enhet

PWM -signalet genereres ved hjelp av PWM0 og en tilhørende klokkepulsgenerator (CNT8/DLY8). Siden pulsbredden er brukerstyrbar, bruker vi FSM0 (som kan kobles til PWM0) for å telle brukerdata.

I SLG46620 kan 8-biters FSM1 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 er muxed med DCMP1, DMCP2 og LF OSC CLKs OUT1 og OUT0. PWM0 henter sin utgang fra 16-biters FSM0. Venstre uendret fører til at pulsbredden overbelastes. For å begrense tellerverdien til 8 bits blir en annen FSM lagt til; FSM1 brukes som en peker for å vite når telleren når enten 0 eller 255. FSM0 brukes til å generere PWM -pulsen. FSM0 og FSM1 må synkroniseres. Siden begge FSM -er har forhåndsinnstilte klokkealternativer, brukes CNT1 og CNT3 som mediatorer for å overføre CLK til begge FSM -er. De to tellerne er satt til samme verdi, som er 25 for denne instruerbare. Vi kan endre endringshastigheten til PWM -verdien ved å endre disse tellerverdiene.

Verdien av FSM-er økes og reduseres med signalene '+' og '-', som stammer fra SPI Parallel Output.

Trinn 3: Kontrollenhet

Kontrollenhet
Kontrollenhet

Innenfor kontrollenheten tas den mottatte byten fra Bluetooth -modulen til SPI Parallel Output og sendes deretter til de tilhørende funksjonene. Først vil PWM CS1 og PWM CS2 utganger bli sjekket for å se om PWM -mønsteret er aktivert eller ikke. Hvis den er aktivert, vil den avgjøre hvilken kanal som skal sende PWM gjennom LUT4, LUT6 og LUT7.

LUT9, LUT11 og LUT14 er ansvarlige for å kontrollere tilstanden til de to andre lysdiodene. LUT10, LUT12 og LUT13 sjekker om den manuelle knappen er aktivert eller ikke. Hvis manuell modus er aktiv, fungerer RGB -utgangene i henhold til utgangstilstandene D0, D1, D2, som endres hver gang du trykker på fargeknappen. Det endres med stigende kant som kommer fra CNT9, som brukes som en stigende kantdebouncer.

Pin 20 er konfigurert som en inngang og brukes til å bytte mellom manuell og Bluetooth -kontroll.

Hvis manuell modus er deaktivert og Auto mikser -modus er aktivert, endres fargen hver 500 ms med stigende kant fra CNT7. En 4-biters LUT1 brukes for å forhindre tilstanden '000' for D0 D1 D2, siden denne tilstanden får lyset til å slås av under Auto mixer-modus.

Hvis manuell modus, PWM -modus og modus for automatisk mikser ikke er aktivert, flyter de røde, grønne og blå SPI -kommandoene til pinnene 12, 13 og 14, som er konfigurert som utganger og er koblet til den eksterne RGB -LED -en.

DFF1, DFF2 og DFF3 brukes til å bygge en 3-bits binær teller. Tellerverdien øker med CNT7 -pulser som passerer gjennom P14 i Auto mixer -modus, eller fra signaler som kommer fra Color -knappen (PIN3) i manuell modus.

Trinn 4: Android -applikasjon

Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon
Android -applikasjon

I denne delen skal vi bygge en Android -applikasjon som vil overvåke og vise brukerens kontrollvalg. Grensesnittet består av to seksjoner: den første delen inneholder et sett med knapper som har forhåndsdefinerte farger, slik at når en av disse knappene trykkes, lyser en LED med samme farge. Den andre delen (MIX kvadrat) skaper en blandet farge for brukeren.

I den første delen velger brukeren LED -pinnen som de vil at PWM -signalet skal passere gjennom; PWM -signalet kan bare sendes til en pinne om gangen. Den nedre listen styrer de to andre fargene logisk på/av under PWM -modus.

Den automatiske mikser -knappen er ansvarlig for å kjøre det automatiske lysskiftemønsteret hvor lyset endres hvert halve sekund. MIX -delen inneholder to avmerkingsbokslister slik at brukeren kan bestemme hvilke to farger som skal blandes sammen.

Vi bygde applikasjonen ved hjelp av MIT -appen for oppfinnere. Det er et nettsted som gjør det mulig å bygge Android -applikasjoner uten tidligere programvareerfaring ved bruk av grafiske programvareblokker.

Først designet vi et grafisk grensesnitt ved å legge til et sett med knapper som er ansvarlig for å vise de forhåndsdefinerte fargene, vi la også til to avmerkingsbokslister, og hver liste har 3 elementer; hvert element er skissert i sin individuelle eske, som vist i figur 5.

Knappene i brukergrensesnittet er koblet til programvarekommandoer: alle kommandoene appen sender via Bluetooth vil være i byteformat, og hver bit er ansvarlig for en bestemt funksjon. Tabell 1 viser formen på kommandorammene som er sendt til GreenPAK.

De tre første bitene, B0, B1 og B2, vil holde tilstanden til RGB -lysdioder i direkte kontrollmodus med knappene i de forhåndsdefinerte fargene. Når du klikker på en av dem, vil den tilsvarende verdien av knappen bli sendt, som vist i tabell 2.

Bitene B3 og B4 holder kommandoene '+' og '-', som er ansvarlige for å øke og redusere pulsbredden. Når du trykker på knappen vil bitverdien være 1, og når knappen slippes vil bitverdien være 0.

B5- og B6 -bitene er ansvarlige for å velge pinnen (farge) som PWM -signalet vil passere gjennom: fargebetegnelsene til disse bitene er vist i tabell 3. Den siste biten, B7, er ansvarlig for å aktivere auto -mikseren.

Figur 6 og 7 viser prosessen med å koble knapper til programmeringsblokker som er ansvarlige for å sende de tidligere verdiene.

For å se hele utformingen av applikasjonen, kan du laste ned den vedlagte filen ".aia" med prosjektfilene og åpne den på hovedstedet.

Figur 8 nedenfor viser kretsdiagrammet på toppnivå.

Trinn 5: Resultater

Kontrolleren ble testet vellykket, og fargemiksingen, sammen med andre funksjoner, viste seg å fungere riktig.

Konklusjon

I denne instruksjonsboken ble en smart pære krets bygget for å bli trådløst styrt av en Android -applikasjon. GreenPAK CMIC som ble brukt i dette prosjektet bidro også til å forkorte og legge inn flere viktige komponenter for lysstyring i en liten IC.

Anbefalt: