Innehållsförteckning:

DIY Smart LED -dimmer som styrs via Bluetooth: 7 steg
DIY Smart LED -dimmer som styrs via Bluetooth: 7 steg

Video: DIY Smart LED -dimmer som styrs via Bluetooth: 7 steg

Video: DIY Smart LED -dimmer som styrs via Bluetooth: 7 steg
Video: Урок 95: Использование щита двигателей постоянного тока L293D 4 для Arduino UNO и Mega | Пошаговый курс Arduino 2024, November
Anonim
DIY Smart LED Dimmer styrs via Bluetooth
DIY Smart LED Dimmer styrs via Bluetooth

Denna instruktionsbok beskriver hur man bygger en smart digital dimmer. En dimmer är en vanlig ljusströmbrytare som används i hus, hotell och många andra byggnader. Äldre versioner av dimmerbrytare var manuella och skulle vanligtvis innehålla en vridomkopplare (potentiometer) eller knappar för att styra ljusnivån. Denna instruktionsbok beskriver hur man bygger en digital dimmer som har två sätt att styra ljusintensiteten; en smartphone och fysiska knappar. De två lägena kan fungera sömlöst tillsammans så att användaren kan öka eller minska ljusstyrkan från både en knapp och en smartphone. Projektet genomförs med hjälp av en SLG46620V CMIC, HC-06 Bluetooth-modul, tryckknappar och lysdioder.

Vi kommer att använda SLG46620V CMIC eftersom det hjälper till att minimera diskreta projektkomponenter. GreenPAK ™ IC: er är små och har fleranvändarkomponenter, vilket gör att en designer kan minska komponenter och lägga till nya funktioner. Dessutom sänks projektkostnaden därefter.

SLG46620V innehåller också ett SPI -anslutningsgränssnitt, PWM -block, FSM och många användbara ytterligare block i ett litet chip. Dessa komponenter tillåter en användare att bygga en praktisk smart dimmer som kan styras via en Bluetooth-enhet eller väggknappar, stödja långvarig dimning och tillägg av valbara funktioner utan att använda en mikrokontroller eller dyra komponenter.

Nedan beskriver vi de steg som behövs för att förstå hur lösningen har programmerats för att skapa en smart LED -dimmer som styrs via Bluetooth. Men om du bara vill få resultatet av programmeringen, 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 en smart LED -dimmer som styrs via Bluetooth.

Steg 1: Projektfunktioner och gränssnitt

Projektfunktioner och gränssnitt
Projektfunktioner och gränssnitt

Projektfunktioner:

1. Två metoder för kontroll; mobilapp och riktiga knappar.

2. Smidig på / av-övergång för ljuset. Detta är hälsosammare för konsumentens ögon. Det ger också en lyxigare känsla, vilket tilltalar hotell och andra servicebranscher.

3. Vilolägesfunktion. Detta kommer att vara ett mervärde för den här applikationen. När användaren aktiverar detta läge minskar ljusstyrkan gradvis på 10 minuter. Detta hjälper människor som lider av sömnlöshet. Det är också användbart för barnens sovrum och butiker (stängningstid).

Projektgränssnitt

Projektgränssnittet har fyra tryckknappar som används som GreenPAK -ingångar:

PÅ / AV: slå på lampan PÅ / AV (mjukstart / stopp).

UPP: öka ljusnivån.

Ned: minska ljusnivån.

Viloläge: genom att aktivera viloläget minskar ljusstyrkan gradvis under en period av 10 minuter. Detta ger användaren tid innan han sover och garanterar att ljuset inte stannar hela natten.

Systemet kommer att mata ut en PWM -signal, som skickas till en extern LED och vilolägesindikator.

GreenPAK -designen består av 4 huvudblock. Den första är en UART -mottagare, som tar emot data från Bluetooth -modulen, extraherar order och skickar dem till en kontrollenhet. Det andra blocket är en styrenhet som tar emot beställningar från UART -mottagaren eller från de externa knapparna. Kontrollenheten bestämmer vilken åtgärd som krävs (Slå PÅ/AV, Öka, minska, aktivera viloläge). Denna enhet implementeras med LUT.

Det tredje blocket levererar CLK -generatorerna. I detta projekt används en FSM -räknare för att styra PWM. FSM: s värde kommer att förändras (upp, ner) enligt de order som ges av 3 frekvenser (hög, medel och låg). I detta avsnitt kommer de tre frekvenserna att genereras och den erforderliga CLK överförs till FSM i enlighet med önskad ordning; Vid på/av -drift övergår högfrekvens till FSM för mjukstart/stopp. Under dimning passerar medelfrekvensen. Lågfrekvensen passerar i viloläge för att sänka FSM -värdet långsammare. Då minskar ljusstyrkan långsamt också. Det fjärde blocket är PWM -enheten, som genererar pulser till externa lysdioder.

Steg 2: GreenPAK Design

Det bästa sättet att bygga en dimmer med GreenPAK är att använda 8-bitars FSM och en PWM. I SLG46620 innehåller FSM1 8 bitar och kan 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 anslutningar är muxade med DCMP1, DMCP2 och LF OSC CLK, OUT1, OUT0 OSC utgångar. PWM0 hämtar sin utmatning från FSM0 (16 bitar). FSM0 stannar inte vid 255; den ökar upp till 16383. 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 0 eller 255. FSM0 användes för att generera PWM -pulsen. Eftersom de två FSM: s värden måste ändras samtidigt för att ha samma värde, blir designen lite komplex där i båda FSM: erna har en fördefinierad, begränsad, valbar CLK. CNT1 och CNT3 används som medlare för att överföra CLK till båda FSM: erna.

Designen består av följande avsnitt:

- UART -mottagare

- Styrenhet

- CLK -generatorer och multiplexer

- PWM

Steg 3: UART -mottagare

UART -mottagare
UART -mottagare

Först måste vi konfigurera HC06 Bluetooth -modulen. HC06 använder 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 HC06 kommer att överföras till vår GreenPAK -enhet. Tomgångstillståndet för Pin 10 är HIGH. 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.

HC06 skickar 1 START -bit, 8 databitar och en STOPP -bit. Dess standardöverföringshastighet är 9600. Vi skickar databyte från HC06 till GreenPAK SLG46620Vs SPI -block.

Eftersom SPI -blocket inte har START- eller STOPP -bitkontroll används dessa bitar istället för att aktivera och inaktivera SPI -klocksignalen (SCLK). När Pin 10 går LÅG har IC: n 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 2 MHz 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 säkerställa att data inte missas läggs en halv klockcykelfördröjning till SPI -klockan till så att SPI -blocket klockas vid rätt tidpunkt. Detta uppnås 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 klockats, vilket är exakt hälften av vår SCLK -period på 104 µs. När det går högt tillåter 2-bitars LUT1 AND-grinden 2 MHz OSC-signalen att passera in i EXT. CLK0 -ingång, vars utgång är ansluten till CNT0.

Steg 4: Kontrollenhet

Styrenhet
Styrenhet

I detta avsnitt kommer kommandon att utföras i enlighet med den mottagna byte från UART -mottagaren, eller enligt signalerna från de externa knapparna. Stift 12, 13, 14, 15 initieras som ingångar och är anslutna till externa knappar.

Varje stift är internt anslutet till en OR -ingång, medan portens andra ingång är ansluten till motsvarande signal som kommer från smarttelefonen via Bluetooth som kommer att visas på SPI Parallel -utgång.

DFF6 används för att aktivera viloläge där dess utgång ändras till hög med stigande kant från 2-bitars LUT4, medan DFF10 används för att bibehålla belysningsstatus, och dess utgång ändras från låg till hög och vice versa med varje stigande kant som kommer från 3-bitars LUT10-utgång.

FSM1 är en 8-bitars räknare; det ger en hög puls på sin utgång när dess värde når 0 eller 255. Följaktligen används det för att förhindra att FSM0 (16-bitars) överskrider värdet 255, eftersom dess utgång återställer DFF: er och det ändrar DFF10-status från på till av och tvärtom om belysningen styrs av knapparna +, - och max/miniminivån har uppnåtts.

Signalerna som är anslutna till FSM1 -ingångarna håller, upp når FSM0 genom P11 och P12 för att synkronisera och behålla samma värde på båda räknarna.

Steg 5: CLK -generatorer och multiplexer

CLK -generatorer och multiplexer
CLK -generatorer och multiplexer

I det här avsnittet kommer tre frekvenser att genereras, men bara en kommer att klocka FSM: erna samtidigt. Den första frekvensen är RC OSC, som hämtas från matrisen 0 till och med P0. Den andra frekvensen är LF OSC som också hämtas från matrisen 0 till Pl; den tredje frekvensen är CNT7 -utgången.

3-bitars LUT9 och 3-bitars LUT11 tillåter en frekvens att passera, enligt 3-bitars LUT14-utgången. Därefter sänder den valda klockan till FSM0 och FSM1 genom CNT1 och CNT3.

Steg 6: PWM

PWM
PWM

Slutligen omvandlas FSM0 -värdet till PWM -signal för att visas genom stift 20 som initieras som en utgång och är ansluten till de externa lysdioderna.

Steg 7: Android -app

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

Android -appen har ett virtuellt kontrollgränssnitt som liknar det riktiga gränssnittet. Den har fem knappar; PÅ / AV, UPP, NER, viloläge och Anslut. Denna Android -applikation kommer att kunna konvertera knapptryckningar till ett kommando och kommer att skicka kommandona till Bluetooth -modulen som ska utföras.

Denna app har gjorts med MIT App Inventor, vilket inte kräver någon programmeringserfarenhet. App Inventor låter utvecklaren skapa en applikation för Android OS -enheter med en webbläsare genom att ansluta programmeringsblock. Du kan importera vår app till MIT App Inventor genom att klicka på Projekt -> Importera projekt (.aia) från min dator och välja.aia -filen som ingår i denna appnotering.

För att skapa Android -applikationen måste ett nytt projekt startas. Fem knappar krävs: en är en listväljare för Bluetooth -enheter, och de andra är kontrollknapparna. Vi måste också lägga till en Bluetooth -klient. Figur 6 är en skärmbild av vår Android -applikations användargränssnitt.

När vi har lagt till knapparna kommer vi att tilldela en mjukvarufunktion för varje knapp. Vi kommer att använda 4 bitar för att representera knapparnas status. En bit för varje knapp, därför kommer ett specifikt nummer att skickas via Bluetooth till den fysiska kretsen när du trycker på knappen.

Dessa siffror visas i tabell 1.

Slutsats

Denna instruerbara beskriver en smart dimmer som kan styras på två sätt; en Android -app och riktiga knappar. Fyra separata block skisseras inom GreenPAK SLG46620V som styr processflödet för att öka eller minska PWM för ett ljus. Dessutom beskrivs en vilolägesfunktion som ett exempel på extra modulering tillgänglig för applikationen. Exemplet som visas är lågspänning, men kan modifieras för implementeringar med högre spänning.

Rekommenderad: