สารบัญ:

O-Zone: DIY ไฟแบตเตอรี่ Bluetooth: 4 ขั้นตอน (พร้อมรูปภาพ)
O-Zone: DIY ไฟแบตเตอรี่ Bluetooth: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: O-Zone: DIY ไฟแบตเตอรี่ Bluetooth: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: O-Zone: DIY ไฟแบตเตอรี่ Bluetooth: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีต่อแบตเตอรี่เข้าแอมป์จิ๋วบลูทูธ วงจรชาร์จ,เช็คแบต ลำโพงบลูทูธฉบับมือใหม่ 2024, กรกฎาคม
Anonim
Image
Image

O-Zone เป็นโคมไฟบลูทูธ DIY คุณสามารถปรับเปลี่ยนสีของหลอดไฟและความสว่างของไฟ LED ได้ คุณสามารถใช้สมาร์ทโฟน แท็บเล็ตของคุณเพื่อเปิดไฟ ปรับแต่งสีและอารมณ์ของห้องของคุณได้

วัสดุสำหรับโคมไฟคือ:

1 x Light BlueBean พร้อมแบตเตอรี่

1 x แหวน Adafruit Neopixel (ไฟ LED 16 ดวง)

แอพบลูทูธที่มีประโยชน์ iOS

Bluethooth Terminal สำหรับ Android

วัสดุสำหรับโครงสร้างคือ:

ไม้ 3 มม. (3.1 นิ้ว)

ลูกแก้วสีขาว 1.5 มม. (0.05 นิ้ว)

ขั้นตอนที่ 1: โครงสร้างของ Cube

ตั้งโปรแกรม Punch Through Light Blue Bean
ตั้งโปรแกรม Punch Through Light Blue Bean

สำหรับโครงสร้างของโคมไฟ ฉันออกแบบลูกบาศก์ ลูกบาศก์ไม้ที่เรียบง่าย แต่เป็นเส้นตรง ฉันตัดไม้ด้วยเครื่องแกะสลักเลเซอร์ของฉัน ฉันยังตัดวงกลมด้านในส่วนบนของลูกบาศก์ด้วย ในการตัด ฉันใส่แหวนลูกแก้วสีขาว ฉันตัดลูกแก้วด้วยการตัดด้วยเลเซอร์ 40W คุณสามารถใช้ลูกแก้วสีขาวได้ เนื่องจากวงแหวน LED ของ Adafruit มีหลายสี นอกจากนี้คุณยังสามารถใช้ Plexi แบบโปร่งใสได้ แต่ฉันคิดว่าสีขาวจะดีกว่าสำหรับคุณภาพแสงที่เรียบ

สำหรับการตัดโครงสร้าง คุณสามารถใช้เครื่องตัดเลเซอร์ของคุณ หรือคุณสามารถใช้บริการตัดด้วยเลเซอร์ เช่น Fablab หรือส่งโครงการไปยังบริการออนไลน์เช่น Shapeways

ประกอบชิ้นส่วนเข้าด้วยกันด้วยกาวไวนิล หลังจากประกอบวงแหวน Adafruit Neopixel กับวงแหวนลูกแก้วแล้ว สำหรับชิ้นส่วนพลาสติก คุณสามารถใช้กาวอะคริลิก ประกอบเข้าด้วยกัน.

หลังจากขั้นตอนนี้ โครงสร้างของคุณก็พร้อม!

ขั้นตอนที่ 2: ตั้งโปรแกรม Punch Through Light Blue Bean

สำหรับการเขียนโปรแกรม Light BlueBean คุณสามารถใช้ Arduino IDE เมื่อคุณชาร์จเฟิร์มแวร์บน Light BlueBean คุณต้องใช้การสื่อสาร Bluetooth คุณสามารถใช้ Arduino IDE และรวมโปรแกรมนี้กับตัวโหลด Punch Trough Light BlueBean ดูเว็บไซต์อย่างเป็นทางการสำหรับรายละเอียด

เริ่มต้นใช้งาน Light BLUEBean

คุณสามารถใช้รหัสนี้สำหรับ Light BlueBean:

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

* หลอดบลูทูธโอโซน

* 31 มีนาคม 2560

* จิโอวานนี เจนติเล

* สำหรับ Punch Through Light BlueBean

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

#รวม "Adafruit_NeoPixel.h"

// พินที่เชื่อมต่อกับ NeoPixels

#กำหนด PIN 5

// จำนวนไฟ LED ใน NeoPixels

#define NUMPIXELS 16 int สว่าง = 20; ลูมิบูลีน = 1; บูลีนก่อนหน้าLumi = 1;

คำสั่งสตริง;

คำสั่งบูลีนเริ่มต้น = false; พิกเซล Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedReading ledColor; LedReading ก่อนหน้าLedColor; การตั้งค่าเป็นโมฆะ () { Serial.begin (); // เริ่มต้น NeoPixels pixels.begin(); }

วงเป็นโมฆะ () {

getCommand(); }

/*

ฟังก์ชันนี้จะอ่านพอร์ตอนุกรมและตรวจสอบอักขระเริ่มต้น '#' หากพบอักขระเริ่มต้น จะเพิ่มอักขระที่ได้รับทั้งหมดลงในบัฟเฟอร์คำสั่งจนกว่าจะได้รับคำสั่งสิ้นสุด ';' เมื่อได้รับคำสั่ง end ฟังก์ชัน commandCompleted() จะถูกเรียก หากพบอักขระเริ่มต้นตัวที่สองก่อนอักขระสิ้นสุด บัฟเฟอร์จะถูกล้างและกระบวนการจะเริ่มต้นใหม่ */ เป็นโมฆะ getCommand () { ในขณะที่ (Serial.available ()) { ถ่าน newChar = (ถ่าน) Serial.read (); ถ้า (newChar == '#') { commandStarted = true; คำสั่ง = "\0"; } else if (newChar == ';') { commandStarted = false; คำสั่งเสร็จสิ้น (); คำสั่ง = "\0"; } else if (commandStarted == true) { command += newChar; } } }

/*

ฟังก์ชันนี้ใช้คำสั่งที่เสร็จสมบูรณ์และตรวจสอบกับรายการคำสั่งที่มีอยู่และรันโค้ดที่เหมาะสม เพิ่มคำสั่ง 'if' พิเศษเพื่อเพิ่มคำสั่งด้วยรหัสที่คุณต้องการดำเนินการเมื่อได้รับคำสั่งนั้น ขอแนะนำให้สร้างฟังก์ชันสำหรับคำสั่งหากมีโค้ดมากกว่าสองสามบรรทัดดังในตัวอย่าง 'ปิด' */ void commandCompleted() { if (command == "low") { bright = bright - 10; ลูมิ = -ลูมิ; Serial.print (สว่าง); } if (คำสั่ง == "สูง") { สว่าง = สว่าง + 10; ลูมิ = -ลูมิ; Serial.print (สว่าง); } if (command == "red") { Bean.setLed(255, 0, 0); Serial.print ("ไฟ LED เปลี่ยนเป็นสีแดง"); } if (command == "green") { Bean.setLed(0, 255, 0); Serial.print ("ไฟ LED เปลี่ยนเป็นสีเขียว"); } if (คำสั่ง == "สีน้ำเงิน") { Bean.setLed(0, 0, 255); Serial.print("ไฟ LED เปลี่ยนเป็นสีน้ำเงิน"); } if (command == "yellow") { 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 (คำสั่ง == "สีขาว") { Bean.setLed (255, 255, 255); Serial.print ("ไฟ LED เปลี่ยนเป็นสีขาว"); } if (คำสั่ง == "off") { off(); } if(Bean.getConnectionState()){ // รับค่าจาก LED ออนบอร์ดของ Bean ledColor = Bean.getLed(); } if(lumi != PreviousLumi || ledColor.red != PreviousLedColor.red || ledColor.green != PreviousLedColor.green || ledColor.blue != PreviousLedColor.blue){ สำหรับ (int i=0;i

/*

ใช้ฟังก์ชันแยกเช่นนี้เมื่อมีโค้ดมากกว่าสองสามบรรทัด สิ่งนี้จะช่วยรักษาโค้ดที่สะอาดและอ่านง่าย */ ถือเป็นโมฆะ () { Bean.setLed (0, 0, 0); Serial.print("ไฟ LED ดับ"); }

ขั้นตอนที่ 3: เชื่อมต่อ Light Blue Bean กับ Adafruit Neopixel Ring

เชื่อมต่อ Light Blue Bean กับ Adafruit Neopixel Ring
เชื่อมต่อ Light Blue Bean กับ Adafruit Neopixel Ring

หลังจากอัปโหลดเฟิร์มแวร์ คุณสามารถใช้ Light BlueBean กับสมาร์ทโฟนของคุณได้ คุณสามารถลองใช้โปรแกรมโดยใช้ rgb led onboard หลังจากเชื่อมต่อวงแหวน Adafruit 16x แล้ว

ให้ความสนใจ เชื่อมต่อ 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 วงปิด และสองตารางสว่าง คำสั่งสี่เหลี่ยมใช้สำหรับวางความสว่างของวงแหวนไฟ LED ขึ้นและลง

คำสั่งซีเรียลที่ BlueBean ยอมรับคือ:

สำหรับการระบายสีไฟ LED:

#สีแดง;

#สีม่วง;

#สีฟ้า;

#เขียว;

#สีเหลือง;

#ส้ม;

สำหรับปิดไฟ LED:

#ปิด;

สำหรับการควบคุมความสว่าง:

#ต่ำ;

#สูง;

แนะนำ: