Innehållsförteckning:

DIY -kontroll RGB LED -färg via Bluetooth: 5 steg
DIY -kontroll RGB LED -färg via Bluetooth: 5 steg

Video: DIY -kontroll RGB LED -färg via Bluetooth: 5 steg

Video: DIY -kontroll RGB LED -färg via Bluetooth: 5 steg
Video: Amazing Idea Using RGB LED 2024, Juli
Anonim
DIY -kontroll RGB LED -färg via Bluetooth
DIY -kontroll RGB LED -färg via Bluetooth

Smarta lampor har ökat i popularitet den senaste tiden och blir stadigt en viktig del av verktyget för smarta hem. Smarta lampor gör det möjligt för användaren att styra sitt ljus via en speciell applikation på användarens smarttelefon; lampan kan slås på och av och färgen kan ändras från applikationsgränssnittet. I detta projekt byggde vi en smart lampa som kan styras från en manuell knapp eller en mobilapplikation via Bluetooth. För att ge lite stil till det här projektet har vi lagt till några funktioner som gör att användaren kan välja en ljusfärg från listan över färger som ingår i applikationsgränssnittet. Den kan också aktivera en "automatisk mix" för att generera färgeffekter och ändra belysningen var halv sekund. Användaren kan skapa sin egen färgmix med en PWM -funktion som också kan användas som en dimmer för de tre grundfärgerna (rött, grönt, blått). Vi har också lagt till externa knappar i kretsen så att användaren kan växla till manuellt läge och ändra ljusfärgen från en extern knapp.

Denna instruktionsbok består av två sektioner; GreenPAK ™ -designen och Android -appdesignen. GreenPAK -designen bygger på att använda ett UART -gränssnitt för kommunikation. UART väljs eftersom det stöds av de flesta Bluetooth -moduler, liksom de flesta andra kringutrustning, till exempel WIFI -moduler. Följaktligen kan GreenPAK -designen användas i många anslutningstyper.

För att bygga detta projekt kommer vi att använda SLG46620 CMIC, en Bluetooth -modul och en RGB LED. GreenPAK IC kommer att vara kontrollkärnan i detta projekt; den tar emot data från en Bluetooth -modul och/eller externa knappar och börjar sedan den procedur som krävs för att visa rätt belysning. Den genererar också PWM -signalen och matar ut den till lysdioden. Figur 1 nedan visar blockschemat.

GreenPAK -enheten som används i detta projekt innehåller ett SPI -anslutningsgränssnitt, PWM -block, FSM och många andra användbara ytterligare block i en IC. Det kännetecknas också av sin lilla storlek och låga energiförbrukning. Detta gör det möjligt för tillverkare att bygga en liten praktisk krets med en enda IC, så produktionskostnaderna kommer att minimeras jämfört med liknande system.

I detta projekt styr vi en RGB LED. För att göra projektet kommersiellt gångbart skulle ett system sannolikt behöva öka ljusstyrkan genom att ansluta många lysdioder parallellt och använda lämpliga transistorer; strömkretsen måste också beaktas.

Du kan gå igenom alla steg för att förstå hur GreenPAK -chipet har programmerats för att styra RGB LED -färg via Bluetooth. Men om du bara vill programmera IC utan att förstå alla inre kretsar, ladda ner GreenPAK -programvara för att se den redan färdiga GreenPAK -designfilen. Anslut GreenPAK Development Kit till din dator och tryck på programmet för att skapa anpassad IC för att styra RGB LED -färg via Bluetooth.

GreenPAK -designen består av UART -mottagaren, PWM -enheten och styrenheten som beskrivs i stegen nedan.

Steg 1: UART -mottagare

UART -mottagare
UART -mottagare

Först måste vi konfigurera Bluetooth -modulen. De flesta Bluetooth IC: er stöder UART -protokollet för kommunikation. UART står för Universal Asynchronous Receiver / Transmitter. UART kan konvertera data fram och tillbaka mellan parallella och serieformat. Den innehåller en serie till parallell mottagare och en parallell till seriell omvandlare som båda klockas separat.

Data som tas emot i Bluetooth -modulen överförs till vår GreenPAK -enhet. Tomgångstillståndet för Pin10 är HÖG. Varje tecken som skickas börjar med en logisk LÅG startbit, följt av ett konfigurerbart antal databitar och en eller flera logiska HIGH -stoppbitar.

UART -sändaren skickar 1 START -bit, 8 databitar och en STOPP -bit. Vanligtvis är standardöverföringshastigheten för en UART Bluetooth -modul 9600. Vi skickar databyte från Bluetooth IC till GreenPAK ™ SLG46620s SPI -block.

Eftersom GreenPAK SPI -blocket inte har START- eller STOPP -bitkontroll, använder vi dessa bitar istället för att aktivera och inaktivera SPI -klocksignalen (SCLK). När Pin10 går LÅG vet vi att vi har fått en START -bit, så vi använder PDLY fallande kantdetektorn för att identifiera kommunikationens start. Den fallande kantdetektorn klockar DFF0, vilket gör att SCLK -signalen kan klocka SPI -blocket.

Vår överföringshastighet är 9600 bitar per sekund, så vår SCLK -period måste vara 1/9600 = 104 μs. Därför ställer vi in OSC -frekvensen till 2MHz och använder CNT0 som en frekvensdelare.

2 MHz-1 = 0,5 μs

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

Därför vill vi att CNT0 -räknarvärdet ska vara 207. För att vi inte ska missa data måste vi fördröja SPI -klockan med en halv klockcykel så att SPI -blocket klockas vid rätt tidpunkt. Vi uppnådde detta genom att använda CNT6, 2-bitars LUT1 och OSC-blockets externa klocka. Utsignalen från CNT6 blir inte hög förrän 52 μs efter att DFF0 har klockats, vilket är hälften av vår 104 μs SCLK -period. När CNT6 är hög låter 2-bitars LUT1 AND-grinden 2MHz OSC-signalen passera in i EXT. CLK0 -ingång, vars utgång är ansluten till CNT0.

Steg 2: PWM -enhet

PWM -enhet
PWM -enhet

PWM -signalen genereras med PWM0 och en tillhörande klockpulsgenerator (CNT8/DLY8). Eftersom pulsbredden är användarstyrbar använder vi FSM0 (som kan anslutas till PWM0) för att räkna användardata.

I SLG46620 kan 8-bitars FSM1 användas med PWM1 och PWM2. Bluetooth -modulen måste vara ansluten, vilket innebär att SPI -parallellutgången måste användas. SPI -parallella utgångsbitarna 0 till 7 är muxade med DCMP1, DMCP2 och LF OSC CLK: s OUT1 och OUT0. PWM0 hämtar sin utmatning från 16-bitars FSM0. Vänster oförändrad detta gör att pulsbredden överbelastas. För att begränsa räknarvärdet till 8 bitar läggs ytterligare en FSM till; FSM1 används som en pekare för att veta när räknaren når antingen 0 eller 255. FSM0 används för att generera PWM -pulsen. FSM0 och FSM1 måste synkroniseras. Eftersom båda FSM -enheterna har förinställda klockalternativ används CNT1 och CNT3 som medlare för att överföra CLK till båda FSM: erna. De två räknarna är inställda på samma värde, vilket är 25 för denna instruerbara. Vi kan ändra förändringstakten för PWM -värdet genom att ändra dessa räknarvärden.

Värdet på FSM: erna ökar och minskar med signalerna '+' och '-', som kommer från SPI Parallel Output.

Steg 3: Kontrollenhet

Styrenhet
Styrenhet

Inom styrenheten tas den mottagna byten från Bluetooth -modulen till SPI Parallel Output och skickas sedan till de tillhörande funktionerna. Först kommer PWM CS1- och PWM CS2 -utgångarna att kontrolleras för att se om PWM -mönstret är aktiverat eller inte. Om den är aktiverad avgör den vilken kanal som kommer att mata ut PWM genom LUT4, LUT6 och LUT7.

LUT9, LUT11 och LUT14 ansvarar för att kontrollera tillståndet för de andra två lysdioderna. LUT10, LUT12 och LUT13 kontrollera om manuell knapp är aktiverad eller inte. Om manuellt läge är aktivt fungerar RGB -utgångarna enligt utgångslägena D0, D1, D2, som ändras varje gång du trycker på färgknappen. Det förändras med den stigande kanten som kommer från CNT9, som används som en stigande kantavvisare.

Pin 20 är konfigurerad som en ingång och används för att växla mellan manuell och Bluetooth -kontroll.

Om manuellt läge är inaktiverat och Auto mixer -läget är aktiverat, ändras färgen var 500: e ms med den stigande kanten från CNT7. En 4-bitars LUT1 används för att förhindra '000'-tillstånd för D0 D1 D2, eftersom detta tillstånd gör att ljuset släcks under läget Auto-mixer.

Om manuellt läge, PWM -läge och läget för automatisk mixer inte är aktiverat, flödar de röda, gröna och blåa SPI -kommandona till stift 12, 13 och 14, som är konfigurerade som utgångar och är anslutna till den externa RGB -lysdioden.

DFF1, DFF2 och DFF3 används för att bygga en 3-bitars binär räknare. Räknarvärdet ökar med CNT7 -pulser som passerar genom P14 i läget Auto -mixer eller från signaler som kommer från färgknappen (PIN3) i manuellt läge.

Steg 4: Android -applikation

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

I det här avsnittet kommer vi att bygga en Android -applikation som övervakar och visar användarens kontrollval. Gränssnittet består av två sektioner: det första avsnittet innehåller en uppsättning knappar som har fördefinierade färger så att när någon av dessa knappar trycks in, tänds en LED med samma motsvarande färg. Det andra avsnittet (MIX -kvadrat) skapar en blandad färg för användaren.

I det första avsnittet väljer användaren LED -stiftet som de vill att PWM -signalen ska passera igenom; PWM -signalen kan bara överföras till ett stift i taget. Den nedre listan styr de andra två färgerna logiskt på/av under PWM -läget.

Auto mixer -knappen är ansvarig för att köra det automatiska ljusförändringsmönstret där ljuset ändras var halv sekund. MIX -sektionen innehåller två kryssrutor så att användaren kan bestämma vilka två färger som ska blandas ihop.

Vi byggde applikationen med hjälp av MIT -appen för uppfinnare. Det är en webbplats som gör det möjligt att bygga Android -applikationer utan föregående programvaruupplevelse med hjälp av grafiska mjukvarublock.

Till en början utformade vi ett grafiskt gränssnitt genom att lägga till en uppsättning knappar som är ansvariga för att visa de fördefinierade färgerna, vi har också lagt till två kryssrutelistor och varje lista har tre element; varje element är skisserat i sin individuella låda, som visas i figur 5.

Knapparna i användargränssnittet är länkade till programvarukommandon: alla kommandon som appen skickar via Bluetooth kommer att vara i byteformat, och varje bit är ansvarig för en specifik funktion. Tabell 1 visar formen för kommandoramar som skickas till GreenPAK.

De tre första bitarna, B0, B1 och B2, kommer att hålla tillståndet för RGB -lysdioder i direktstyrningsläget med knapparna i de fördefinierade färgerna. Således, när du klickar på någon av dem, kommer motsvarande värde för knappen att skickas, som visas i tabell 2.

Bitarna B3 och B4 innehåller kommandona '+' och '-', som är ansvariga för att öka och minska pulsbredden. När knappen trycks in blir bitvärdet 1, och när knappen släpps blir bitvärdet 0.

B5- och B6 -bitarna är ansvariga för att välja stift (färg) som PWM -signalen kommer att passera genom: färgbeteckningarna för dessa bitar visas i tabell 3. Den sista biten, B7, är ansvarig för att aktivera den automatiska mixern.

Figur 6 och figur 7 visar processen för att länka knappar till programmeringsblock som är ansvariga för att skicka de tidigare värdena.

För att se applikationens fullständiga design kan du ladda ner den bifogade filen “.aia” med projektfilerna och öppna den på huvudsajten.

Figur 8 nedan visar kretsschemat på översta nivån.

Steg 5: Resultat

Kontrollenheten testades framgångsrikt och färgblandningen, tillsammans med andra funktioner, visade sig fungera korrekt.

Slutsats

I denna instruerbara, en smart lampa krets byggdes för att trådlöst styras av en Android -applikation. GreenPAK CMIC som används i detta projekt hjälpte också till att förkorta och bädda in flera viktiga komponenter för ljusstyrning till en liten IC.

Rekommenderad: