Talaan ng mga Nilalaman:
- Hakbang 1: Ipunin ang Mga Materyal
- Hakbang 2: Pagbuo ng Istraktura ng Lampara
- Hakbang 3: Ang Mga 3D na Hugis
- Hakbang 4: Ang Iskolar ng Mga Bahagi
- Hakbang 5: Ang Code
- Hakbang 6: Pagkontrol sa lampara
- Hakbang 7: Masiyahan sa Iyong Mood Lamp !
Video: Kinokontrol ng Bluetooth Smartphone na Smart LED Lamp: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
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
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
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
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
Gumagamit ako ng Fritzing upang maitayo ang mga eskematiko ng mga sangkap. Ang eskematiko ay talagang madali.
Hakbang 5: 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
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 !
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:
Murang Smartphone na Kinokontrol ng Smartphone (+ Posisyon ng Pag-save ng Opsyon): 5 Hakbang
Murang Smartphone na Kinokontrol ng Smartphone (+ Posisyon ng Pag-save ng Opsyon): Ang proyektoDrive isang robotic arm na kinokontrol ng smartphone gamit ang bluetooth device. Bonus bonus: mayroon kaming isang pindutan na pinapayagan ang arduino na matandaan ang isang posisyon. Kailan man gusto natin, maaari kaming pumunta sa nai-save na posisyon na ito gamit ang isa pang pindutan. FRLE PROJET Command
The Mummy Lamp - Kinokontrol ng WiFi ng Smart Lamp: 5 Hakbang (na may Mga Larawan)
The Mummy Lamp - Kinokontrol ng Smart Smart Lamp ng WiFi: Mga 230 libong taon na ang nakararaan natutunan ng tao na kontrolin ang apoy, humantong ito sa isang malaking pagbabago sa kanyang lifestyle habang nagsimula siyang magtrabaho sa gabi na gumagamit din ng ilaw mula sa apoy. Maaari nating sabihin na ito ang simula ng Indoor Lighting. Ngayon ako ay
Kinokontrol ng Smartphone na Mga Bluetooth na Bluetooth (na may Live Music Sync): 7 Mga Hakbang
Smartphone Controlled Bluetooth LEDs (na may Live Music Sync): Palagi kong gustung-gusto ang pagbuo ng mga bagay, matapos kong malaman na ang aking bagong dorm sa kolehiyo ay may kahila-hilakbot na pag-iilaw, napagpasyahan kong pagandahin ito nang kaunti. *** BABALA *** Kung magtatayo ka ang proyektong ito sa parehong sukat ng aking pag-set up, gagana ka sa isang disenteng halaga ng ele
Smartphone na Kinokontrol ng Smartphone [Prototype]: 7 Hakbang
Smartphone Controlled Car [Prototype]: Sa ngayon ay nagtuturo, tinutulungan ka naming bumuo ng isang simple at matikas na prototype para sa isang remote control na kotse, na may isang kahoy na base, na nagsasama ng 3D naka-print na Polylactic Acid (PLA) para sa motor bracing at adapter na kung saan kinokonekta ang mga motor sa ika
Paano Gumawa ng Smartphone na Kinokontrol ng Smartphone: 3 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Smartphone na Kinokontrol ng Smartphone: Naisip mo bang kontrolin ang iyong robot nang wireless o higit sa paggamit ng smartphone? Kung oo, pagkatapos ang iyong tamang post sa pagbabasa. Sa post na ito bibigyan kita ng hakbang-hakbang na pamamaraan. Gumawa ako ng isang simpleng robot na maaaring makontrol gamit ang smartphone ngunit maaari mong ilagay ang isang