Სარჩევი:

Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი
Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი

ვიდეო: Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი

ვიდეო: Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი
ვიდეო: აღმოაჩინეთ, თუ როგორ ახდენს ჯენი ტაილერი რევოლუციას ჯანდაცვის ინდუსტრიაში! 2024, ივლისი
Anonim
Image
Image
Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა
Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა

მე ყოველთვის ვოცნებობ გავაკონტროლო ჩემი განათების ტექნიკა. შემდეგ ვიღაცამ გააკეთა წარმოუდგენელი ფერადი LED ნათურა. ახლახანს წავაწყდი ჯოზეფ კაშას LED ნათურას Youtube– ზე. მისმა შთაგონებამ, მე გადავწყვიტე რამდენიმე ფუნქციის დამატება თანამედროვე დიზაინის შენარჩუნებისას.

გეგმა ის არის, რომ ნათურა იყოს უფრო მოსახერხებელი, Bluetooth მოდულის და მისამართის WS2812B RGB LED ზოლის დამატებით. ამან შესაძლებელი გახადა განათების ფერის კონტროლი მხოლოდ სმარტფონის აპლიკაციის გამოყენებით.

ნაბიჯი 1: შეაგროვეთ მასალები

შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები

ინსტრუმენტები:

• შედუღების სადგური

• გამაცხელებელი გამანათებელი იარაღი

• საბურღი მანქანა

• წრიული ხერხი

• Jigsaw

• მავთულის საჭრელი ფანქარი

• ვიწრო ცხვირის პლიუსი

მასალები:

• გამჭვირვალე აკრილის დაფა

• იაპონური კვიპაროსის ხე (ან შეგიძლიათ გამოიყენოთ ნებისმიერი ხე, სანამ ის სტაბილური და საკმარისად ძლიერია)

• ხრახნები

• უჟანგავი ფოლადის ბოძი ან ჯოხი

• მავთულები (მე ვიყენებ წითელ და შავ მავთულს)

• Soldering Tin

ელექტრონიკის კომპონენტები:

• არდუინო ნანო

• Bluetooth მოდული HC-05 (მე გადავწყვიტე გამოვიყენო ეს, რადგან უფრო ადვილია კოდირება ვიდრე Wifi მოდული ESP8266)

• WS2812B მისამართებიანი RGB LED ზოლები

• LM2596 ნაბიჯ-ნაბიჯ მოდული

• DC Barrel Power Jack

ნაბიჯი 2: ლამპის სტრუქტურის აგება

ლამპის სტრუქტურის აგება
ლამპის სტრუქტურის აგება
ლამპის სტრუქტურის აგება
ლამპის სტრუქტურის აგება

ამ ეტაპზე, მე მაქვს ორი გზა ნათურის სტრუქტურის შესაქმნელად- ხის დამუშავების მეთოდი და 3D ბეჭდვის მეთოდი. მე ვიყენებ პირველ მეთოდს. თუ თქვენ გირჩევნიათ ამის გაკეთება 3D პრინტერის გამოყენებით, მოგერიდებათ გადადით მე –2 საფეხურზე იმ მოდელისთვის, რომელიც მე შევიმუშავე.

ნათურის ზედა ნაწილისთვის, მე ვათბობ და ვხრი აკრილის დაფას 90 ° -იანი კუთხით, როგორც ეს ნაჩვენებია ზემოთ. საკმაოდ დიდ დროს ვიღებ მის სრულყოფილ კუთხესა და მიმართულებაზე მოსახვევში.

შემდეგი, ნათურის ქვედა ნაწილისთვის. სამწუხაროდ … იმ დღეს, როდესაც ვმუშაობ ნათურის ქვედა ნაწილზე, მე სულ დამავიწყდა კონსტრუქციის სურათის გადაღება! მივხვდი, რომ როდესაც ეს პროექტი დავასრულე. მაგრამ მე ყველანაირად ვეცდები მოგაწოდოთ ნათურის ქვედა ნაწილის გაზომვა.

ძირითადად, თქვენ უბრალოდ უნდა გაჭრათ ოთხი ბლოკი, რომლის ზომაა 13x6x2 სმ (LxHxW). შემდეგი, თქვენ უნდა გაჭრა კიბის მსგავსი cut ზღვარზე ხე. სურათი ნაჩვენები იქნება ზემოთ.

ნაბიჯი 3: 3D ფორმები

3D ფორმები
3D ფორმები
3D ფორმები
3D ფორმები

ვისაც აქვს საკუთარი 3D პრინტერი, თქვენ სწორ ნაბიჯზე ხართ. ამან ეს ნათურა მოსახერხებელი გახადა.

სიმართლე გითხრათ, ეს იყო ყველაზე რთული ნაბიჯი, რაც მე გადავდგი. ეს არის პირველი რაც მე გავაკეთე პროგრამის დაყენებისთანავე!

მე ვიყენებ Sketchup Pro- ს ნათურის სტრუქტურის შესაქმნელად. სამწუხაროდ, მე არ ვარ საკმარისად კომპეტენტური მისი ინტერიერის კომპონენტის შესაქმნელად. ჩემი 3D მოდელის ბმული მოცემულია ქვემოთ მოცემულ ფაილში.

ნაბიჯი 4: კომპონენტების სქემა

კომპონენტების სქემა
კომპონენტების სქემა

მე ვიყენებ Fritzing კომპონენტების სქემატების ასაგებად. სქემატურად რეალურად საკმაოდ მარტივია.

ნაბიჯი 5: კოდი

Კოდი
Კოდი

ამ განწყობის ნათურის კოდირებისთვის მე გამოვიყენე რამდენიმე ბიბლიოთეკა Arduino IDE– დან. ბიბლიოთეკები ჩამოთვლილია მე –7 საფეხურზე.

კოდისთვის, თქვენ უნდა გქონდეთ თავად Arduino პროგრამა. გადმოსაწერად გადმოვცემ ბმულს აქ.

ასევე, ესკიზი ან კოდი ნაჩვენები იქნება ქვემოთ?

მე ასევე მივაწოდე ფაილი კოდისთვის Github.com– ში, თუ ქვემოთ მოყვანილი კოდი ძალიან გრძელია აქ დასაკოპირებლად;)

#ჩართეთ #ჩართეთ #ჩართეთ #ifdef _AVR_ #მოიცავს #endif

პროგრამული უზრუნველყოფა სერიული BT (10, 11);

#განსაზღვრეთ LED_PIN 7 #განსაზღვრეთ NUM_LEDS 60 #განსაზღვრეთ სიკაშკაშე 200 #განსაზღვრეთ სიჩქარე 10 #განსაზღვრეთ უშუალოდ 0 #განსაზღვრეთ RAINBOW_SPEED 50 CRGB led [NUM_LEDS];

Adafruit_NeoPixel ზოლები = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool offOld = LOW;

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

void setup () {

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

BT. დასაწყისი (9600);

BT.println ("დაკავშირებულია არდუინოსთან");

strip.setBrightness (BRIGHTNESS);

ზოლები. დაწყება ();

ზოლები. ჩვენება ();

}

char a;

ბათილი მარყუჟი () {

for (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } bool off = LOW; bool თეთრი = LOW; bool Blue = LOW; bool Red = LOW; bool Green = LOW; bool Topaz = LOW; bool Lilac = LOW; bool Rainbow = LOW; bool rgb = LOW; bool ende; if (BT.available ()) {a = (char) BT.read ();

თუ (a == 'o')

{off = მაღალი; BT.println ("LED- ების გამორთვა..");

} სხვა {

გამორთული = LOW; } // ============================================== ============================================

თუ (a == 'w')

{თეთრი = მაღალი; BT.println ("LED- ების თეთრად გადაქცევა");

} სხვა {

თეთრი = LOW; } // =============================================== ============================================

თუ (a == 'b')

{ლურჯი = მაღალი; BT.println ("ცვალებადი ლურჯად"); } else {ლურჯი = LOW; }

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

თუ (a == 'r')

{წითელი = მაღალი; BT.println ("შეცვლა წითელში"); } სხვა {წითელი = დაბალი; }

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

თუ (a == 'g')

{მწვანე = მაღალი; BT.println ("შეცვლა მწვანეში"); } else {მწვანე = LOW; }

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

თუ (a == 't')

{ტოპაზი = მაღალი; BT.println ("შეცვლა TOPAZ- ში"); } else {ტოპაზი = LOW; }

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

თუ (a == 'l')

{იასამნისფერი = მაღალი; BT.println ("CHILANING TO LILAC"); } else {იასამანი = LOW; }

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

თუ (a == 'a')

{ცისარტყელა = მაღალი; BT.println ("ცისარტყელას ანიმაცია"); } else {Rainbow = LOW; } // =============================================== ============================================

თუ (a == 'მ')

{rgb = მაღალი; BT.println ("MIX COLORS"); } else {rgb = LOW; }} if (off == LOW && offOld == HIGH) {დაგვიანებით (20); თუ (გამორთულია == დაბალი) {showType = 0; // ანიმაციის გამორთვა ტიპი 0 startShow (showType); }}

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

თუ (თეთრი == LOW && WhiteOld == მაღალი) {

დაგვიანება (20); თუ (თეთრი == დაბალი) {showType = 1; // თეთრი ანიმაცია ტიპი 1 startShow (showType); }}

// ================================================ ========================================== თუ (წითელი == დაბალი && RedOld == HIGH) {დაგვიანებით (20); თუ (წითელი == დაბალი) {showType = 2; // წითელი ანიმაცია ტიპი 2 startShow (showType); }}

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

თუ (მწვანე == LOW && GreenOld == მაღალი) {

დაგვიანება (20); თუ (მწვანე == დაბალი) {showType = 3; // მწვანე ანიმაცია ტიპი 3 startShow (showType); }} // ============================================= =============================================

თუ (ლურჯი == LOW && BlueOld == მაღალი) {

დაგვიანება (20); if (ლურჯი == დაბალი) {showType = 4; // ლურჯი ანიმაცია ტიპი 4 startShow (showType); }}

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

თუ (Topaz == LOW && TopazOld == HIGH) {

დაგვიანება (20); if (ტოპაზი == დაბალი) {showType = 5; // ტოპაზი ანიმაცია ტიპი 5 startShow (showType); }}

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

თუ (იასამნისფერი == LOW && LilacOld == მაღალი) {

დაგვიანება (20); თუ (იასამნისფერი == დაბალი) {showType = 6; // ტოპაზი ანიმაცია ტიპი 6 startShow (showType); }} // ============================================= =============================================

თუ (Rainbow == LOW && RainbowOld == HIGH) {

დაგვიანება (20);

თუ (ცისარტყელა == დაბალი) {

showType = 8; // Rainbow ანიმაცია ტიპი 8 startShow (showType); }}

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

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

დაგვიანება (20);

თუ (rgb == დაბალი) {

showType = 7; // შეურიეთ ანიმაციის ტიპი 7 rgb = HIGH;

startShow (showType);

} }

WhiteOld = თეთრი;

წითელი ძველი = წითელი; BlueOld = ცისფერი; GreenOld = მწვანე; TopazOld = ტოპაზი; LilacOld = იასამანი; offOld = გამორთული; RainbowOld = ცისარტყელა; rgbOld = rgb;

}

void startShow (int i) {

გადართვა (i) {

საქმე 0: colorWipe (ზოლები. ფერი (0, 0, 0), SPEED); // შავი/გამორთული

შესვენება;

საქმე 1: strip.setBrightness (255); // ცვლის სიკაშკაშეს MAX– მდე

colorWipe (ზოლები. ფერი (255, 255, 255), მყისიერად); // თეთრი ზოლები. SetBrightness (BRIGHTNESS); // აღადგინეთ Brightness ნაგულისხმევი მნიშვნელობის შესვენება;

საქმე 2: colorWipe (ზოლები. ფერი (255, 0, 0), SPEED); // წითელი

შესვენება;

საქმე 3: colorWipe (ზოლები. ფერი (0, 255, 0), SPEED); // მწვანე

შესვენება;

საქმე 4: colorWipe (ზოლები. ფერი (0, 0, 255), SPEED); // ცისფერი

შესვენება;

საქმე 5: colorWipe (ზოლები. ფერი (0, 250, 255), SPEED); // ტოპაზი

შესვენება;

საქმე 6: colorWipe (ზოლები. ფერი (221, 130, 255), SPEED); // იასამანი

შესვენება; საქმე 7: colorWipe (ზოლები. ფერი (255, 0, 0), SPEED); // წითელი ფერი Wipe (ზოლები. ფერი (0, 255, 0), SPEED); // მწვანე ფერი Wipe (ზოლები. ფერი (0, 0, 255), SPEED); // ლურჯი თეატრი Chase (ზოლები. ფერი (0, 0, 127), SPEED); // ლურჯი თეატრი Chase (ზოლები. ფერი (127, 0, 0), SPEED); // წითელი თეატრი Chase (ზოლები. ფერი (0, 127, 0), SPEED); // მწვანე შესვენება;

საქმე 8: rainbowCycle (25);

შესვენება; }} void colorWipe (uint32_t c, uint8_t ლოდინი) {for (uint16_t i = 0; i

void rainbowCycle (uint8_t ლოდინი) {

uint16_t i, j;

for (j = 0; j <256*10; j ++) {// ყველა ფერის 5 ციკლი ბორბალზე (i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, Wheel (((i * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); დაგვიანება (ლოდინი); }}

void theaterChase (uint32_t c, uint8_t ლოდინი) {

for (int j = 0; j <10; j ++) {// გააკეთეთ 10 ციკლი დევნისათვის (int q = 0; q <3; q ++) {for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, c); // ყოველი მესამე პიქსელის ჩართვა} strip.show ();

დაგვიანება (ლოდინი);

for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, 0); // გამორთეთ ყოველი მესამე პიქსელი}}}}

uint32_t ბორბალი (ბაიტი WheelPos) {

WheelPos = 255 - WheelPos; if (WheelPos <85) {დაბრუნების ზოლი. ფერი (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; დაბრუნების ზოლი. ფერი (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; დაბრუნების ზოლი. ფერი (WheelPos * 3, 255 - WheelPos * 3, 0); }

ნაბიჯი 6: ნათურის კონტროლი

ნათურის კონტროლი
ნათურის კონტროლი
ნათურის კონტროლი
ნათურის კონტროლი
ნათურის კონტროლი
ნათურის კონტროლი

ნათურის ფერის კონტროლი შესაძლებელია თქვენი სმარტფონის გამოყენებით.

პირველ რიგში, თქვენ უნდა დააინსტალიროთ პროგრამა სახელწოდებით 'Bluetooth Terminal HC-05' Google Play Store- დან ან Apple App Store- დან.

ეს არის ნაბიჯები, რომ გააკონტროლოთ ნათურა თქვენი სმარტფონის საშუალებით:

1. ჩართეთ Bluetooth თქვენს სმარტფონში.

2. გახსენით აპლიკაცია, რომელიც არის 'Bluetooth ტერმინალი HC-05'.

3. ახლა თქვენ უნდა ნახოთ დაწყვილებული მოწყობილობები ეკრანზე. აირჩიეთ "HC-05".

4. ახლა თქვენ ხედავთ, რომ თქვენს სმარტფონში ჩნდება შავი ეკრანი, რომელიც მიუთითებს 'დაკავშირებულია არდუინოსთან'.

5. აქ არის სახალისო ნაწილი, თუ ტექსტში აკრიფებთ 'b', ნათურა გახდება ლურჯი. აქ არის ბრძანების სია, რომელიც შეგიძლიათ აკრიფოთ ნათურისთვის:

- w თეთრისთვის

- ბ ლურჯისთვის

- გრ მწვანეზე

- r წითელი

- ტოპაზისთვის

- ლ იასამნისთვის

- ცისარტყელას ანიმაცია

-ო გამორთვისთვის

გართობა არა?

6. ბოლოს და ბოლოს, თქვენ ასევე შეგიძლიათ დააკონფიგურიროთ ღილაკი ეკრანის ქვემოთ თქვენთვის სასურველ ტექსტზე, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე.

ნაბიჯი 7: ისიამოვნეთ თქვენი განწყობის ნათურით

ისიამოვნეთ თქვენი განწყობის ნათურით !!
ისიამოვნეთ თქვენი განწყობის ნათურით !!
ისიამოვნეთ თქვენი განწყობის ნათურით !!
ისიამოვნეთ თქვენი განწყობის ნათურით !!
ისიამოვნეთ თქვენი განწყობის ნათურით !!
ისიამოვნეთ თქვენი განწყობის ნათურით !!

იმედი მაქვს მოგეწონებათ ეს ინსტრუქციები. ეს იყო ჩემთვის ძალიან რთული პროექტი, მაგრამ მე მოვახერხე მისი დასრულება, როგორც 14 წლის ბიჭმა. მომწერეთ გამოხმაურება მომავალი გაუმჯობესებისთვის.

მადლობა კითხვისთვის და გილოცავთ შობას!

გირჩევთ: