Mündəricat:

O-Zone: DIY Bluetooth Batareya Lampası: 4 Addım (Şəkillərlə)
O-Zone: DIY Bluetooth Batareya Lampası: 4 Addım (Şəkillərlə)

Video: O-Zone: DIY Bluetooth Batareya Lampası: 4 Addım (Şəkillərlə)

Video: O-Zone: DIY Bluetooth Batareya Lampası: 4 Addım (Şəkillərlə)
Video: Home Assistant. Dərs 9.4 ADD-ON - Xiaomi Gateway 3, zigbee2mqtt inteqrasiyası 2024, Noyabr
Anonim
Image
Image

O-Zone DIY Bluetooth lampasıdır. Lampanın rəngini və LEDlərin parlaqlığını dəyişə bilərsiniz. İşığı açmaq, rəngləri və otağınızın əhvalını dəyişdirmək üçün smartfonunuzdan, planşetinizdən istifadə edə bilərsiniz.

Lampa üçün materiallar aşağıdakılardır:

1 x Light BlueBean batareyası ilə

1 x Adafruit Neopixel üzük (16 x led)

IOS üçün lazımlı Bluetooth proqramı

Android üçün Bluethooth Terminal

Quruluş üçün materiallar aşağıdakılardır:

3 mm (3,1 düym) Ağac

1.5 mm (0.05 düym) Ağ Pleksiglas

Addım 1: kubun quruluşu

Açıq Mavi Fasulye vasitəsilə Punch proqramlaşdırın
Açıq Mavi Fasulye vasitəsilə Punch proqramlaşdırın

Lampanın quruluşu üçün bir kub hazırladım. Sadə, lakin xətti bir ağac küpü. Ağacı lazer oyma maşını ilə kəsdim. Ayrıca, kubun yuxarı üzünün içərisində bir dairə kəsdim. Kəsmənin içinə ağ pleksiglas üzük qoydum. Pleksiglası 40W lazer kəsmə ilə kəsdim. Ağ pleksiglasdan istifadə edə bilərsiniz, çünki Adafruit led üzük çox rənglidir. Ayrıca, şəffaf bir Plexi istifadə edə bilərsiniz, amma işığın hamarlaşması üçün ağın daha yaxşı olduğunu düşünürəm.

Quruluşun kəsilməsi üçün lazer kəsicinizdən istifadə edə bilərsiniz və ya Fablab kimi bir lazer kəsmə xidmətindən istifadə edə bilərsiniz və ya layihəni Shapeways kimi bir onlayn xidmətə göndərə bilərsiniz.

Parçaları bir vinil yapışqan ilə birləşdirin. Adafruit Neopixel üzüyünü pleksiglas üzüklə yığdıqdan sonra. Plastik hissələr üçün akril yapışqan istifadə edə bilərsiniz. Hamısı bir araya gəlir.

Bu addımdan sonra quruluşunuz hazırdır!

Addım 2: Açıq Mavi Fasulye vasitəsilə Punch proqramlaşdırın

Light BlueBean proqramlaşdırması üçün Arduino IDE -dən istifadə edə bilərsiniz. Light BlueBean -də proqram təminatını doldurduqda, Bluetooth ünsiyyətindən istifadə etməlisiniz. Arduino IDE -dən istifadə edə və bu proqramı Punch Trough Light BlueBean yükləyicisi ilə birləşdirə bilərsiniz. Ətraflı məlumat üçün rəsmi sayta baxın.

Light BLUEBean ilə başlayın

Light BlueBean üçün bu kodu istifadə edə bilərsiniz:

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

* O zonalı Bluethooth Lampası

* 31 Mart 2017

* Giovanni Gentile

* Light BlueBean vasitəsilə yumruq üçün

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

#"Adafruit_NeoPixel.h" daxil edin

// NeoPixels -ə qoşulan pin

#PIN 5 təyin edin

// NeoPiksellərdəki LEDlərin miqdarı

#define NUMPIXELS 16 int parlaq = 20; boolean lumi = 1; boolean əvvəlkiLumi = 1;

String əmri;

boolean commandStarted = false; Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); LedReading ledColor; LedReading əvvəlkiLedColor; void setup () {Serial.begin (); // NeoPixels piksellərini başladın.begin (); }

boşluq döngəsi () {

getCommand (); }

/*

Bu funksiya serial portunu oxuyur və '#' başlanğıc xarakterini yoxlayır, əgər başlanğıc xarakteri tapılarsa, bütün alınan simvolları son əmrini alana qədər komanda buferinə əlavə edəcək ';' Bitmə əmri alındıqda commandCompleted () funksiyası çağırılır. son xarakterdən əvvəl ikinci bir başlanğıc xarakteri tapılarsa, bufer silinir və proses yenidən başlayır. */ void getCommand () {while (Serial.available ()) {char newChar = (char) Serial.read (); if (newChar == '#') {commandStarted = true; əmr = "\ 0"; } başqa if (newChar == ';') {commandStarted = false; commandCompleted (); əmr = "\ 0"; } else if (commandStarted == true) {command += newChar; }}}

/*

Bu funksiya tamamlanmış əmri alır və mövcud əmrlərin siyahısı ilə yoxlayır və müvafiq kodu icra edir. Bu əmr alındıqda yerinə yetirmək istədiyiniz kodla əmrlər əlavə etmək üçün əlavə 'if' ifadələrini əlavə edin. 'Off' nümunəsindəki kimi bir neçə kod sətri varsa, bir komanda üçün bir funksiya yaratmaq tövsiyə olunur. */ void commandCompleted () {if (command == "low") {parlaq = parlaq - 10; lumi = -lumi; Serial. çap (parlaq); } əgər (əmr == "yüksək") {parlaq = parlaq + 10; lumi = -lumi; Serial. çap (parlaq); } if (command == "red") {Bean.setLed (255, 0, 0); Serial.print ("LED qırmızıya çevrildi"); } if (command == "green") {Bean.setLed (0, 255, 0); Serial.print ("LED yaşıllaşdı"); } if (command == "blue") {Bean.setLed (0, 0, 255); Serial.print ("LED mavi oldu"); } əgər (əmr == "sarı") {Bean.setLed (255, 255, 0); Serial.print ("LED sarıya döndü"); } if (command == "orange") {Bean.setLed (255, 60, 0); Serial.print ("LED narıncı rəngə çevrildi"); } if (command == "bənövşəyi") {Bean.setLed (128, 0, 128); Serial.print ("LED bənövşəyi oldu"); } if (command == "white") {Bean.setLed (255, 255, 255); Serial.print ("LED ağa çevrildi"); } if (command == "off") {off (); } if (Bean.getConnectionState ()) {// Fasulye daxil olan LED ledColor = Bean.getLed () dəyərləri əldə edin; } if (lumi! = previousLumi || ledColor.red! = previousLedColor.red || ledColor.green! = previousLedColor.green || ledColor.blue! = previousLedColor.blue) {for (int i = 0; i

/*

Bir neçə kod sətirindən çox olduqda, bu kimi ayrı bir funksiyadan istifadə edin. Bu, kodu təmiz oxumağı asanlaşdırmağa kömək edəcək. */ void off () {Bean.setLed (0, 0, 0); Serial.print ("LED söndürüldü"); }

Addım 3: Açıq Mavi Fasulyeyi Adafruit Neopixel Halqasına bağlayın

Açıq Mavi Fasulyeyi Adafruit Neopixel Halqasına bağlayın
Açıq Mavi Fasulyeyi Adafruit Neopixel Halqasına bağlayın

Firmware yükləndikdən sonra, smartfonunuzla birlikdə Light BlueBean istifadə edə bilərsiniz. Gəmidəki rgb leddən istifadə edərək proqramı sınaya bilərsiniz. Adafruit 16x üzük bağlaya bilərsiniz.

DİQQƏT ödəyin, VCC -ni Light BlueBean 5v -ə, GND -ni Light BlueBean GND -yə və 5 nömrəli pindəki Adafruit Neopixel üzüyünüzdəki məlumat pininə qoşun

Addım 4: Bluetooth Tətbiqi və Serial Rabitə

Bluetooth Tətbiqi və Serial Rabitə
Bluetooth Tətbiqi və Serial Rabitə

Light BlueBean içindəki kod serial tərəfindən məlumat alır. Bluetooth protokolundan istifadə edərək serial simasını BlueBean -a göndərə bilərsiniz. IOS üçün Handy BLE istifadə edirəm. Bu proqramı Bluetooth protokolu ilə istədiyiniz hər hansı bir serial simli göndərmək üçün istifadə edə bilərsiniz. 6 dairə rəngi, 1 kənar dairə və iki kvadrat parlaq olan bir tablosu yaratdım. Kvadrat əmrləri, LED halqasının parlaqlığını aşağı və yuxarı qoymaq üçündür.

BlueBean -ın qəbul etdiyi serial əmri bunlardır:

Ledləri rəngləmək üçün:

#qırmızı;

#bənövşəyi;

#mavi;

#yaşıl;

#sarı;

#narıncı;

Ledləri söndürmək üçün:

#off;

Parlaqlığı tənzimləmək üçün:

#aşağı;

#yüksək;

Tövsiyə: