Kazalo:
- 1. korak: Struktura kocke
- 2. korak: Programirajte udarec skozi svetlo modri fižol
- 3. korak: Povežite svetlo modri fižol z obročem Adapruit Neopixel
- 4. korak: aplikacija Bluetooth in zaporedna komunikacija
Video: O-Zone: DIY Bluetooth baterijska svetilka: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
O-Zone je svetilka Bluetooth DIY. Lahko spremenite barvo svetilke in tudi svetlost LED. Za vklop luči lahko uporabite pametni telefon, tablični računalnik, spremenite barve in razpoloženje v svoji sobi.
Materiali za izdelavo svetilke so:
1 x Light BlueBean z baterijo
1 x prstan Adapruit Neopixel (16 x LED)
Priročna aplikacija Bluetooth za iOS
Bluethooth Terminal za Android
Materiali za konstrukcijo so:
3 mm (3,1 palca) les
1,5 mm (0,05 palca) belo pleksi steklo
1. korak: Struktura kocke
Za strukturo svetilke sem oblikoval kocko. Preprosta, a linearna lesena kocka. Les sem razrezal z laserskim graverjem. Prav tako sem izrezal krog znotraj zgornje ploskve kocke. Znotraj reza sem dal bel obroč iz pleksi stekla. Pleksi steklo sem rezala z laserskim rezanjem s 40 W. Uporabite lahko belo pleksi steklo, saj ima Adafruit led prstan veliko barv. Uporabite lahko tudi prozoren Plexi, vendar menim, da je bela boljša za kakovost glajenja svetlobe.
Za rezanje konstrukcije lahko uporabite laserski rezalnik ali pa uporabite storitev laserskega rezanja, kot je Fablab, ali pa projekt pošljete na spletno storitev, kot je Shapeways.
Kose zlepimo z vinilnim lepilom. Po montaži obroč Adapruit Neopixel s obročem iz pleksi stekla. Za plastične dele lahko uporabite akrilno lepilo. Sestavite vse skupaj.
Po tem koraku je vaša struktura pripravljena!
2. korak: Programirajte udarec skozi svetlo modri fižol
Za programiranje Light BlueBean lahko uporabite Arduino IDE. Ko polnite vdelano programsko opremo na napravi Light BlueBean, morate uporabiti komunikacijo Bluetooth. Uporabite lahko Arduino IDE in ta program združite z nakladalnikom Punch Trough Light BlueBean. Za podrobnosti obiščite uradno spletno stran.
Začnite z Light BLUEBean
Za Light BlueBean lahko uporabite to kodo:
/* ******************************************
* Bluethooth svetilka z O-cono
* 31. marec 2017
* Giovanni Gentile
* za Punch Through Light BlueBean
**********************************************/
#include "Adafruit_NeoPixel.h"
// Pin, ki je povezan z NeoPixels
#define PIN 5
// Količina LED v NeoPixels
#define NUMPIXELS 16 int bright = 20; logična lumija = 1; boolean previousLumi = 1;
Ukaz niz;
boolean commandStarted = false; Piksli Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedReading ledColor; LedReading previousLedColor; void setup () {Serial.begin (); // Inicializiramo NeoPixels pixels.begin (); }
void loop () {
getCommand (); }
/*
Ta funkcija prebere serijska vrata in preveri začetni znak '#', če bo začetni znak, če ga najde, dodal vse prejete znake v ukazni vmesnik, dokler ne prejme ukaz za konec ';' Ko prejmete ukaz end, se pokliče funkcija commandCompleted (). če se pred končnim znakom najde drugi začetni znak, se vmesni pomnilnik počisti in postopek se začne znova. */ void getCommand () {while (Serial.available ()) {char newChar = (char) Serial.read (); if (newChar == '#') {commandStarted = true; command = "\ 0"; } else if (newChar == ';') {commandStarted = false; commandCompleted (); command = "\ 0"; } else if (commandStarted == true) {command += newChar; }}}
/*
Ta funkcija vzame dokončan ukaz in ga preveri glede na seznam razpoložljivih ukazov ter izvede ustrezno kodo. Dodajte dodatne stavke "if", če želite dodati ukaze s kodo, ki jo želite izvesti, ko prejmete ta ukaz. Priporočljivo je, da ustvarite funkcijo za ukaz, če je več kot nekaj vrstic kode za kot v primeru "off". */ void commandCompleted () {if (ukaz == "nizko") {svetel = svetel - 10; lumi = -lumi; Serijski.tisk (svetel); } if (ukaz == "visoko") {svetel = svetel + 10; lumi = -lumi; Serijski.tisk (svetel); } if (ukaz == "rdeča") {Bean.setLed (255, 0, 0); Serial.print ("LED je postala rdeča"); } if (ukaz == "zeleno") {Bean.setLed (0, 255, 0); Serial.print ("LED je postala zelena"); } if (ukaz == "blue") {Bean.setLed (0, 0, 255); Serial.print ("LED je postala modra"); } if (ukaz == "rumena") {Bean.setLed (255, 255, 0); Serial.print ("LED je postala rumena"); } if (ukaz == "oranžno") {Bean.setLed (255, 60, 0); Serial.print ("LED je postala oranžna"); } if (ukaz == "vijolično") {Bean.setLed (128, 0, 128); Serial.print ("LED je postala vijolična"); } if (ukaz == "bela") {Bean.setLed (255, 255, 255); Serial.print ("LED je postala bela"); } if (ukaz == "off") {off (); } if (Bean.getConnectionState ()) {// Pridobite vrednosti iz Beanove vgrajene LED ledColor = Bean.getLed (); } if (lumi! = previousLumi || ledColor.red! = previousLedColor.red || ledColor.green! = previousLedColor.green || ledColor.blue! = previousLedColor.blue) {for (int i = 0; i
/*
Uporabite ločeno funkcijo, kot je ta, če je kode več kot le nekaj vrstic. To bo pomagalo vzdrževati čisto kodo, ki je enostavna za branje. */ void off () {Bean.setLed (0, 0, 0); Serial.print ("LED je izklopljena"); }
3. korak: Povežite svetlo modri fižol z obročem Adapruit Neopixel
Po nalaganju vdelane programske opreme lahko uporabite Light BlueBean s pametnim telefonom. Program lahko preizkusite z uporabo rgb led na krovu. Ko lahko povežete 16x obroč Adafruit.
Bodite pozorni, VCC priključite na Light BlueBean 5v, GND na Light BlueBean GND in podatkovni zatič na obroču Adapruit Neopixel na pin 5
4. korak: aplikacija Bluetooth in zaporedna komunikacija
Koda v notranjosti Light BlueBean prejema podatke po zaporedju. Serijski niz lahko pošljete BlueBeanu s protokolom Bluetooth. Za iOS uporabljam Handy BLE. To aplikacijo lahko uporabite za pošiljanje katerega koli serijskega niza po protokolu Bluetooth. Ustvaril sem nadzorno ploščo, ki ima 6 barv kroga, 1 krog Off in dva kvadratna svetla. Kvadratni ukazi so za povečanje in zmanjšanje svetlosti obroča LED.
Serijski ukaz, ki ga sprejme BlueBean, je:
Za barvanje LED diod:
#rdeča;
#purple;
#modra;
#zelena;
#žuta;
#oranžna;
Za izklop LED diod:
#off;
Za uravnavanje svetlosti:
#nizko;
#visoko;
Priporočena:
Mumijasta svetilka - pametna svetilka z nadzorom WiFi: 5 korakov (s slikami)
Mumijasta svetilka - pametna svetilka z WiFi -krmiljenjem: Pred približno 230 tisoč leti se je človek naučil obvladovati ogenj, kar vodi do velike spremembe v njegovem življenjskem slogu, saj je ponoči začel delati tudi z uporabo svetlobe ognja. Lahko rečemo, da je to začetek notranje razsvetljave. Zdaj sem
Spiralna svetilka (znana tudi kot namizna svetilka Loxodrome): 12 korakov (s slikami)
Spiralna svetilka (znana tudi kot namizna svetilka Loxodrome): Spiralna svetilka (znana tudi kot namizna svetilka Loxodrome) je projekt, ki sem ga začel leta 2015. Navdihnil ga je Loxodrome Sconce Paul Nylander. Moja prvotna zamisel je bila o motorizirani namizni svetilki, ki bi na steno projicirala tekoče vrtinčke svetlobe. Oblikoval sem in
IOT123 - LIR2032 BATERIJSKA OGLEDNA: 4 koraki
IOT123 - LIR2032 BATTERY BRICK: IOT123 BRICS so modularne enote DIY, ki jih je mogoče združiti z drugimi IOT123 opekami za dodajanje funkcionalnosti vozlišču ali nosljivemu. Temeljijo na palčnih kvadratnih, dvostranskih protoboardih, ki so med seboj povezani skozi luknje. Čeprav navodila
Veličastna svetilka za polnjenje z zvočniki Bluetooth in polnjenjem mobilnih telefonov: 4 koraki (s slikami)
Veličastna svetilka za polnjenje z zvočniki Bluetooth in polnjenjem mobilnih telefonov: Pozdravljeni prijatelji, v tem navodilu poročujem o svetilki za polnjenje, ki je opremljena z zvočniki Bluetooth in polni žensko USB za polnjenje mobilnega telefona, zato je večplastna naprava, kar je dobro za kampiranje in hojo po parkih ali gorah
Prenosna baterijska svetilka za baterijo USB (s pretvorbo Luxeon III): 5 korakov
Prenosna baterijska svetilka za baterijo USB (s pretvorbo Luxeon III): Verjetno ste že videli, kako priročno je imeti prenosni napajalnik USB za polnjenje iPodov, PSP, mobilnih telefonov itd. Odločil sem se, da ga naredim, vendar ga je treba večnamenski, da upraviči prenašanje dodatne teže. Hotela sem poenostaviti