Talaan ng mga Nilalaman:

Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp: 7 Hakbang
Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp: 7 Hakbang

Video: Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp: 7 Hakbang

Video: Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp: 7 Hakbang
Video: 16 COOL Car Accessories on AMAZON That’ll UPGRADE Your Ride! 2024, Hulyo
Anonim
Image
Image
Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp
Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp

Palagi kong pinapangarap na makontrol ang aking mga gamit sa pag-iilaw. Pagkatapos ang isang tao ay gumawa ng isang hindi kapani-paniwalang makulay na LED lampara. Kamakailan lamang ay nakatagpo ako ng isang LED Lamp ni Joseph Casha sa Youtube. Naging inspirasyon nito, nagpasya akong magdagdag ng maraming mga pagpapaandar habang pinapanatili ang napapanahong disenyo.

Ang plano ay gawin ang lampara upang maging mas madaling gamitin sa pamamagitan ng pagdaragdag ng isang Bluetooth Module at matugunan ang WS2812B RGB LED strip. Ginawang posible upang makontrol ang kulay ng pag-iilaw sa pamamagitan lamang ng paggamit ng isang smartphone app.

Hakbang 1: Ipunin ang Mga Materyal

Ipunin ang Mga Kagamitan
Ipunin ang Mga Kagamitan
Ipunin ang Mga Kagamitan
Ipunin ang Mga Kagamitan

Mga tool:

• Soldering Station

• Heater Blower Gun

• Drill machine

• Circular Saw

• Itinaas ng Jigsaw

• Mga Wire Cutter Plier

• Mga makitid na ilong na Plier

Mga Materyales:

• translucent acrylic board

• Japanese Cypress Wood (o maaari kang gumamit ng anumang kahoy hangga't ito ay matatag at sapat na malakas)

• Mga tornilyo

• Hindi kinakalawang na asero Pole o Stick

• Mga wire (Gumagamit ako ng pula at itim na kawad)

• Panghinang na Tin

Mga Sangkap ng Elektronikong:

• Arduino Nano

• Bluetooth Module HC-05 (Napagpasyahan kong gamitin ito dahil mas madaling mag-code kaysa sa Wifi Module ESP8266)

• WS2812B Addressable RGB LED Strip

• LM2596 Step-down Module

• DC Barrel Power Jack

Hakbang 2: Pagbuo ng Istraktura ng Lampara

Pagbuo ng Istraktura ng Lampara
Pagbuo ng Istraktura ng Lampara
Pagbuo ng Istraktura ng Lampara
Pagbuo ng Istraktura ng Lampara

Sa hakbang na ito, mayroon akong dalawang paraan ng pagbuo ng istraktura ng lampara- paraan ng paggawa ng kahoy at pamamaraang pag-print ng 3D. Ginagamit ko ang unang pamamaraan. Kung mas gusto mong gawin ito sa pamamagitan ng paggamit ng isang 3D printer, huwag mag-atubiling lumaktaw sa hakbang 2 para sa modelo na aking dinisenyo.

Para sa itaas na bahagi ng lampara, pinapainit ko at yumuko ang board ng acrylic sa isang anggulo na 90 ° tulad ng ipinakita sa itaas. Tumatagal ako ng mahabang panahon upang yumuko ito sa isang perpektong anggulo at direksyon.

Susunod, para sa ibabang bahagi ng lampara. Sa kasamaang palad … sa araw na nagtatrabaho ako sa ibabang bahagi ng lampara, ganap kong nakalimutan na kumuha ng larawan ng konstruksyon! Napagtanto ko na nang matapos ko ang proyektong ito. Ngunit susubukan ko ang aking makakaya upang maibigay sa iyo ang pagsukat ng ibabang bahagi ng lampara.

Karaniwan, kailangan mo lamang i-cut ang apat na bloke ng kahoy na sumusukat sa 13x6x2cm (LxHxW). Susunod, kailangan mong i-cut ang isang tulad ng hagdanan na hiwa sa gilid ng kahoy. Ipapakita ang larawan sa itaas.

Hakbang 3: Ang Mga 3D na Hugis

Ang Mga 3D na Hugis
Ang Mga 3D na Hugis
Ang Mga 3D na Hugis
Ang Mga 3D na Hugis

Para sa sinumang mayroong sariling 3D printer, ikaw ay nasa tamang hakbang. Ginawa nitong user-friendly ang lampara na ito.

Sa totoo lang, ito ang pinakamahirap na hakbang na ginawa ko. Ito ang unang bagay na ginawa ko nang tama pagkatapos mai-install ang software!

Gumagamit ako ng Sketchup Pro upang idisenyo ang istraktura ng lampara. Sa kasamaang palad, hindi ako sapat na kasanayan upang idisenyo ang panloob na bahagi. Ang link sa aking modelo ng 3D ay nasa file sa ibaba.

Hakbang 4: Ang Iskolar ng Mga Bahagi

Ang Iskolar ng Mga Bahagi
Ang Iskolar ng Mga Bahagi

Gumagamit ako ng Fritzing upang maitayo ang mga eskematiko ng mga sangkap. Ang eskematiko ay talagang madali.

Hakbang 5: Ang Code

Ang Code
Ang Code

Para sa pag-coding ng mood lamp na ito, gumamit ako ng ilang mga aklatan mula sa Arduino IDE. Ang mga aklatan ay nakalista sa hakbang 7.

Para sa code, kailangan mong magkaroon ng Arduino software mismo. Ibibigay ko ang link upang mag-download dito.

Gayundin, ang sketch o ang code ay ipapakita sa ibaba?

Ibinigay ko rin ang file para sa code sa Github.com kung sakaling ang code sa ibaba ay masyadong mahaba upang makopya dito;)

#include #include #include #ifdef _AVR_ #include #endif

SoftwareSerial BT (10, 11);

#define LED_PIN 7 # tukuyin ang NUM_LEDS 60 #define BRIGHTNESS 200 #define SPEED 10 #define IMMEDIATELY 0 #define RAINBOW_SPEED 50 CRGB leds [NUM_LEDS];

Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool offOld = LOW;

bool WhiteOld = Mababa; bool RedOld = LOW; bool GreenOld = LOW; bool BlueOld = LOW; bool TopazOld = LOW; bool LilacOld = LOW; bool RainbowOld = LOW; bool rgbOld = LOW; int showType = 0;

walang bisa ang pag-setup () {

FastLED.addLeds (leds, NUM_LEDS); // ///.

BT.begin (9600);

BT.println ("Nakakonekta sa Arduino");

strip.setBightness (BRIGHTNESS);

strip.begin ();

strip.show ();

}

char a;

void loop () {

para sa (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } bool off = LOW; bool White = LOW; bool Blue = LOW; bool Red = LOW; bool Green = LOW; bool Topaz = LOW; bool Lilac = LOW; bool Rainbow = Mababa; bool rgb = Mababa; bool ens; kung (BT.available ()) {a = (char) BT.read ();

kung (a == 'o')

{off = TAAS; BT.println ("TURNING OFF LEDs..");

} iba pa {

off = LOW; } // =_ =_

kung (a == 'w')

{Puti = TAAS; BT.println ("TURNING LEDs WHITE");

} iba pa {

Maputi = MABABA; } // =_ =_

kung (a == 'b')

{Blue = TAAS; BT.println ("PAGBABAGO SA BLUE"); } iba pa {Blue = LOW; }

// ===========================================================================================

kung (a == 'r')

{Pula = TAAS; BT.println ("PAGBABAGO SA PULANG"); } iba pa {Pula = LOW; }

// ===========================================================================================

kung (a == 'g')

{Green = TAAS; BT.println ("PAGBABAGO SA GREEN"); } iba pa {Green = LOW; }

// ===========================================================================================

kung (a == 't')

{Topaz = TAAS; BT.println ("PAGBABAGO SA TOPAZ"); } iba pa {Topaz = LOW; }

// ===========================================================================================

kung (a == 'l')

{Lilac = TAAS; BT.println ("PAGBABAGO SA LILAC"); } iba pa {Lilac = LOW; }

// ===========================================================================================

kung (a == 'a')

{Rainbow = TAAS; BT.println ("RAINBOW ANIMATION"); } iba pa {Rainbow = LOW; } // =_ =_

kung (a == 'm')

{rgb = TAAS; BT.println ("MIX COLORS"); } iba pa {rgb = LOW; }} kung (off == LOW && offOld == MATAAS) {pagkaantala (20); kung (off == LOW) {showType = 0; // Off animation Type 0 startShow (showType); }}

// ===========================================================================================

kung (Puti == LOW && WhiteOld == TAAS) {

pagkaantala (20); kung (Puti == LOW) {showType = 1; // White animation Type 1 startShow (showType); }}

// =_ =_ kung (Pula == LOW && RedOld == MATAAS) {pagkaantala (20); kung (Pula == LOW) {showType = 2; // Red animation Type 2 startShow (showType); }}

// ===========================================================================================

kung (Green == LOW && GreenOld == TAAS) {

pagkaantala (20); kung (Green == LOW) {showType = 3; // Green animation Type 3 startShow (showType); }} // =_ =_

kung (Blue == LOW && BlueOld == TAAS) {

pagkaantala (20); kung (Blue == LOW) {showType = 4; // Blue animation Type 4 startShow (showType); }}

// ===========================================================================================

kung (Topaz == LOW && TopazOld == TAAS) {

pagkaantala (20); kung (Topaz == LOW) {showType = 5; // Topaz animation Type 5 startShow (showType); }}

// ===========================================================================================

kung (Lilac == LOW && LilacOld == TAAS) {

pagkaantala (20); kung (Lilac == LOW) {showType = 6; // Topaz animation Type 6 startShow (showType); }} // =_ =_

kung (Rainbow == LOW && RainbowOld == TAAS) {

pagkaantala (20);

kung (Rainbow == LOW) {

showType = 8; // Rainbow animation Type 8 startShow (showType); }}

// ===========================================================================================

kung (rgb == LOW && rgbOld == TAAS) {

pagkaantala (20);

kung (rgb == LOW) {

showType = 7; // Mix animasyon uri 7 rgb = TAAS;

startShow (showType);

} }

WhiteOld = Puti;

RedOld = Pula; BlueOld = Blue; GreenOld = Green; TopazOld = Topaz; LilacOld = Lilac; offOld = off; RainbowOld = Rainbow; rgbOld = rgb;

}

walang bisa startShow (int i) {

lumipat (i) {

kaso 0: colorWipe (strip. Color (0, 0, 0), SPEED); // Itim / off

pahinga;

kaso 1: strip.setBightness (255); // Binabago ang Liwanag sa MAX

colorWipe (strip. Color (255, 255, 255), AGAD); // White strip.setBightness (BRIGHTNESS); // I-reset ang Liwanag sa Default na break ng halaga;

kaso 2: colorWipe (strip. Color (255, 0, 0), SPEED); // Pula

pahinga;

kaso 3: colorWipe (strip. Color (0, 255, 0), SPEED); // Green

pahinga;

kaso 4: colorWipe (strip. Color (0, 0, 255), SPEED); // Bughaw

pahinga;

kaso 5: colorWipe (strip. Color (0, 250, 255), SPEED); // Topaz

pahinga;

kaso 6: colorWipe (strip. Color (221, 130, 255), SPEED); // Lilac

pahinga; kaso 7: colorWipe (strip. Color (255, 0, 0), SPEED); // Red colorWipe (strip. Color (0, 255, 0), SPEED); // Green colorWipe (strip. Color (0, 0, 255), SPEED); // Blue theatreChase (strip. Kulay (0, 0, 127), SPEED); // Blue theatreChase (strip. Kulay (127, 0, 0), SPEED); // Red theatreChase (strip. Kulay (0, 127, 0), SPEED); // Green break;

kaso 8: bahaghariCycle (25);

pahinga; }} walang bisa na colorWipe (uint32_t c, uint8_t maghintay) {for (uint16_t i = 0; i

walang bisa ang rainbowCycle (uint8_t maghintay) {

uint16_t i, j;

para sa (j = 0; j <256 * 10; j ++) {// 5 cycle ng lahat ng mga kulay sa gulong para sa (i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, Wheel (((i * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); antala (maghintay); }}

void theatreChase (uint32_t c, uint8_t wait) {

para sa (int j = 0; j <10; j ++) {// gawin ang 10 cycle ng paghabol para sa (int q = 0; q <3; q ++) {para sa (int i = 0; i <strip.numPixels (); i = i + 3) {strip.setPixelColor (i + q, c); // turn on third pixel on} strip.show ();

antala (maghintay);

para sa (int i = 0; i <strip.numPixels (); i = i + 3) {strip.setPixelColor (i + q, 0); // patayin ang bawat pangatlong pixel}}}}

uint32_t Wheel (byte WheelPos) {

WheelPos = 255 - WheelPos; kung (WheelPos <85) {return strip. Color (255 - WheelPos * 3, 0, WheelPos * 3); } kung (WheelPos <170) {WheelPos - = 85; return strip. Kulay (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos - = 170; return strip. Color (WheelPos * 3, 255 - WheelPos * 3, 0); }

Hakbang 6: Pagkontrol sa lampara

Pagkontrol sa lampara
Pagkontrol sa lampara
Pagkontrol sa lampara
Pagkontrol sa lampara
Pagkontrol sa lampara
Pagkontrol sa lampara

Ang kulay ng lampara ay maaaring makontrol sa pamamagitan ng paggamit ng iyong smartphone.

Una, kailangan mong i-install ang app na tinatawag na 'Bluetooth Terminal HC-05' mula sa Google Play Store o Apple App Store.

Ito ang mga hakbang upang makontrol ang lampara sa pamamagitan ng iyong sariling smartphone:

1. I-on ang Bluetooth sa iyong smartphone.

2. Buksan ang app na kung saan ay 'Bluetooth Terminal HC-05'.

3. Dapat mo na ngayong makita ang mga nakapares na aparato sa screen. Piliin ang 'HC-05'.

4. Ngayon ay maaari mong makita ang isang itim na screen na lilitaw sa iyong smartphone na magpapahiwatig ng 'konektado sa Arduino'.

5. Narito ang nakakatuwang bahagi, kung na-type mo ang 'b' sa textbox, ang lampara ay magiging asul na kulay. Narito ang listahan ng utos na maaari mong i-type para sa lampara:

- w para sa puti

- b para sa asul

- g para sa berde

- para sa pula

- t para sa topasyo

- l para sa lilac

- isang para sa animasyon ng bahaghari

- o para sa off

Masaya diba

6. Huling ngunit hindi pa huli, maaari mo ring ipasadya ang pindutan sa ibaba ng screen sa iyong nais na teksto tulad ng ipinakita sa larawan sa itaas.

Hakbang 7: Masiyahan sa Iyong Mood Lamp !

Masiyahan sa Iyong Mood Lamp !!
Masiyahan sa Iyong Mood Lamp !!
Masiyahan sa Iyong Mood Lamp !!
Masiyahan sa Iyong Mood Lamp !!
Masiyahan sa Iyong Mood Lamp !!
Masiyahan sa Iyong Mood Lamp !!

Sana magustuhan mo ang Mga Instructionable na ito. Ito ay isang napakahirap na proyekto para sa akin ngunit nagawa ko itong kumpletuhin bilang isang 14 na taong gulang na lalaki. Bigyan mo ba ako ng ilang feedback para sa mga pagpapabuti sa hinaharap.

Salamat sa pagbabasa at Maligayang Pasko!

Inirerekumendang: