Inhoudsopgave:

O-Zone: DIY Bluetooth-batterijlamp - Ajarnpa
O-Zone: DIY Bluetooth-batterijlamp - Ajarnpa

Video: O-Zone: DIY Bluetooth-batterijlamp - Ajarnpa

Video: O-Zone: DIY Bluetooth-batterijlamp - Ajarnpa
Video: O zone DIY Bluetooth Led Lamp Instructables 2024, Juli-
Anonim
Image
Image

O-Zone is een doe-het-zelf Bluetooth-lamp. U kunt de kleur van de lamp wijzigen en ook de helderheid van leds. U kunt uw smartphone, uw tablet gebruiken om het licht aan te zetten, de kleuren en de sfeer van uw kamer te wijzigen.

De materialen voor de lamp zijn:

1 x Light BlueBean met batterij

1 x Adafruit Neopixel-ring (16 x leds)

Handige Bluetooth-app iOS

Bluetooth-terminal voor Android

De materialen voor de constructie zijn:

3 mm (3,1 inch) hout

1,5 mm (0,05 inch) wit plexiglas

Stap 1: De structuur van Cube

Programmeer de Punch Through Light Blue Bean
Programmeer de Punch Through Light Blue Bean

Voor de opbouw van de lamp heb ik een kubus ontworpen. Een eenvoudige maar lineaire houten kubus. Ik heb het hout gesneden met mijn lasergraveerder. Ook heb ik een cirkel in het bovenvlak van de kubus gesneden. In de snede heb ik een ring van wit plexiglas geplaatst. Ik sneed het plexiglas met 40W lasersnijden. Je kunt het witte plexiglas gebruiken, aangezien de Adafruit led ring veel kleuren heeft. Je kunt ook een transparante Plexi gebruiken, maar ik denk dat het wit beter is voor de egaliserende kwaliteit van het licht.

Voor het snijden van structuur kunt u uw lasersnijder gebruiken of u kunt een lasersnijservice zoals Fablab gebruiken of u kunt het project ook naar een online service zoals Shapeways sturen.

Zet de stukken samen met een vinyl lijm. Na montage de Adafruit Neopixel ring met de plexiglas ring. Voor de kunststof onderdelen kunt u acryllijm gebruiken. Samen monteren.

Na deze stap is je structuur klaar!

Stap 2: Programmeer de Punch Through Light Blue Bean

Voor het programmeren van Light BlueBean kun je de Arduino IDE gebruiken. Wanneer u de firmware op uw Light BlueBean oplaadt, moet u de Bluetooth-communicatie gebruiken. Je kunt de Arduino IDE gebruiken en dit programma combineren met Punch Trough Light BlueBean loader. Zie de officiële site voor details.

Aan de slag met Light BLUEBean

Je kunt deze code gebruiken voor Light BlueBean:

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

* O-zone Bluethooth-lamp

* 31 maart 2017

* Giovanni Gentile

* voor Punch Through Light BlueBean

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

#include "Adafruit_NeoPixel.h"

// De pin die is verbonden met de NeoPixels

#definieer pincode 5

// Het aantal LED's in de NeoPixels

#define NUMPIXELS 16 int helder = 20; booleaanse lumi = 1; boolean vorigeLumi = 1;

Tekenreeksopdracht;

booleaanse opdrachtStarted = false; Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedLezen ledColor; LedLezen vorigeLedColor; void setup() { Serial.begin(); // Initialiseer de NeoPixels pixels.begin(); }

lege lus() {

getCommand(); }

/*

Deze functie leest de seriële poort en controleert op het startteken '#'. Als het startteken wordt gevonden, worden alle ontvangen tekens toegevoegd aan de commandobuffer totdat het het eindcommando ';' ontvangt. Wanneer het end-commando wordt ontvangen, wordt de functie commandCompleted() aangeroepen. als een tweede startteken wordt gevonden voor een eindteken, wordt de buffer gewist en begint het proces opnieuw. */ void getCommand() { while (Serial.available()) { char newChar = (char)Serial.read(); if (newChar == '#') { commandStarted = true; commando = "\0"; } else if (newChar == ';') { commandStarted = false; commandoCompleted(); commando = "\0"; } else if (commandStarted == true) { command += newChar; } } }

/*

Deze functie neemt de voltooide opdracht en vergelijkt deze met een lijst met beschikbare opdrachten en voert de juiste code uit. Voeg extra 'if'-instructies toe om opdrachten toe te voegen met de code die u wilt uitvoeren wanneer die opdracht wordt ontvangen. Het wordt aanbevolen om een functie voor een opdracht te maken als er meer dan een paar regels code zijn voor zoals in het 'off'-voorbeeld. */ void commandCompleted() { if (command == "low") { bright = bright - 10; lumi = -lumi; Serial.print (helder); } if (opdracht == "hoog") { helder = helder + 10; lumi = -lumi; Serial.print (helder); } if (commando == "rood") { Bean.setLed(255, 0, 0); Serial.print ("LED werd rood"); } if (commando == "groen") { Bean.setLed (0, 255, 0); Serial.print ("LED werd groen"); } if (commando == "blauw") { Bean.setLed (0, 0, 255); Serial.print ("LED werd blauw"); } if (commando == "geel") { Bean.setLed(255, 255, 0); Serial.print ("LED werd geel"); } if (commando == "oranje") { Bean.setLed(255, 60, 0); Serial.print ("LED werd oranje"); } if (commando == "paars") { Bean.setLed(128, 0, 128); Serial.print ("LED werd paars"); } if (commando == "wit") { Bean.setLed(255, 255, 255); Serial.print ("LED werd wit"); } if (opdracht == "uit") { uit(); } if(Bean.getConnectionState()){ // Haal de waarden op uit de ingebouwde LED van de Bean ledColor = Bean.getLed(); } if(lumi != previousLumi || ledColor.red != previousLedColor.red || ledColor.green != previousLedColor.green || ledColor.blue != previousLedColor.blue){ for(int i=0;i

/*

Gebruik een aparte functie zoals deze als er meer dan een paar regels code zijn. Dit zal helpen om schone, gemakkelijk te lezen code te behouden. */ void off() { Bean.setLed(0, 0, 0); Serial.print ("LED uitgeschakeld"); }

Stap 3: Verbind de lichtblauwe boon met de Adafruit Neopixel Ring

Verbind de lichtblauwe boon met de Adafruit Neopixel Ring
Verbind de lichtblauwe boon met de Adafruit Neopixel Ring

Na het uploaden van de firmware kunt u de Light BlueBean gebruiken met uw smartphone. U kunt het programma proberen door gebruik te maken van de rgb led aan boord. Daarna kunt u de Adafruit 16x ring aansluiten.

LET OP, sluit de VCC aan op Light BlueBean 5v, GND op Light BlueBean GND en de data pin op je Adafruit Neopixel ring op pin nummer 5

Stap 4: De Bluetooth-app en seriële communicatie

De Bluetooth-app en seriële communicatie
De Bluetooth-app en seriële communicatie

De code in de Light BlueBean ontvangt gegevens via het serienummer. U kunt de seriële string naar BlueBean sturen met behulp van het Bluetooth-protocol. Ik gebruik Handy BLE voor iOS. U kunt deze app gebruiken om via het Bluetooth-protocol elke gewenste seriële reeks te verzenden. Ik heb een dashboard gemaakt met 6 cirkelkleuren, 1 Off-cirkel en twee vierkante Bright. De vierkante commando's zijn voor het op en neer zetten van de helderheid van de leds-ring.

De seriële commando's die de BlueBean accepteren zijn:

Voor het inkleuren van de leds:

#rood;

#paars;

#blauw;

#groente;

#geel;

#Oranje;

Voor het uitschakelen van de leds:

#uit;

Voor het regelen van de helderheid:

#laag;

#hoog;

Aanbevolen: