Indholdsfortegnelse:

DIY -kontrol RGB LED -farve via Bluetooth: 5 trin
DIY -kontrol RGB LED -farve via Bluetooth: 5 trin

Video: DIY -kontrol RGB LED -farve via Bluetooth: 5 trin

Video: DIY -kontrol RGB LED -farve via Bluetooth: 5 trin
Video: How To Make LED RGB Light At Home | LED Light For Diwali Decoration 2024, Juli
Anonim
DIY -kontrol RGB LED -farve via Bluetooth
DIY -kontrol RGB LED -farve via Bluetooth

Smarte pærer har været stigende i popularitet for nylig og bliver støt en vigtig del af værktøjssættet til smarte hjem. Smarte pærer gør det muligt for brugeren at styre deres lys via en speciel applikation på brugerens smartphone; pæren kan tændes og slukkes, og farven kan ændres fra applikationsgrænsefladen. I dette projekt byggede vi en smart pære -controller, der kan styres fra en manuel knap eller en mobilapplikation via Bluetooth. For at tilføje noget flair til dette projekt har vi tilføjet nogle funktioner, som gør det muligt for brugeren at vælge en lysfarve fra listen over farver, der er inkluderet i applikationsgrænsefladen. Det kan også aktivere et "auto -mix" for at generere farveeffekter og ændre belysningen hvert halve sekund. Brugeren kan oprette sit eget farveblanding ved hjælp af en PWM -funktion, der også kan bruges som en dæmper for de tre grundfarver (rød, grøn, blå). Vi tilføjede også eksterne knapper til kredsløbet, så brugeren kan skifte til manuel tilstand og ændre lysfarven fra en ekstern knap.

Denne instruks består af to sektioner; GreenPAK ™ -designet og Android -appdesignet. GreenPAK -designet er baseret på at bruge en UART -grænseflade til kommunikation. UART vælges, fordi det understøttes af de fleste Bluetooth -moduler samt de fleste andre eksterne enheder, f.eks. WIFI -moduler. Derfor kan GreenPAK -designet bruges i mange tilslutningstyper.

For at bygge dette projekt skal vi bruge SLG46620 CMIC, et Bluetooth -modul og en RGB LED. GreenPAK IC kommer til at være kontrolkernen i dette projekt; den modtager data fra et Bluetooth -modul og/eller eksterne knapper og starter derefter den nødvendige procedure for at vise den korrekte belysning. Det genererer også PWM -signalet og sender det til LED'en. Figur 1 nedenfor viser blokdiagrammet.

GreenPAK -enheden, der bruges i dette projekt, indeholder en SPI -forbindelsesgrænseflade, PWM -blokke, FSM og en masse andre nyttige ekstra blokke i en IC. Det er også kendetegnet ved sin lille størrelse og lave energiforbrug. Dette vil gøre det muligt for producenterne at opbygge et lille praktisk kredsløb ved hjælp af en enkelt IC, og dermed vil produktionsomkostningerne blive minimeret i forhold til lignende systemer.

I dette projekt styrer vi en RGB LED. For at gøre projektet kommercielt levedygtigt ville et system sandsynligvis skulle øge lysstyrkeniveauet ved at forbinde mange LED'er parallelt og bruge de passende transistorer; strømkredsløbet skal også tages i betragtning.

Du kan gennemgå alle trin for at forstå, hvordan GreenPAK -chippen er programmeret til at styre RGB LED -farve via Bluetooth. Men hvis du bare let vil programmere IC'en uden at forstå alt det indre kredsløb, skal du downloade GreenPAK -software for at se den allerede gennemførte GreenPAK -designfil. Tilslut GreenPAK Development Kit til din computer, og tryk på programmet for at oprette den brugerdefinerede IC til at styre RGB LED -farve via Bluetooth.

GreenPAK -designet består af UART -modtageren, PWM -enheden og styreenheden beskrevet i trinene herunder.

Trin 1: UART -modtager

UART -modtager
UART -modtager

Først skal vi konfigurere Bluetooth -modulet. De fleste Bluetooth IC'er understøtter UART -protokollen til kommunikation. UART står for Universal Asynchronous Receiver / Transmitter. UART kan konvertere data frem og tilbage mellem parallelle og serielle formater. Det indeholder en seriel til parallel modtager og en parallel til seriel konverter, der begge er uret separat.

De data, der modtages i Bluetooth -modulet, overføres til vores GreenPAK -enhed. Tomgangstilstanden for Pin10 er HØJ. Hvert tegn, der sendes, begynder med en logisk LOW startbit efterfulgt af et konfigurerbart antal databit og en eller flere logiske HIGH stop -bits.

UART -senderen sender 1 START bit, 8 databit og en STOP bit. Normalt er standard baudhastigheden for et UART Bluetooth -modul 9600. Vi sender databyte fra Bluetooth IC til GreenPAK ™ SLG46620s SPI -blok.

Da GreenPAK SPI -blokken ikke har START- eller STOP -bitkontrol, vil vi bruge disse bits i stedet for at aktivere og deaktivere SPI -klokkesignalet (SCLK). Når Pin10 går LAVT, ved vi, at vi har modtaget en START -bit, så vi bruger PDLY -faldende kantdetektoren til at identificere starten på kommunikation. Denne faldende detektor urer DFF0, hvilket gør det muligt for SCLK -signalet at klokke SPI -blokken.

Vores baudhastighed er 9600 bits pr. Sekund, så vores SCLK -periode skal være 1/9600 = 104 μs. Derfor satte vi OSC -frekvensen til 2MHz og brugte CNT0 som en frekvensdeler.

2 MHz-1 = 0,5 μs

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

Derfor vil vi have, at CNT0 -tællerværdien er 207. For at sikre, at vi ikke går glip af nogen data, skal vi forsinke SPI -uret med en halv urcyklus, så SPI -blokken bliver klokket på det rigtige tidspunkt. Vi opnåede dette ved at bruge CNT6, 2-bit LUT1 og OSC-blokens eksterne ur. Outputtet af CNT6 går ikke højt før 52 μs efter DFF0 er blevet klokket, hvilket er halvdelen af vores 104 μs SCLK -periode. Når CNT6 er høj, tillader 2-bit LUT1 AND gate 2MHz OSC-signalet at passere ind i EXT. CLK0 -indgang, hvis output er forbundet til CNT0.

Trin 2: PWM -enhed

PWM -enhed
PWM -enhed

PWM -signalet genereres ved hjælp af PWM0 og en tilhørende urpulsgenerator (CNT8/DLY8). Da pulsbredden er brugerstyrbar, bruger vi FSM0 (som kan forbindes til PWM0) til at tælle brugerdata.

I SLG46620 kan 8-bit FSM1 bruges med PWM1 og PWM2. Bluetooth -modulet skal være tilsluttet, hvilket betyder, at SPI -paralleludgangen skal bruges. SPI -parallelle udgangsbit 0 til 7 er muxet med DCMP1, DMCP2 og LF OSC CLK's OUT1 og OUT0. PWM0 henter sit output fra 16-bit FSM0. Venstre uændret får dette pulsbredden til at overbelaste. For at begrænse tællerværdien til 8 bit tilføjes endnu en FSM; FSM1 bruges som en markør til at vide, hvornår tælleren når enten 0 eller 255. FSM0 bruges til at generere PWM -pulsen. FSM0 og FSM1 skal synkroniseres. Da begge FSM'er har forudindstillede urmuligheder, bruges CNT1 og CNT3 som mediatorer til at videregive CLK til begge FSM'er. De to tællere er indstillet til den samme værdi, hvilket er 25 for denne instruerbare. Vi kan ændre ændringshastigheden for PWM -værdien ved at ændre disse tællerværdier.

Værdien af FSM'erne øges og reduceres med signalerne '+' og '-', som stammer fra SPI Parallel Output.

Trin 3: Kontrolenhed

Styreenhed
Styreenhed

Inden for styreenheden føres den modtagne byte fra Bluetooth -modulet til SPI Parallel Output og sendes derefter til de tilhørende funktioner. Først vil PWM CS1 og PWM CS2 udgange blive kontrolleret for at se, om PWM -mønsteret er aktiveret eller ej. Hvis den er aktiveret, vil den bestemme, hvilken kanal der vil udsende PWM via LUT4, LUT6 og LUT7.

LUT9, LUT11 og LUT14 er ansvarlige for at kontrollere tilstanden for de to andre lysdioder. LUT10, LUT12 og LUT13 kontrollerer, om knappen Manuel er aktiveret eller ej. Hvis manuel tilstand er aktiv, fungerer RGB -udgange i henhold til udgangstilstandene D0, D1, D2, som ændres hver gang der trykkes på farveknappen. Det ændrer sig med den stigende kant, der kommer fra CNT9, som bruges som en stigende kantdebouncer.

Pin 20 er konfigureret som en input og bruges til at skifte mellem manuel og Bluetooth -kontrol.

Hvis manuel tilstand er deaktiveret, og Auto mixer -tilstand er aktiveret, ændres farven hver 500 ms med den stigende kant fra CNT7. En 4-bit LUT1 bruges til at forhindre '000'-tilstand for D0 D1 D2, da denne tilstand får lyset til at slukke under Auto mixer-tilstand.

Hvis manuel tilstand, PWM -tilstand og Auto mixer -tilstand ikke er aktiveret, flyder de røde, grønne og blå SPI -kommandoer til ben 12, 13 og 14, som er konfigureret som udgange og er forbundet til den eksterne RGB -LED.

DFF1, DFF2 og DFF3 bruges til at bygge en 3-bit binær tæller. Tællerværdien stiger med CNT7 -impulser, der passerer gennem P14 i Auto mixer -tilstand eller fra signaler, der kommer fra farveknappen (PIN3) i manuel tilstand.

Trin 4: Android -applikation

Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation
Android -applikation

I dette afsnit skal vi bygge en Android -applikation, der overvåger og viser brugerens kontrolvalg. Grænsefladen består af to sektioner: den første sektion indeholder et sæt knapper, der har foruddefinerede farver, så når der trykkes på en af disse knapper, lyser en LED med samme tilsvarende farve. Det andet afsnit (MIX -firkant) skaber en blandet farve til brugeren.

I det første afsnit vælger brugeren den LED -pin, som de vil have PWM -signalet til at passere igennem; PWM -signalet kan kun sendes til en pin ad gangen. Den nederste liste styrer de to andre farver logisk til/fra under PWM -tilstand.

Auto mixer -knappen er ansvarlig for at køre det automatiske lysskiftemønster, hvor lyset ændres hvert halve sekund. MIX -afsnittet indeholder to afkrydsningsfeltlister, så brugeren kan bestemme, hvilke to farver der skal blandes sammen.

Vi byggede applikationen ved hjælp af MIT -appens opfinderwebsted. Det er et websted, der tillader opbygning af Android -applikationer uden forudgående softwareoplevelse ved hjælp af grafiske softwareblokke.

Først designede vi en grafisk grænseflade ved at tilføje et sæt knapper, der er ansvarlige for at vise de foruddefinerede farver, vi tilføjede også to afkrydsningsfeltlister, og hver liste har 3 elementer; hvert element er skitseret i sin individuelle boks, som vist i figur 5.

Knapperne i brugergrænsefladen er knyttet til softwarekommandoer: alle kommandoer, som appen sender via Bluetooth, er i byteformat, og hver bit er ansvarlig for en bestemt funktion. Tabel 1 viser formen for de kommandorammer, der er sendt til GreenPAK.

De første tre bits, B0, B1 og B2, vil holde tilstanden for RGB -lysdioder i direkte styringstilstand ved hjælp af knapperne i de foruddefinerede farver. Når du klikker på en af dem, sendes den tilsvarende værdi af knappen således som vist i tabel 2.

Bitene B3 og B4 indeholder kommandoerne '+' og '-', som er ansvarlige for at øge og formindske pulsbredden. Når der trykkes på knappen, vil bitværdien være 1, og når knappen slippes, vil bitværdien være 0.

B5- og B6 -bitene er ansvarlige for at vælge den pin (farve), som PWM -signalet vil passere igennem: farvebetegnelserne for disse bits er vist i tabel 3. Den sidste bit, B7, er ansvarlig for aktivering af auto -mixer.

Figur 6 og 7 viser processen med at forbinde knapper med programmeringsblokke, der er ansvarlige for at sende de tidligere værdier.

For at se det fulde design af applikationen kan du downloade den vedhæftede fil “.aia” med projektfilerne og åbne den på hovedwebstedet.

Figur 8 nedenfor viser kredsløbsdiagrammet på øverste niveau.

Trin 5: Resultater

Controlleren blev testet med succes, og farveblandingen sammen med andre funktioner viste sig at fungere korrekt.

Konklusion

I denne Instructable blev et smart pære kredsløb bygget til at blive trådløst styret af en Android -applikation. GreenPAK CMIC, der blev brugt i dette projekt, hjalp også med at forkorte og integrere flere essentielle komponenter til lysstyring i en lille IC.

Anbefalede: