Სარჩევი:
- ნაბიჯი 1: შეაგროვეთ მასალები
- ნაბიჯი 2: ლამპის სტრუქტურის აგება
- ნაბიჯი 3: 3D ფორმები
- ნაბიჯი 4: კომპონენტების სქემა
- ნაბიჯი 5: კოდი
- ნაბიჯი 6: ნათურის კონტროლი
- ნაბიჯი 7: ისიამოვნეთ თქვენი განწყობის ნათურით
ვიდეო: Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
მე ყოველთვის ვოცნებობ გავაკონტროლო ჩემი განათების ტექნიკა. შემდეგ ვიღაცამ გააკეთა წარმოუდგენელი ფერადი 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 პრინტერი, თქვენ სწორ ნაბიჯზე ხართ. ამან ეს ნათურა მოსახერხებელი გახადა.
სიმართლე გითხრათ, ეს იყო ყველაზე რთული ნაბიჯი, რაც მე გადავდგი. ეს არის პირველი რაც მე გავაკეთე პროგრამის დაყენებისთანავე!
მე ვიყენებ 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 წლის ბიჭმა. მომწერეთ გამოხმაურება მომავალი გაუმჯობესებისთვის.
მადლობა კითხვისთვის და გილოცავთ შობას!
გირჩევთ:
მინის ქვის LED მილაკი (WiFi კონტროლირებადი სმარტფონის აპლიკაციის საშუალებით): 6 ნაბიჯი (სურათებით)
შუშის ქვის LED მილაკი (WiFi კონტროლირებადი სმარტფონის აპლიკაციის საშუალებით): გამარჯობა მეგობრებო შემქმნელებო! ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ WiFi კონტროლირებადი LED მილი, რომელიც ივსება მინის ქვებით სასიამოვნო დიფუზიის ეფექტისთვის. LED- ები ინდივიდუალურად არის მიმართული და, შესაბამისად, შესაძლებელია რამდენიმე სასიამოვნო ეფექტი
მუმიის ნათურა - WiFi კონტროლირებადი ჭკვიანი ნათურა: 5 ნაბიჯი (სურათებით)
მუმიის ნათურა - WiFi კონტროლირებადი ჭკვიანი ნათურა: დაახლოებით 230 ათასი წლის წინ ადამიანმა ისწავლა ცეცხლის კონტროლი, რაც იწვევს მის ცხოვრებისეულ ცვლილებებს, რადგან მან ღამით დაიწყო მუშაობა ცეცხლის შუქის გამოყენებით. ჩვენ შეგვიძლია ვთქვათ, რომ ეს არის შიდა განათების დასაწყისი. ახლა მე
სმარტფონის კონტროლირებადი Bluetooth LED- ები (ცოცხალი მუსიკის სინქრონიზაციით): 7 ნაბიჯი
სმარტფონის კონტროლირებადი Bluetooth LED- ები (ცოცხალი მუსიკის სინქრონიზაციით): მე ყოველთვის მიყვარდა ნივთების მშენებლობა, მას შემდეგ რაც აღმოვაჩინე, რომ ჩემს ახალ კოლეჯის საერთო საცხოვრებელს საშინელი განათება ჰქონდა, გადავწყვიტე ცოტაოდენი სანელებელი გამეხადა. *** გაფრთხილება *** თუ შენ აშენებ ეს პროექტი იგივე მასშტაბით, როგორც ჩემი კონფიგურაცია, თქვენ იმუშავებთ ღირსეული ოდენობით
მარტივი 5 დოლარიანი ჭკვიანი ნათურა სმარტფონის ვებ ინტერფეისით: 4 ნაბიჯი
მარტივი 5 დოლარიანი ჭკვიანი ნათურა სმარტფონის ვებ ინტერფეისით: გამარჯობა! მე მქვია რაფაელი. ეს არის ჩემი პირველი ინსტრუქცია! ამ ლამპარის შექმნის ჩემი მთავარი მოტივი არის დახმარება მობილურობით შეზღუდული შესაძლებლობის მქონე ადამიანების ცხოვრებაში. ოდესმე, ჩვენ არ გვექნება გადამრთველები კედლებზე ან ძნელად მისაწვდომი შტეფსელები, არამედ ჩვენი სმარტფონები გასაკონტროლებლად
ალექსის მიერ ჩართული სიკვდილის ვარსკვლავის ნათურა: 17 ნაბიჯი (სურათებით)
ალექსის მიერ ჩართული სიკვდილის ვარსკვლავის ნათურა: მიიტანეთ ბნელი ნაწილის ფრაგმენტი თქვენს მისაღებ ოთახში ამ უნიკალური ხმით გააქტიურებული ნათურის საშუალებით. ხელოვნების ისეთი ფუნქციური ნაწარმოები, რომლის ნახვაც სასარგებლოა და სასიამოვნოც. ჩართვა თუ გამორთვა? ყველა ნათურა აკეთებს ამას! იცვლება სიკაშკაშე? Ძალიან საერთო! მაგრამ შეიძლება შენი