Orodha ya maudhui:

Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth: Hatua 7
Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth: Hatua 7

Video: Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth: Hatua 7

Video: Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth: Hatua 7
Video: Taa Yenye Bluetooth na Spika 2024, Novemba
Anonim
Image
Image
Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth
Taa ya Smart Smart ya Bluetooth inayodhibitiwa na Bluetooth

Daima ninaota kudhibiti vifaa vyangu vya taa. Kisha mtu akatengeneza taa nzuri ya kupendeza ya LED. Hivi karibuni nilikutana na Taa ya LED na Joseph Casha kwenye Youtube. Kupata msukumo kwa hiyo, niliamua kuongeza kazi kadhaa wakati nikitunza muundo wa kisasa.

Mpango ni kufanya taa iwe rahisi kutumia kwa kuongeza Moduli ya Bluetooth na Anwani inayoweza kushughulikiwa ya WS2812B RGB. Hii ilifanya iwezekane kudhibiti rangi ya taa tu kwa kutumia programu ya smartphone.

Hatua ya 1: Kusanya vifaa

Kukusanya Vifaa
Kukusanya Vifaa
Kukusanya Vifaa
Kukusanya Vifaa

Zana:

• Kituo cha Soldering

• Heater Blower Gun

• Mashine ya kuchimba

• Saw mviringo

• Jigsaw

• Vipeperushi vya waya

• Vipeperushi vya pua nyembamba

Vifaa:

• Bodi ya Akriliki inayobadilika

• Kijapani Cypress Wood (au unaweza kutumia kuni yoyote kwa muda mrefu ni thabiti na yenye nguvu ya kutosha)

• Parafujo

• Ncha au Fimbo ya Chuma cha pua

• waya (mimi hutumia waya mwekundu na mweusi)

• Kuunganisha Bati

Vipengele vya Elektroniki:

• Arduino Nano

Moduli ya Bluetooth HC-05 (niliamua kutumia hii kwani ni rahisi kuweka nambari kuliko Moduli ya Wifi ESP8266)

• Ukanda wa LED wa RGB wa WS2812B

• LM2596 Moduli ya Kushuka

• Nguvu ya DC ya Pipa ya DC

Hatua ya 2: Kuunda Muundo wa Taa

Kujenga Muundo wa Taa
Kujenga Muundo wa Taa
Kujenga Muundo wa Taa
Kujenga Muundo wa Taa

Katika hatua hii, nina njia mbili za kujenga muundo wa njia ya kutengeneza taa na njia ya uchapishaji wa 3D. Ninatumia njia ya kwanza. Ikiwa unapendelea kuifanya kwa kutumia printa ya 3D, jisikie huru kuruka hatua ya 2 kwa mfano ambao nimebuni.

Kwa sehemu ya juu ya taa, mimi huwasha moto na kuinama bodi ya akriliki kwa pembe ya 90 ° kama inavyoonyeshwa hapo juu. Nachukua muda mrefu kuipindisha kwa pembe kamili na mwelekeo.

Ifuatayo, kwa sehemu ya chini ya taa. Kwa bahati mbaya … siku ambayo ninafanya kazi kwenye sehemu ya chini ya taa, nilisahau kabisa kuchukua picha ya ujenzi! Niligundua kuwa nilipomaliza mradi huu. Lakini nitajitahidi kukupa kipimo cha sehemu ya chini ya taa.

Kimsingi, unahitaji tu kukata vitalu vinne vya kuni ambavyo hupima 13x6x2cm (LxHxW). Ifuatayo, unahitaji kukata kata kama ngazi kwenye ukingo wa kuni. Picha itaonyeshwa hapo juu.

Hatua ya 3: Maumbo ya 3D

Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D
Maumbo ya 3D

Kwa mtu yeyote ambaye ana printa yake ya 3D, uko katika hatua sahihi. Hii ilifanya taa hii iwe rahisi kutumia.

Kusema kweli, hii ilikuwa hatua ngumu zaidi ambayo nilifanya. Hili ndilo jambo la kwanza nililofanya mara tu baada ya kusanikisha programu!

Ninatumia Sketchup Pro kubuni muundo wa taa. Kwa bahati mbaya, sina ujuzi wa kutosha kubuni sehemu yake ya ndani. Kiunga cha modeli yangu ya 3D kiko kwenye faili hapa chini.

Hatua ya 4: Mpangilio wa Vipengele

Mpangilio wa Vipengele
Mpangilio wa Vipengele

Ninatumia Fritzing kujenga skimu za vifaa. Mpangilio ni rahisi sana.

Hatua ya 5: Kanuni

Kanuni
Kanuni

Kwa kuweka alama ya taa hii ya mhemko, nilitumia maktaba kadhaa kutoka IDE ya Arduino. Maktaba zitaorodheshwa chini kwenye hatua ya 7.

Kwa nambari, unahitaji kuwa na programu ya Arduino yenyewe. Nitatoa kiunga cha kupakua hapa.

Pia, mchoro au nambari itaonyeshwa hapa chini?

Pia nilitoa faili ya nambari katika Github.com ikiwa nambari iliyo hapa chini ni ndefu sana kunakili hapa;)

#jumuisha # pamoja na #jumuisha #ifdef _AVR_ # pamoja #endif

SoftwareSerial BT (10, 11);

#fafanua LED_PIN 7 #fafanua NUM_LEDS 60 #fafanua NURU 200 200 #fafanua SPEED 10 #fafanua HAPO HAPO 0 #fafanua RAINBOW_SPEED 50 CRGB leds [NUM_LEDS];

Ukanda wa Adafruit_NeoPixel = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool offOld = CHINI;

bool WhiteOld = CHINI; bool RedOld = CHINI; bool GreenOld = CHINI; bool BlueOld = CHINI; boaz TopazOld = CHINI; bool LilacOld = CHINI; bool RainbowOld = CHINI; bool rgbOld = CHINI; int showType = 0;

usanidi batili () {

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

BT kuanza (9600);

BT.println ("Imeunganishwa na Arduino");

strip.setBrightness (MWANGA);

strip. kuanza ();

onyesha ();

}

char a;

kitanzi batili () {

kwa (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } bool off = CHINI; bool Nyeupe = CHINI; bool Bluu = CHINI; bool Nyekundu = CHINI; bool Kijani = CHINI; boazi Topazi = CHINI; bool Lilac = CHINI; bool Upinde wa mvua = CHINI; bog rgb = CHINI; bool ende; ikiwa (BT inapatikana ()) {a = (char) BT.soma ();

ikiwa (a == 'o')

{off = JUU; BT.println ("KUZIMA LEDs..");

} mwingine {

off = CHINI; } // ============================================= ==========================================

ikiwa (a == 'w')

{Nyeupe = JUU; BT.println ("Kugeuza LEDs NYEUPE");

} mwingine {

Nyeupe = CHINI; } // ============================================= ==========================================

ikiwa (a == 'b')

{Bluu = JUU; BT.println ("KUBADILI KWA BUU"); } mwingine {Bluu = CHINI; }

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

ikiwa (a == 'r')

{Nyekundu = JUU; BT.println ("KUBADILI KWA RED"); } mwingine {Nyekundu = CHINI; }

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

ikiwa (a == 'g')

{Kijani = JUU; BT.println ("KUBADILI KWA KIJANI"); } mwingine {Kijani = CHINI; }

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

ikiwa (a == 't')

{Topazi = JUU; BT.println ("KUBADILI KWA TOPAZ"); } mwingine {Topazi = CHINI; }

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

ikiwa (a == 'l')

{Lilac = JUU; BT.println ("KUBADILI KWA LILAC"); } mwingine {Lilac = CHINI; }

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

ikiwa (a == 'a')

{Upinde wa mvua = JUU; BT.println ("MCHEZO WA RAINBOW"); } mwingine {Upinde wa mvua = CHINI; } // ============================================= ==========================================

ikiwa (a == 'm')

{rgb = JUU; BT.println ("CHANGANYA RANGI"); } mwingine {rgb = CHINI; }} ikiwa (off == LOW && offOld == HIGH) {kuchelewa (20); ikiwa (mbali == CHINI) {showType = 0; // Ondoa uhuishaji Aina 0 ya kuanza kuonyesha (ShowType); }}

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

ikiwa (Nyeupe == LOW && WhiteOld == JUU) {

kuchelewesha (20); ikiwa (Nyeupe == LOW) {showType = 1; // Uhuishaji mweupe Aina 1 ya mwanzoShow (showType); }}

// ============================================== ====================================== ikiwa (Nyekundu == LOW && RedOld == JUU) {kuchelewesha (20); ikiwa (Nyekundu == LOW) {showType = 2; // Aina nyekundu ya uhuishaji 2 StartShow (showType); }}

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

ikiwa (Kijani == LOW && GreenOld == JUU) {

kuchelewesha (20); ikiwa (Kijani == CHINI) {showType = 3; // Aina ya 3 ya uhuishaji wa kijani (ShowType); }} // ======================================= =========================================

ikiwa (Bluu == LOW && BlueOld == JUU) {

kuchelewesha (20); ikiwa (Bluu == LOW) {showType = 4; // Uhuishaji wa Bluu Aina ya 4 ya kuanzaShow (showType); }}

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

ikiwa (Topaz == LOW && TopazOld == JUU) {

kuchelewesha (20); ikiwa (Topaz == LOW) {showType = 5; // Topaz uhuishaji Aina 5 startShow (showType); }}

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

ikiwa (Lilac == LOW && LilacOld == JUU) {

kuchelewesha (20); ikiwa (Lilac == LOW) {showType = 6; // Aina ya uhuishaji ya Topaz Aina ya 6 ya kuanza (ShowType); }} // ======================================= =========================================

ikiwa (Upinde wa mvua = LOW && RainbowOld == JUU) {

kuchelewesha (20);

ikiwa (Upinde wa mvua == CHINI) {

showType = 8; // Aina ya uhuishaji ya Upinde wa mvua Aina ya 8 ya kuanza (ShowType); }}

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

ikiwa (rgb == LOW && rgbOld == HIGH) {

kuchelewesha (20);

ikiwa (rgb == CHINI) {

showType = 7; // Changanya Aina ya uhuishaji 7 rgb = JUU;

AnzaShow (showType);

} }

Nyeupe = Nyeupe;

RedOld = Nyekundu; BlueOld = Bluu; GreenOld = Kijani; TopazOld = Topazi; LilacOld = Lilac; offOld = off; Upinde wa mvua Old = Upinde wa mvua; rgbOld = rgb;

}

Onyesha batili (int i) {

badilisha (i) {

kesi 0: colorWipe (strip. Color (0, 0, 0), SPEED); // Nyeusi / imezimwa

kuvunja;

kesi 1: strip.setBrightness (255); // Inabadilisha Mwangaza kuwa MAX

colorWipe (strip. Rangi (255, 255, 255), MARA MOJA); // Ukanda mweupe. Weka Nuru (MWangaza); // Rudisha Mwangaza kwa Default kuvunja thamani;

kesi 2: colorWipe (strip. Color (255, 0, 0), SPEED); // Nyekundu

kuvunja;

kesi 3: colorWipe (strip. Color (0, 255, 0), SPEED); // Kijani

kuvunja;

kesi 4: colorWipe (strip. Color (0, 0, 255), SPEED); // Bluu

kuvunja;

kesi 5: colorWipe (strip. Color (0, 250, 255), SPEED); // Topazi

kuvunja;

kesi ya 6: colorWipe (strip. Rangi (221, 130, 255), SPEED); // Lilac

kuvunja; kesi 7: colorWipe (strip. Color (255, 0, 0), SPEED); // Rangi nyekunduFuta (ukanda. Rangi (0, 255, 0), SPEED); // Rangi ya kijani Futa (ukanda. Rangi (0, 0, 255), SPEED); // Bluu ukumbi wa michezoChase (strip. Rangi (0, 0, 127), SPEED); // Bluu ukumbi wa michezoChase (strip. Rangi (127, 0, 0), SPEED); // Theatre NyekunduChase (strip. Rangi (0, 127, 0), SPEED); // Mapumziko ya kijani;

kesi ya 8: Upinde wa mvua (25);

kuvunja; }} batili colorWipe (uint32_t c, uint8_t subiri) {kwa (uint16_t i = 0; i

upinde wa mvua utupu (uint8_t subiri) {

uint16_t i, j;

kwa (j = 0; j <256 * 10; j ++) {// mizunguko 5 ya rangi zote kwenye gurudumu kwa (i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, Wheel (((i * 256 / strip.numPixels ()) + j) & 255)); } onyesha (); kuchelewesha (subiri); }}

ukumbi wa michezo batiliChase (uint32_t c, uint8_t subiri) {

kwa (int j = 0; j <10; j ++) {// fanya mizunguko 10 ya kutafuta (int q = 0; q <3; q ++) {kwa (int i = 0; i <strip.numPixels (); i = i + 3) {strip.setPixelColor (i + q, c); // kugeuza kila pikseli ya tatu kwenye} strip.show ();

kuchelewesha (subiri);

kwa (int i = 0; i <strip.numPixels (); i = i + 3) {strip.setPixelColor (i + q, 0); // zima kila pikseli ya tatu}}}}

uint32_t Gurudumu (byte WheelPos) {

WheelPos = 255 - Magurudumu ya Magurudumu; ikiwa (WheelPos <85) {kurudi strip. Rangi (255 - WheelPos * 3, 0, WheelPos * 3); } ikiwa (WheelPos <170) {WheelPos - = 85; kurudi strip. Rangi (0, WheelPos * 3, 255 - WheelPos * 3); } Magurudumu ya Magurudumu - = 170; kurudi strip. Rangi (WheelPos * 3, 255 - WheelPos * 3, 0); }

Hatua ya 6: Kudhibiti Taa

Kudhibiti Taa
Kudhibiti Taa
Kudhibiti Taa
Kudhibiti Taa
Kudhibiti Taa
Kudhibiti Taa

Rangi ya taa inaweza kudhibitiwa kwa kutumia smartphone yako.

Kwanza, unahitaji kusanikisha programu inayoitwa 'Bluetooth Terminal HC-05' kutoka Google Play Store au Apple App Store.

Hizi ni hatua za kudhibiti taa kupitia smartphone yako mwenyewe:

1. Washa Bluetooth katika smartphone yako.

2. Fungua programu ambayo ni 'Bluetooth Terminal HC-05'.

3. Unapaswa sasa kuona vifaa vilivyooanishwa kwenye skrini. Chagua 'HC-05'.

4. Sasa unaweza kuona skrini nyeusi inaonekana kwenye smartphone yako ambayo itaonyesha 'imeunganishwa na Arduino'.

5. Hapa kuna sehemu ya kufurahisha, ikiwa utaandika 'b' kwenye kisanduku cha maandishi, taa itageuka kuwa rangi ya hudhurungi. Hapa kuna orodha ya amri ambayo unaweza kuchapa taa:

- w nyeupe

- b kwa bluu

- g kwa kijani

- r kwa nyekundu

- t kwa topazi

- l kwa lilac

- kwa uhuishaji wa upinde wa mvua

- o kwa mbali

Raha sawa?

6. Mwisho kabisa, unaweza pia kubadilisha kitufe kilicho chini ya skrini kukufaa kwa maandishi yako unayotaka kama inavyoonyeshwa kwenye picha hapo juu.

Hatua ya 7: Furahiya Taa yako ya Mood !

Furahia Taa yako ya Mood !!
Furahia Taa yako ya Mood !!
Furahia Taa yako ya Mood !!
Furahia Taa yako ya Mood !!
Furahia Taa Yako ya Mood !!
Furahia Taa Yako ya Mood !!

Natumai unapenda Maagizo haya. Ulikuwa mradi mgumu sana kwangu lakini niliweza kuumaliza kabisa nikiwa kijana wa miaka 14. Unipe maoni kuhusu maboresho yajayo.

Asante kwa kusoma na Krismasi Njema!

Ilipendekeza: