Inhaltsverzeichnis:

O-Zone: DIY Bluetooth Batterielampe - Gunook
O-Zone: DIY Bluetooth Batterielampe - Gunook

Video: O-Zone: DIY Bluetooth Batterielampe - Gunook

Video: O-Zone: DIY Bluetooth Batterielampe - Gunook
Video: Обзор метеорологического аварийного радио Geartist Submarine One AM FM NOAA 2024, Juli
Anonim
Image
Image

O-Zone ist eine DIY-Bluetooth-Lampe. Sie können die Farbe der Lampe und auch die Helligkeit der LEDs ändern. Sie können Ihr Smartphone oder Tablet verwenden, um das Licht einzuschalten, die Farben und die Stimmung Ihres Raumes zu ändern.

Die Materialien für die Lampe sind:

1 x Light BlueBean mit Batterie

1 x Adafruit Neopixel-Ring (16 x LEDs)

Praktische Bluetooth-App iOS

Bluetooth-Terminal für Android

Die Materialien für die Struktur sind:

3 mm (3,1 Zoll) Holz

1,5 mm (0,05 Zoll) weißes Plexiglas

Schritt 1: Die Struktur von Cube

Programmieren Sie die Punch Through Light Blue Bean
Programmieren Sie die Punch Through Light Blue Bean

Für die Struktur der Leuchte habe ich einen Würfel entworfen. Ein einfacher, aber linearer Holzwürfel. Ich habe das Holz mit meinem Lasergravierer geschnitten. Außerdem habe ich einen Kreis in die Oberseite des Würfels geschnitten. In den Ausschnitt habe ich einen weißen Plexiglasring gelegt. Ich schneide das Plexiglas mit 40W Laserschneiden. Sie können das weiße Plexiglas verwenden, da der LED-Ring von Adafruit viele Farben hat. Sie können auch ein transparentes Plexi verwenden, aber ich denke, das Weiß ist besser für die Glättungsqualität des Lichts.

Für das Schneiden von Strukturen können Sie Ihren Laserschneider verwenden oder einen Laserschneiddienst wie Fablab nutzen oder das Projekt an einen Online-Dienst wie Shapeways senden.

Setzen Sie die Teile mit einem Vinylkleber zusammen. Nach dem Zusammenbau den Adafruit Neopixel Ring mit dem Plexiglasring. Für die Kunststoffteile können Sie einen Acrylkleber verwenden. Zusammenbau alles zusammen.

Nach diesem Schritt ist Ihre Struktur fertig!

Schritt 2: Programmieren Sie den Punch Through Light Blue Bean

Für die Programmierung von Light BlueBean können Sie die Arduino IDE verwenden. Wenn Sie die Firmware auf Ihrem Light BlueBean laden, müssen Sie die Bluetooth-Kommunikation verwenden. Sie können die Arduino IDE verwenden und dieses Programm mit dem Punch Trough Light BlueBean Loader kombinieren. Weitere Informationen finden Sie auf der offiziellen Website.

Erste Schritte mit Light BLUEBean

Sie können diesen Code für Light BlueBean verwenden:

/* ******************************************

* Ozon-Bluetooth-Lampe

* 31. März 2017

* Giovanni Gentile

* für Punch Through Light BlueBean

**********************************************/

#include "Adafruit_NeoPixel.h"

// Der Pin, der mit den NeoPixels verbunden ist

#definiere PIN 5

// Die Anzahl der LEDs in den NeoPixels

#define NUMPIXELS 16 int hell = 20; boolesche Lumi = 1; boolescher vorherigerLumi = 1;

String-Befehl;

boolescher BefehlStarted = false; Adafruit_NeoPixel-Pixel = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedReading ledColor; LedReading previousLedColor; Void setup () { Serial.begin (); // Initialisiere die NeoPixels Pixel.begin(); }

Leere Schleife () {

getCommand(); }

/*

Diese Funktion liest die serielle Schnittstelle und prüft auf das Startzeichen '#'. Wenn das Startzeichen gefunden wird, fügt sie alle empfangenen Zeichen zum Befehlspuffer hinzu, bis sie den Endbefehl ';' empfängt. Wenn der Endbefehl empfangen wird, wird die Funktion commandCompleted() aufgerufen. Wenn ein zweites Startzeichen vor einem Endzeichen gefunden wird, wird der Puffer gelöscht und der Prozess beginnt von vorne. */ void getCommand() { while (Serial.available()) { char newChar = (char)Serial.read(); if (newChar == '#') { commandStarted = true; Befehl = "\0"; } else if (newChar == ';') { commandStarted = false; BefehlCompleted(); Befehl = "\0"; aufrechtzuerhalten. Sonst if (commandStarted == true) {Befehl += newChar; } } }

/*

Diese Funktion nimmt den abgeschlossenen Befehl, vergleicht ihn mit einer Liste verfügbarer Befehle und führt den entsprechenden Code aus. Fügen Sie zusätzliche 'if'-Anweisungen hinzu, um Befehle mit dem Code hinzuzufügen, den Sie ausführen möchten, wenn dieser Befehl empfangen wird. Es wird empfohlen, eine Funktion für einen Befehl zu erstellen, wenn mehr als ein paar Codezeilen für wie im Beispiel 'off' vorhanden sind. */ void commandCompleted() { if (command == "low") { hell = hell - 10; lumi = -lumi; Serial.print (hell); } if (Befehl == "hoch") { hell = hell + 10; lumi = -lumi; Serial.print (hell); aufrechtzuerhalten. Wenn (Befehl == "rot") {Bean.setLed(255, 0, 0); Serial.print ("LED wurde rot"); } if (Befehl == "grün") { Bean.setLed (0, 255, 0); Serial.print ("LED wurde grün"); } if (Befehl == "blau") { Bean.setLed (0, 0, 255); Serial.print ("LED wurde blau"); } if (Befehl == "gelb") { Bean.setLed (255, 255, 0); Serial.print ("LED wurde gelb"); } if (Befehl == "orange") { Bean.setLed (255, 60, 0); Serial.print ("LED wurde orange"); } if (Befehl == "lila") { Bean.setLed(128, 0, 128); Serial.print ("LED wurde lila"); } if (Befehl == "weiß") { Bean.setLed (255, 255, 255); Serial.print ("LED wurde weiß"); } if (Befehl == "off") { off(); } if(Bean.getConnectionState()){ // Hole die Werte von der Onboard-LED der Bean ledColor = Bean.getLed(); } if(lumi != previousLumi || ledColor.red != previousLedColor.red || ledColor.green != previousLedColor.green || ledColor.blue != previousLedColor.blue){ for(int i=0;i

/*

Verwenden Sie eine separate Funktion wie diese, wenn mehr als nur ein paar Codezeilen vorhanden sind. Dies wird dazu beitragen, sauberen, leicht lesbaren Code zu erhalten. */ Void aus () { Bean.setLed (0, 0, 0); Serial.print ("LED ausgeschaltet"); }

Schritt 3: Verbinden Sie die hellblaue Bohne mit dem Adafruit Neopixel Ring

Verbinden Sie die hellblaue Bohne mit dem Adafruit Neopixel Ring
Verbinden Sie die hellblaue Bohne mit dem Adafruit Neopixel Ring

Nach dem Hochladen der Firmware können Sie die Light BlueBean mit Ihrem Smartphone verwenden. Sie können das Programm ausprobieren, indem Sie die RGB-LED an Bord verwenden. Danach können Sie den Adafruit 16x-Ring anschließen.

Passen Sie auf, verbinden Sie den VCC mit Light BlueBean 5v, GND mit Light BlueBean GND und den Daten-Pin an Ihrem Adafruit Neopixel-Ring an Pin Nummer 5

Schritt 4: Die Bluetooth-App und die serielle Kommunikation

Die Bluetooth-App und die serielle Kommunikation
Die Bluetooth-App und die serielle Kommunikation

Der Code in der Light BlueBean empfängt Daten von der seriellen Schnittstelle. Sie können die serielle Zeichenfolge mithilfe des Bluetooth-Protokolls an BlueBean senden. Ich benutze Handy BLE für iOS. Sie können diese App zum Senden einer beliebigen seriellen Zeichenfolge über das Bluetooth-Protokoll verwenden. Ich habe ein Dashboard mit 6 Kreisfarben, 1 Off-Kreis und zwei quadratischen Bright erstellt. Die quadratischen Befehle dienen zum Erhöhen und Verringern der Helligkeit des LED-Rings.

Die seriellen Befehle, die die BlueBean akzeptiert, sind:

Zum Einfärben der LEDs:

#rot;

#Violett;

#Blau;

#Grün;

#Gelb;

#Orange;

Zum Ausschalten der LEDs:

#aus;

Zur Regulierung der Helligkeit:

#niedrig;

#hoch;

Empfohlen: