Բովանդակություն:

O-Zone: DIY Bluetooth մարտկոցի լամպ. 4 քայլ (նկարներով)
O-Zone: DIY Bluetooth մարտկոցի լամպ. 4 քայլ (նկարներով)

Video: O-Zone: DIY Bluetooth մարտկոցի լամպ. 4 քայլ (նկարներով)

Video: O-Zone: DIY Bluetooth մարտկոցի լամպ. 4 քայլ (նկարներով)
Video: Home Assistant. Դաս 9.4 ADD-ON - Xiaomi Gateway 3, zigbee2mqtt ինտեգրում 2024, Նոյեմբեր
Anonim
Image
Image

O-Zone- ը DIY Bluetooth լամպ է: Դուք կարող եք փոփոխել լամպի գույնը և նաև լուսարձակների պայծառությունը: Դուք կարող եք օգտագործել ձեր սմարթֆոնը, ձեր պլանշետը լույսը միացնելու համար, փոփոխել ձեր սենյակի գույներն ու տրամադրությունը:

Լամպի համար նյութերն են

1 x Light BlueBean մարտկոցով

1 x Adafruit Neopixel մատանի (16 x led)

Հարմար Bluetooth ծրագիր iOS

Bluethooth տերմինալ Android- ի համար

Կառույցի նյութերն են

3 մմ (3.1 դյույմ) Փայտ

1.5 մմ (0.05 դյույմ) Սպիտակ պլեքսիգլաս

Քայլ 1: Խորանարդի կառուցվածքը

Programրագրեք դակիչը բաց կապույտ լոբիով
Programրագրեք դակիչը բաց կապույտ լոբիով

Լամպի կառուցվածքի համար ես նախագծել եմ խորանարդ: Պարզ, բայց գծային փայտի խորանարդ: Ես փայտը կտրել եմ իմ լազերային փորագրիչով: Բացի այդ, ես շրջանակ եմ կտրել խորանարդի վերին երեսի ներսում: Կտրվածքի ներսում ես դրել եմ պլեքսիգլասի սպիտակ մատանի: Ես կտրեցի պլեքսիգլասը 40W լազերային կտրմամբ: Դուք կարող եք օգտագործել սպիտակ պլեքսիգլասը, քանի որ Adafruit led մատանին, ունի բազմաթիվ գույներ: Բացի այդ, դուք կարող եք օգտագործել թափանցիկ Plexi, բայց ես կարծում եմ, որ սպիտակն ավելի լավ է լույսի հարթեցման որակի համար:

Կառուցվածքի կտրման համար կարող եք օգտագործել ձեր լազերային դանակը կամ կարող եք օգտագործել Fablab- ի նման լազերային կտրման ծառայությունը կամ կարող եք նախագիծը ուղարկել Shapeways- ի նման առցանց ծառայության:

Դրեք կտորները վինիլային սոսինձով: Հավաքելուց հետո Adafruit Neopixel մատանին պլեքսիգլասի օղակով: Պլաստիկ մասերի համար կարող եք օգտագործել ակրիլային սոսինձ: Հավաքեք բոլորը միասին:

Այս քայլից հետո ձեր կառուցվածքը պատրաստ է:

Քայլ 2. Programրագրեք դակիչը բաց կապույտ լոբու միջոցով

Light BlueBean ծրագրավորման համար կարող եք օգտագործել Arduino IDE- ն: Երբ դուք լիցքավորում եք որոնվածը ձեր Light BlueBean- ում, պետք է օգտագործեք Bluetooth հաղորդակցությունը: Դուք կարող եք օգտագործել Arduino IDE- ն և համատեղել այս ծրագիրը Punch Trough Light BlueBean բեռնիչի հետ: Մանրամասների համար տես պաշտոնական կայքը:

Սկսեք Light BLUEBean- ով

Դուք կարող եք օգտագործել այս ծածկագիրը Light BlueBean- ի համար.

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

* O- գոտու Bluethooth լամպ

* 31 մարտի, 2017 թ

* Ovanովանի entենտիլ

* Punch Through Light BlueBean- ի համար

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

#ներառել «Adafruit_NeoPixel.h»

// Պին, որը միացված է NeoPixels- ին

#սահմանեք PIN 5

// NeoPixels- ում LED- ների քանակը

#սահմանել NUMPIXELS 16 int պայծառ = 20; բուլյան լումի = 1; բուլյան նախորդԼումի = 1;

Լարային հրաման;

բուլյան commandStarted = կեղծ; Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedReading ledColor; LedReading previousLedColor; void setup () {Serial.begin (); // Նախաստորագրեք NeoPixels pixels.begin (); }

դատարկ շրջան () {

getCommand (); }

/*

Այս գործառույթը կարդում է սերիալային պորտը և ստուգում է մեկնարկի նշանը '#', եթե սկզբնական նիշը գտնվի, այն բոլոր ստացված նիշերը կավելացնի հրամանի բուֆերին մինչև չստանա վերջնական հրամանը ';' Երբ ավարտվում է հրամանը, կոչվում է commandCompleted () գործառույթը: եթե երկրորդ մեկնարկային նշանը գտնվի մինչև վերջնական նիշը, ապա բուֆերը մաքրվում է և գործընթացը սկսվում է նորից: */ void getCommand () {while (Serial.available ()) {char newChar = (char) Serial.read (); if (newChar == '#') {commandStarted = true; հրաման = "\ 0"; } else if (newChar == ';') {commandStarted = false; հրաման Ավարտված (); հրաման = "\ 0"; } else if (commandStarted == true) {command += newChar; }}}

/*

Այս գործառույթը վերցնում է ավարտված հրամանը և ստուգում այն առկա հրամանների ցանկի համեմատ և կատարում համապատասխան ծածկագիրը: Ավելացրեք լրացուցիչ «եթե» հայտարարություններ ՝ հրամանը ավելացնելու համար այն ծածկագրով, որը ցանկանում եք կատարել, երբ այդ հրամանը ստացվի: Առաջարկվում է հրամանի գործառույթ ստեղծել, եթե կան մի քանի տողից ավելի կոդ, ինչպես «անջատված» օրինակում: */ void commandCompleted () {if (command == "low") {bright = bright - 10; lumi = -lumi; Serial.print (պայծառ); } if (command == "high") {bright = bright + 10; lumi = -lumi; Serial.print (պայծառ); } if (հրաման == "կարմիր") {Bean.setLed (255, 0, 0); Serial.print («LED- ը կարմիր դարձավ»); } if (հրաման == "կանաչ") {Bean.setLed (0, 255, 0); Serial.print («LED- ը կանաչեց»); } if (հրաման == "կապույտ") {Bean.setLed (0, 0, 255); Serial.print («LED- ը կապույտ դարձավ»); } if (հրաման == "դեղին") {Bean.setLed (255, 255, 0); Serial.print («LED- ը դեղին դարձավ»); } if (հրաման == "նարնջագույն") {Bean.setLed (255, 60, 0); Serial.print («LED- ն դարձավ նարնջագույն»); } if (հրաման == "մանուշակագույն") {Bean.setLed (128, 0, 128); Serial.print («LED- ը դարձավ մանուշակագույն»); } if (command == "white") {Bean.setLed (255, 255, 255); Serial.print («LED- ը սպիտակեց»); } if (հրաման == "անջատված") {անջատված (); } if (Bean.getConnectionState ()) {// Ստացեք արժեքները Bean's onboard LED ledColor = Bean.getLed (); } if (lumi! = previousLumi || ledColor.red! = previousLedColor.red || ledColor.green! = previousLedColor.green || ledColor.blue! = previousLedColor.blue) {համար (int i = 0; i

/*

Օգտագործեք այսպիսի առանձին գործառույթ, երբ կան ավելի քան մի քանի տող կոդ: Սա կօգնի պահպանել մաքուր, հեշտ ընթերցվող կոդը: */ void off () {Bean.setLed (0, 0, 0); Serial.print («LED- ն անջատված է»); }

Քայլ 3. Բաց կապույտ լոբին միացրեք Adafruit Neopixel մատանին

Միացրեք Բաց կապույտ լոբին Adafruit Neopixel մատանին
Միացրեք Բաց կապույտ լոբին Adafruit Neopixel մատանին

Որոնվածը բեռնելուց հետո կարող եք օգտագործել Light BlueBean- ը ձեր սմարթֆոնի հետ: Դուք կարող եք փորձել ծրագիրը ՝ օգտագործելով rgb led ինքնաթիռը: Այն բանից հետո, երբ կարող եք միացնել Adafruit 16x մատանին:

Ո PayՇԱԴՐՈԹՅՈՆ, միացրեք VCC- ն Light BlueBean 5v- ին, GND- ը Light BlueBean GND- ին և տվյալների կապը ձեր Adafruit Neopixel մատանին 5 -րդ համարի վրա:

Քայլ 4: Bluetooth հավելված և սերիական հաղորդակցություն

Bluetooth հավելվածը և սերիական հաղորդակցությունը
Bluetooth հավելվածը և սերիական հաղորդակցությունը

Light BlueBean- ի ներսում ծածկագիրը տվյալներ է ստանում սերիայի միջոցով: Դուք կարող եք սերիական տողը ուղարկել BlueBean ՝ օգտագործելով Bluetooth արձանագրությունը: Ես օգտագործում եմ Handy BLE- ը iOS- ի համար: Այս հավելվածը կարող եք օգտագործել Bluetooth արձանագրության միջոցով ձեր ուզած ցանկացած սերիալ: Ես ստեղծել եմ վահանակ, որն ունի շրջանագծի 6 գույն, 1 անջատված շրջան և երկու քառակուսի Bright: Քառակուսի հրամանները նախատեսված են լուսարձակների օղակի պայծառությունը բարձրացնելու և իջեցնելու համար:

Սերիական հրամանը, որն ընդունում է BlueBean- ը, հետևյալն են.

Լապտերները գունավորելու համար.

#կարմիր;

#մանուշակագույն;

#Կապույտ;

#կանաչ;

#դեղին;

#նարնջագույն;

LED- ները փակելու համար.

#անջատված;

Պայծառությունը կարգավորելու համար.

#ցածր;

#բարձր;

Խորհուրդ ենք տալիս: