Inhaltsverzeichnis:

DIY Smart LED Dimmer über Bluetooth gesteuert - Gunook
DIY Smart LED Dimmer über Bluetooth gesteuert - Gunook

Video: DIY Smart LED Dimmer über Bluetooth gesteuert - Gunook

Video: DIY Smart LED Dimmer über Bluetooth gesteuert - Gunook
Video: Smart Strip MegaLight installieren in unter 2 Minuten | LED Band für dein Smarthome – RGB & CCT 2024, November
Anonim
DIY Smart LED Dimmer über Bluetooth gesteuert
DIY Smart LED Dimmer über Bluetooth gesteuert

Dieses Instructable beschreibt, wie man einen intelligenten digitalen Dimmer baut. Ein Dimmer ist ein üblicher Lichtschalter, der in Häusern, Hotels und vielen anderen Gebäuden verwendet wird. Ältere Versionen von Dimmerschaltern waren manuell und enthielten normalerweise einen Drehschalter (Potentiometer) oder Knöpfe zur Steuerung der Lichtstärke. Dieses Instructable beschreibt, wie man einen digitalen Dimmer baut, der zwei Möglichkeiten hat, die Lichtintensität zu steuern; ein Smartphone und physische Tasten. Die beiden Modi können nahtlos zusammenarbeiten, sodass der Benutzer die Helligkeit sowohl über eine Taste als auch über ein Smartphone erhöhen oder verringern kann. Das Projekt wird mit einem SLG46620V CMIC, HC-06 Bluetooth-Modul, Tastern und LEDs realisiert.

Wir werden das SLG46620V CMIC verwenden, da es dazu beiträgt, diskrete Projektkomponenten zu minimieren. GreenPAK™-ICs sind klein und verfügen über Mehrzweckkomponenten, die es einem Designer ermöglichen, Komponenten zu reduzieren und neue Funktionen hinzuzufügen. Außerdem werden die Projektkosten nachträglich reduziert.

Das SLG46620V enthält außerdem eine SPI-Anschlussschnittstelle, PWM-Blöcke, FSM und viele nützliche Zusatzblöcke in einem winzigen Chip. Diese Komponenten ermöglichen es einem Benutzer, einen praktischen intelligenten Dimmer zu bauen, der über ein Bluetooth-Gerät oder Wandtasten gesteuert werden kann, das Dimmen über längere Zeit und das Hinzufügen von wählbaren Funktionen ohne Verwendung eines Mikrocontrollers oder teurer Komponenten unterstützt.

Im Folgenden haben wir die erforderlichen Schritte beschrieben, um zu verstehen, wie die Lösung programmiert wurde, um einen intelligenten LED-Dimmer zu erstellen, der über Bluetooth gesteuert wird. Wenn Sie jedoch nur das Ergebnis der Programmierung erhalten möchten, laden Sie die GreenPAK-Software herunter, um die bereits fertige GreenPAK-Designdatei anzuzeigen. Schließen Sie das GreenPAK Development Kit an Ihren Computer an und klicken Sie auf das Programm, um den intelligenten LED-Dimmer zu erstellen, der über Bluetooth gesteuert wird.

Schritt 1: Projektfunktionen und Schnittstelle

Projektfunktionen und Schnittstelle
Projektfunktionen und Schnittstelle

Projektmerkmale:

1. Zwei Kontrollmethoden; mobile App und echte Tasten.

2. Glatter Ein-Aus-Übergang für das Licht. Das ist gesünder für die Augen des Verbrauchers. Es vermittelt auch ein luxuriöseres Gefühl, das Hotels und andere Dienstleistungsbranchen anspricht.

3. Schlafmodus-Funktion. Dies wird ein Mehrwert für diese Anwendung sein. Wenn der Benutzer diesen Modus aktiviert, nimmt die Lichthelligkeit in 10 Minuten allmählich ab. Dies hilft Menschen, die unter Schlaflosigkeit leiden. Es ist auch nützlich für Kinderzimmer und Einzelhandelsgeschäfte (Schließzeit).

Projektschnittstelle

Die Projektoberfläche verfügt über vier Taster, die als GreenPAK-Eingänge verwendet werden:

EIN\AUS: Schalten Sie das Licht EIN\AUS (Soft-Start\Stop).

UP: Lichtstärke erhöhen.

Unten: Lichtstärke verringern.

Schlafmodus: Durch Aktivieren des Schlafmodus nimmt die Lichthelligkeit über einen Zeitraum von 10 Minuten allmählich ab. Dies gibt dem Benutzer Zeit vor dem Schlafen und garantiert, dass das Licht nicht die ganze Nacht eingeschaltet bleibt.

Das System gibt ein PWM-Signal aus, das an eine externe LED und eine LED-Anzeige für den Schlafmodus weitergegeben wird.

Das GreenPAK-Design besteht aus 4 Hauptblöcken. Der erste ist ein UART-Empfänger, der Daten vom Bluetooth-Modul empfängt, Befehle extrahiert und an eine Steuereinheit sendet. Der zweite Block ist eine Steuereinheit, die Befehle vom UART-Empfänger oder von den externen Tasten empfängt. Die Steuereinheit entscheidet über die erforderliche Aktion (Ein-/Ausschalten, Erhöhen, Verringern, Schlafmodus aktivieren). Diese Einheit wird unter Verwendung von LUTs implementiert.

Der dritte Block versorgt die CLK-Generatoren. In diesem Projekt wird ein FSM-Zähler verwendet, um die PWM zu steuern. Der Wert des FSM ändert sich (nach oben, nach unten) entsprechend der Reihenfolge, die von 3 Frequenzen (hoch, mittel und niedrig) gegeben wird. In diesem Abschnitt werden die drei Frequenzen generiert und der erforderliche CLK entsprechend der erforderlichen Reihenfolge an FSM übergeben; Beim Ein-/Ausschalten geht die Hochfrequenz zum FSM zum Softstart/-stopp. Beim Dimmen geht die Mittelfrequenz durch. Die niedrige Frequenz geht im Schlafmodus durch, um den FSM-Wert langsamer zu reduzieren. Dann nimmt auch die Lichthelligkeit langsam ab. Der vierte Block ist die PWM-Einheit, die Impulse für externe LEDs erzeugt.

Schritt 2: GreenPAK-Design

Der beste Weg, um einen Dimmer mit GreenPAK zu bauen, ist die Verwendung des 8-Bit-FSM und einer PWM. Im SLG46620 enthält FSM1 8 Bit und kann mit PWM1 und PWM2 verwendet werden. Das Bluetooth-Modul muss angeschlossen sein, dh der SPI-Parallelausgang muss verwendet werden. Die parallelen SPI-Ausgangsbits 0 bis 7 werden mit den Ausgängen DCMP1, DMCP2 und LF OSC CLK, OUT1, OUT0 OSC gemuxt. PWM0 erhält seine Ausgabe von FSM0 (16 Bit). FSM0 stoppt nicht bei 255; sie erhöht sich bis auf 16383. Um den Zählerwert auf 8 Bit zu begrenzen, wird eine weitere FSM hinzugefügt; FSM1 wird als Zeiger verwendet, um zu wissen, wann der Zähler 0 oder 255 erreicht. FSM0 wurde verwendet, um den PWM-Impuls zu erzeugen. Da die beiden FSM-Werte gleichzeitig geändert werden müssen, um denselben Wert zu haben, wird das Design etwas komplex, da beide FSMs einen vordefinierten, begrenzten wählbaren CLK haben. CNT1 und CNT3 werden als Mediatoren verwendet, um das CLK an beide FSMs weiterzugeben.

Das Design besteht aus folgenden Abschnitten:

- UART-Empfänger

- Steuergerät

- CLK Generatoren und Multiplexer

- PWM

Schritt 3: UART-Empfänger

UART-Empfänger
UART-Empfänger

Zuerst müssen wir das HC06 Bluetooth-Modul einrichten. Der HC06 verwendet das UART-Protokoll zur Kommunikation. UART steht für Universal Asynchronous Receiver / Transmitter. UART kann Daten zwischen parallelen und seriellen Formaten hin und her konvertieren. Es enthält einen Seriell-Parallel-Empfänger und einen Parallel-Seriell-Wandler, die beide getrennt getaktet werden. Die im HC06 empfangenen Daten werden an unser GreenPAK-Gerät übertragen. Der Ruhezustand für Pin 10 ist HIGH. Jedes gesendete Zeichen beginnt mit einem logischen LOW-Startbit, gefolgt von einer konfigurierbaren Anzahl von Datenbits und einem oder mehreren logischen HIGH-Stoppbits.

Der HC06 sendet 1 START-Bit, 8 Datenbits und ein STOP-Bit. Die Standardbaudrate beträgt 9600. Wir senden das Datenbyte vom HC06 an den SPI-Block des GreenPAK SLG46620V.

Da der SPI-Block keine START- oder STOP-Bitsteuerung besitzt, werden diese Bits stattdessen verwendet, um das SPI-Taktsignal (SCLK) zu aktivieren und zu deaktivieren. Wenn Pin 10 auf LOW geht, hat der IC ein START-Bit empfangen, daher verwenden wir den PDLY-Detektor für fallende Flanken, um den Beginn der Kommunikation zu identifizieren. Dieser Detektor für fallende Flanken taktet DFF0, was es dem SCLK-Signal ermöglicht, den SPI-Block zu takten.

Unsere Baudrate beträgt 9600 Bits pro Sekunde, daher muss unsere SCLK-Periode 1/9600 = 104 µs betragen. Daher haben wir die OSC-Frequenz auf 2 MHz gesetzt und CNT0 als Frequenzteiler verwendet.

2 MHz - 1 = 0,5 µs

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

Daher möchten wir, dass der CNT0-Zählerwert 207 beträgt. Um sicherzustellen, dass keine Daten verpasst werden, wird eine Verzögerung von einem halben Taktzyklus zum SPI-Takt hinzugefügt, so dass der SPI-Block zur richtigen Zeit getaktet wird. Dies wird durch die Verwendung von CNT6, 2-Bit-LUT1 und der externen Uhr des OSC-Blocks erreicht. Der Ausgang von CNT6 geht erst 52 µs nach dem Takten von DFF0 hoch, was genau der Hälfte unserer SCLK-Periode von 104 µs entspricht. Wenn es hoch geht, ermöglicht das 2-Bit-LUT1-UND-Gatter, dass das 2-MHz-OSC-Signal in den EXT geleitet wird. CLK0-Eingang, dessen Ausgang mit CNT0 verbunden ist.

Schritt 4: Steuereinheit

Steuergerät
Steuergerät

In diesem Abschnitt werden Befehle gemäß dem empfangenen Byte vom UART-Empfänger oder gemäß den Signalen der externen Tasten ausgeführt. Die Pins 12, 13, 14, 15 sind als Eingänge initialisiert und mit externen Tastern verbunden.

Jeder Pin ist intern mit einem ODER-Gatter-Eingang verbunden, während der zweite Eingang des Gatters mit dem entsprechenden Signal verbunden ist, das vom Smartphone über Bluetooth kommt und am SPI-Parallel-Ausgang erscheinen wird.

DFF6 wird verwendet, um den Schlafmodus zu aktivieren, in dem sein Ausgang mit der steigenden Flanke von 2-Bit-LUT4 auf High wechselt, während DFF10 verwendet wird, um den Beleuchtungsstatus aufrechtzuerhalten, und sein Ausgang wechselt mit jeder steigenden Flanke von Low auf High und umgekehrt vom 3-Bit-LUT10-Ausgang.

FSM1 ist ein 8-Bit-Zähler; Er gibt einen hohen Impuls an seinem Ausgang ab, wenn sein Wert 0 oder 255 erreicht. Folglich wird er verwendet, um zu verhindern, dass FSM0 (16-Bit) den Wert 255 überschreitet, da sein Ausgang DFFs zurücksetzt und den DFF10-Status von Ein auf Aus ändert und umgekehrt, wenn die Beleuchtung über die Tasten +, - gesteuert wird und die maximale/minimale Stufe erreicht ist.

Die an die FSM1-Eingänge angeschlossenen Signale halten, up werden FSM0 über P11 und P12 erreichen, um sich zu synchronisieren und den gleichen Wert an beiden Zählern zu halten.

Schritt 5: CLK-Generatoren und Multiplexer

CLK Generatoren und Multiplexer
CLK Generatoren und Multiplexer

In diesem Abschnitt werden drei Frequenzen erzeugt, von denen jedoch jeweils nur eine die FSMs taktet. Die erste Frequenz ist RC OSC, die von der Matrix 0 bis P0 geholt wird. Die zweite Frequenz ist LF OSC, die ebenfalls von der Matrix 0 bis P1 geholt wird; die dritte Frequenz ist der CNT7-Ausgang.

3-Bit-LUT9 und 3-Bit-LUT11 lassen eine Frequenz entsprechend der 3-Bit-LUT14-Ausgabe passieren. Danach wird der gewählte Takt an FSM0 und FSM1 über CNT1 und CNT3 übertragen.

Schritt 6: PWM

PWM
PWM

Schließlich wird der FSM0-Wert in ein PWM-Signal umgewandelt, das über Pin 20 erscheint, der als Ausgang initialisiert und mit den externen LEDs verbunden ist.

Schritt 7: Android-App

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

Die Android-App verfügt über eine virtuelle Bedienoberfläche, die der realen Oberfläche ähnelt. Es hat fünf Tasten; EIN\AUS, AUF, AB, Ruhemodus und Verbinden. Diese Android-Anwendung kann Tastendrücke in einen Befehl umwandeln und die auszuführenden Befehle an das Bluetooth-Modul senden.

Diese App wurde mit MIT App Inventor erstellt, für die keine Programmiererfahrung erforderlich ist. Mit App Inventor können Entwickler mithilfe eines Webbrowsers eine Anwendung für Geräte mit Android-Betriebssystem erstellen, indem sie Programmierblöcke verbinden. Sie können unsere App in den MIT App Inventor importieren, indem Sie auf Projekte -> Projekt (.aia) von meinem Computer importieren klicken und die in dieser App-Notiz enthaltene.aia-Datei auswählen.

Um die Android-Anwendung zu erstellen, muss ein neues Projekt gestartet werden. Es werden fünf Tasten benötigt: Eine ist eine Listenauswahl für Bluetooth-Geräte und die anderen sind die Steuertasten. Wir müssen auch einen Bluetooth-Client hinzufügen. Abbildung 6 ist eine Bildschirmaufnahme der Benutzeroberfläche unserer Android-Anwendung.

Nachdem wir die Schaltflächen hinzugefügt haben, weisen wir jeder Schaltfläche eine Softwarefunktion zu. Wir werden 4 Bits verwenden, um den Status der Schaltflächen darzustellen. Ein Bit für jede Taste, daher wird beim Drücken der Taste eine bestimmte Nummer über Bluetooth an die physische Schaltung gesendet.

Diese Zahlen sind in Tabelle 1 aufgeführt.

Abschluss

Dieses Instructable beschreibt einen intelligenten Dimmer, der auf zwei Arten gesteuert werden kann; eine Android-App und echte Tasten. Innerhalb des GreenPAK SLG46620V sind vier separate Blöcke dargestellt, die den Prozessablauf zum Erhöhen oder Verringern der PWM einer Leuchte steuern. Darüber hinaus wird eine Sleep-Modus-Funktion als Beispiel für eine zusätzliche Modulation beschrieben, die für die Anwendung verfügbar ist. Das gezeigte Beispiel ist Niederspannung, kann jedoch für Implementierungen mit höherer Spannung modifiziert werden.

Empfohlen: