Სარჩევი:

Arduino Light Up სვიტრი: 9 ნაბიჯი
Arduino Light Up სვიტრი: 9 ნაბიჯი

ვიდეო: Arduino Light Up სვიტრი: 9 ნაბიჯი

ვიდეო: Arduino Light Up სვიტრი: 9 ნაბიჯი
ვიდეო: 8x8x8 LED CUBE WITH ARDUINO UNO 2024, ნოემბერი
Anonim
Image
Image

მახინჯი სვიტერის წვეულებები დღესასწაულების მთავარი ნაწილია. ყოველ წელს თქვენ უნდა განაახლოთ თქვენი თამაში და ატაროთ საუკეთესო სვიტერი. მაგრამ წელს შეგიძლია გააკეთო ერთი უკეთესი და გააკეთო საუკეთესო სვიტერი. ჩვენ ვიყენებთ Adafruit Wearables- ს, რომ შევქმნათ ლამაზი განათებული სვიტრი, რომელიც აუცილებლად მოახდენს შთაბეჭდილებას თქვენს მეგობრებსა და ოჯახზე.

ადაფრუტმა შექმნა დიდი პროექტები Wearables– ის გარშემო, ამიტომ ჩვენ ვიყენებთ მათ შეცვლილ კოდს ამ პროექტის განსახორციელებლად მათი Sparkle Skirt პროექტიდან.

ამ გაკვეთილში თქვენ:

  • ისწავლეთ ტარებადი საშუალებების გამოყენება
  • დააკოპირეთ თქვენი ფლორის მთავარი დაფა, ამაჩქარებელი და NeoPixels, რომ განათდეს Arduino– ს გამოყენებით

ნაბიჯი 1: დაწყება

Ვიწყებთ
Ვიწყებთ

ჩვენ ვაპირებთ გამოვიყენოთ Adafruit Flora Wearables, ბატარეის პაკეტი, გამტარი ძაფი და სადღესასწაულო სვიტერი. თქვენ ასევე დაგჭირდებათ რეგულარული ძაფი, ნემსები და ფრჩხილის ლაქი. დროთა განმავლობაში ყველაფერს აზრი ექნება. ჩვენი ვერსია აანთებს თოვლის ბაბუას, მაგრამ ჩვენ მხარს ვუჭერთ ყველა რელიგიას, დღესასწაულსა და რწმენას, ასე რომ იყავით შემოქმედებითი!

  • ადაფრუტის ფლორის მთავარი დაფა (https://www.adafruit.com/product/659)
  • ფლორის ამაჩქარებელი (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • ბატარეის პაკეტი (https://www.adafruit.com/product/727)
  • გამტარ თემა (https://www.adafruit.com/product/641)

ნაბიჯი 2: განლაგება

განლაგება
განლაგება

ჩვენ უნდა განვათავსოთ პიქსელები, მთავარი დაფა და ამაჩქარებელი, სანამ დავიწყებთ ნაკერების პროცესს. პიქსელებს ექნებათ მონაცემთა კავშირი, + სიმძლავრისთვის და - მიწისთვის. აქსელერომეტრს სჭირდება კავშირები 3V, SCL, SDA და ადგილზე.

სვიტერზე განალაგეთ პიქსელები, მთავარი დაფა და ამაჩქარებელი, როდესაც აპირებთ მის შეკერვას. დარწმუნდით, რომ თქვენ არ გადაკვეთთ ნაკერებს, რადგან ეს გამოიწვევს შორტებს. ვინაიდან ჩვენ გვაქვს დაფის სახე და NeoPixels სახეზე, ჩვენ ვიყენებთ 3V, Pin 9 და Ground ნეოპიქსელების დასაკავშირებლად.

NeoPixels– ს აქვს ისარი, რომელიც გვიჩვენებს, თუ როგორ უნდა გადავიდეს მონაცემთა კავშირი ფლორის მთავარი დაფიდან მომდევნო NeoPixel– ზე. დარწმუნდით, რომ ყველა NeoPixels არის გაფორმებული ერთნაირად.

ნაბიჯი 3: მინიშნებების შეკერვა

ნაკერების მნიშვნელოვანი ნაწილი არის სამი რამ; არ არის შორტები/ნაკერების გადაკვეთა, მჭიდრო კვანძები ნაკერების დამთავრებისას და კარგი კავშირები ტევადებთან.

შორტები/ნაკერების გადაკვეთა არ არის

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

მჭიდრო კვანძები

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

კარგი კავშირები

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

რჩევები/ხრიკები

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

ნაბიჯი 4: კომპონენტების შეკერვა

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

პირველი ნაჭერი, რომელიც ჩვენ უნდა დავამატოთ, არის ფლორის მთავარი დაფა. მიამაგრეთ დაფა თქვენს სვიტერზე ჩვეულებრივი ძაფის საშუალებით ორი ქინძისთავის საშუალებით, რომლის გამოყენებას არ აპირებთ. ეს გააჩერებს დაფას და გაუადვილებს შეკრებას გამტარი ძაფის გამოყენებით. რამდენიმე მარტივი მარყუჟი საკმარისია იმისათვის, რომ არ გადაადგილდეს.

შემდეგი, თქვენ უნდა დააკავშიროთ ოთხი კავშირი ფლორის მთავარი დაფიდან და აქსელერომეტრიდან. ეს იქნება Power, Ground, SCL და SDA. თუ აქსელერომეტრს მოათავსებთ მთავარი დაფის ზედა მარცხენა მხარეს, კავშირები პირდაპირ დადგება. ასე რომ თქვენ გექნებათ ოთხი ცალკეული ნაკერი ორი დაფის დასაკავშირებლად. გამოიყენეთ ოდნავ გამჭვირვალე ფრჩხილის ლაქი ორივე ბოლო კვანძზე, რომ არ გაიშალოს. დაფებზე პატარა ლაქი არ დააზარალებს მათ.

დაბოლოს, თქვენ უნდა დააკავშიროთ 3V, სახმელეთო და მონაცემთა კავშირები ფლორის მთავარი დაფიდან NeoPixels– თან. თქვენ შეგიძლიათ გააკეთოთ ორი გრძელი, უწყვეტი ნაკერი მიწისა და სიმძლავრისთვის, რადგან ისინი მდებარეობს NeoPixels– ის ქვედა და ზედა ნაწილში. პინ 9 -ის მონაცემთა კავშირებისთვის თქვენ უნდა გააკეთოთ ცალკეული ნაკერი თითოეული NeoPixel– დან მეორეზე.

ნაბიჯი 5: Arduino IDE

ფლორის მთავარი დაფა Arduino- თან თავსებადია, ამიტომ ჩვენ ვიყენებთ Arduino IDE- ს ჩვენი კოდისთვის. ამ ბმულის საშუალებით შეგიძლიათ ჩამოტვირთოთ უახლესი ვერსია.

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

არსებობს ოთხი ბიბლიოთეკა, რომლებიც უნდა დაემატოს ჩვენი NeoPixels და Accelerometer- ის გამოსაყენებლად. გადადით ჩანახატზე, ჩართეთ ბიბლიოთეკა, მართეთ ბიბლიოთეკები. თითოეულისთვის თქვენ უნდა მოძებნოთ სახელი, აირჩიოთ უახლესი ვერსია და დააწკაპუნეთ ინსტალაციაზე.

  • ადაფრუტი ნეოპიქსელი
  • ადაფრუტის ერთიანი სენსორი
  • ადაფრუტი TSL2561
  • ადაფრუტი LSM303DLHC

მას შემდეგ რაც დაინსტალირდება და ნაკერი დასრულდება ჩვენ მზად ვართ გამოვცადოთ ჩვენი სვიტერი დავრწმუნდეთ რომ ყველაფერი მუშაობს.

ნაბიჯი 6: სცადეთ სკრიპტები

ტესტის სკრიპტები
ტესტის სკრიპტები

ჩვენი პროექტის შესამოწმებლად ჩვენ უნდა დავუკავშიროთ ჩვენი Adafruit მთავარი დაფა თქვენს კომპიუტერს USB კაბელის გამოყენებით. შემდეგ გადადით Tools, Port და აირჩიეთ სიაში თქვენი Flora Main დაფა.

პირველი რაც ჩვენ შევამოწმებთ არის თუ არა ამაჩქარებელი სწორად მუშაობს. გადადით ფაილზე, მაგალითებზე, Adafruit LSM303DLHC, accelsensor. ეს გახსნის სკრიპტს, რომელიც ამოწმებს, არის თუ არა სენსორი დაკავშირებული და კითხულობს კოორდინატთა მნიშვნელობებს. ატვირთეთ თქვენს დაფაზე და გახსენით სერიული მონიტორი Arduino IDE- ის ზედა მარჯვენა კუთხეში. თუ ხედავთ, რომ მნიშვნელობები იცვლება სერიულ მონიტორში, როგორც ფოტოში, ამაჩქარებლის გადაადგილებისას, ის მუშაობს!

მეორე რაც ჩვენ გამოვცდით არის თუ არა NeoPixels მუშაობს. გადადით ფაილზე, მაგალითებზე, Adafruit NeoPixels, strandtest. სანამ ამ სკრიპტს გავაშვებთ, შეცვალეთ Pin 9 -ით და პიქსელების რაოდენობა 6 -ით (ან რასაც თქვენ იყენებთ თქვენი პროექტისათვის). ატვირთეთ თქვენს დაფაზე და თუ ყველა პიქსელი ანათებს, მზად ხართ საბოლოო სკრიპტისთვის!

ნაბიჯი 7: საბოლოო სკრიპტი

საბოლოო სკრიპტი
საბოლოო სკრიპტი

ახლა დროა ჩატვირთოთ ჩვენი საბოლოო კოდი. დააკოპირეთ ქვემოთ მოცემული კოდი ახალ პროექტის ფაილში. Pin არის მითითებული 9 -ზე და NeoPixels- ის რაოდენობა არის 6 -ზე. თუ თქვენ იყენებთ რაიმე განსხვავებულს, შეცვალეთ ისინი ამ სკრიპტის გაშვებამდე. თქვენ შეგიძლიათ შეცვალოთ თქვენი საყვარელი ფერები R, G და B მნიშვნელობების 0-255-დან მორგებით. თქვენ ასევე შეგიძლიათ დაამატოთ უფრო საყვარელი ფერები ახალი ხაზის დამატებით. გადაადგილების ბარიერიც შეიძლება მორგებული იყოს. რაც უფრო დაბალია რიცხვი, მით უფრო ადვილია მოძრაობის გამოვლენა და ნეოპიქსელების ჩართვა. მას შემდეგ რაც განახორციელებთ ნებისმიერ ცვლილებას, შეინახეთ და ატვირთეთ თქვენს ფლორის მთავარ დაფაზე. თქვენ უნდა გქონდეთ შესაძლებლობა ნახოთ პიქსელების განათება, თუ თქვენ მოძრაობთ ამაჩქარებელს გარშემო. მას შემდეგ რაც დაინახავთ, რომ შეგიძლიათ გათიშოთ კომპიუტერიდან და ჩვენ შეგვიძლია დავუკავშირდეთ ჩვენს ბატარეას.

#ჩართეთ #ჩართეთ #ჩართეთ #ჩართეთ #განსაზღვრეთ PIN 9 #განსაზღვრეთ PIXELCOUNT 6 // პარამეტრი 1 = პიქსელების რაოდენობა ზოლში // პარამეტრი 2 = პინის ნომერი (უმეტესობა კარგია მაგრამ ჩვენ ვიყენებთ 9) // პარამეტრი 3 = პიქსელის ტიპი დროშები, დაამატეთ საჭიროებისამებრ: // NEO_RGB პიქსელები მიერთებულია RGB ბიტრემისთვის (v1 FLORA პიქსელი, არა v2) // NEO_GRB პიქსელები გაყვანილია GRB ბიტრემისთვის (უმეტესობა NeoPixel პროდუქტები. პროდუქტი, რომელსაც ჩვენ ვიყენებთ) // NEO_KHZ400 400 KHz (კლასიკური 'v1' (არა v2) FLORA პიქსელი, WS2811 დრაივერები // NEO_KHZ800 800 KHz ბიტ სტრიმი (უმეტესობა NeoPixel პროდუქტებით WS2812 LED- ებით. პროდუქტი, რომელსაც ჩვენ ვიყენებთ) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + N00) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // მორგეთ R, G, B 0-255-დან და // დაამატეთ ახალი {nnn, nnn, nnn}, მეტი ფერისთვის // RGB uint8_t myFavoriteColors {] [3] 255, 255, 255}, // თეთრი {255, 0, 0}, // წითელი {0, 255, 0}, // მწვანე}; // არ შეცვალოთ ქვემოთ მოყვანილი ხაზი #განსაზღვრეთ FAVCOLORS ზომის (myFavoriteColors) ზომა /3 // ეს რიცხვი არეგულირებს მოძრაობის მგრძნობელობას // ქვედა რიცხვი = უფრო მგრძნობიარე #განსაზღვრეთ MOVE_THRESHOLD 5 // სუპერმგრძნობიარე გაკეთებული არარსებული კონფიგურაცია () {Serial.begin (9600); // სცადეთ ინიციალიზაცია და გაფრთხილება, თუ ჩიპი ვერ აღმოვაჩინეთ // გამოიყენეთ სერიული მონიტორი ამობეჭდვის სანახავად, თუ (! Accel.begin ()) {Serial.println ("ჩვენ პრობლემა გვაქვს. ეს შენ ხარ და არა მე … ვერ ვიწყებ LSM303- ს. დავიწყებ გაყვანილობის სწრაფი შემოწმებით "); ხოლო (1); } strip.begin (); ზოლები. ჩვენება (); // პიქსელების დაყენება "გამორთვაზე"} void loop () {/ * მიიღეთ ახალი სენსორული მოვლენა */ sensors_event_t ღონისძიება; accel.getEvent (& ღონისძიება); // Serial.print ("Accel X:"); Serial.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Serial.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // მიიღეთ 3 ღერძიანი ვექტორის სიდიდე (სიგრძე) ორმაგი შენახული ვექტორი = event.acceleration.x*event.acceleration.x; შენახული ვექტორი += event.acceleration.y*event.acceleration.y; შენახული ვექტორი += event.acceleration.z*event.acceleration.z; შენახული ვექტორი = sqrt (შენახული ვექტორი); // Serial.print ("ლენ:"); Serial.println (შენახული ვექტორი); // დაელოდე ცოტა დაგვიანებით (250); // მიიღეთ ახალი მონაცემები! accel.getEvent (& ღონისძიება); ორმაგი newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*event.acceleration.y; newVector += event.acceleration.z*event.acceleration.z; newVector = sqrt (newVector); // Serial.print ("ახალი ლენ:"); Serial.println (newVector); // ჯერ არ ვმოძრაობთ? if (აბს (ახალი ვექტორი - შენახული ვექტორი)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // პირველი ნომერი არის 'ლოდინის' შეფერხება, მოკლე რიცხვი == მოკლე მოციმციმე flashRandom (10, 4); // მეორე რიცხვი არის რამდენი ნეოპიქსელი ერთდროულად აანთოს flashRandom (10, 6); }} void flashRandom (int ლოდინი, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// შემთხვევით შერჩეული საყვარელი ფერებიდან int c = შემთხვევითი (ფავორიტები); int თეთრი = myFavoriteColors [c] [0]; int წითელი = myFavoriteColors [c] [1]; int მწვანე = myFavoriteColors [c] [2]; // პიქსელების ჩართვა იმისათვის (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Serial.println (i); // ახლა ჩვენ 'გავქრავთ' 3 ნაბიჯში (int x = 0; x = 0; x--) {int w = თეთრი * x; w /= 3; int r = წითელი * x; r /= 3; int g = მწვანე * x; g /= 3; strip.setPixelColor (i, strip. ფერი (w, r, g)); ზოლები. ჩვენება (); დაგვიანება (ლოდინი); }} // LED- ები გამორთული იქნება დასრულებისთანავე (ისინი 0 -მდე გაქრა)}

ნაბიჯი 8: ბატარეის პაკეტი

ბატარეის პაკეტი
ბატარეის პაკეტი

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

შეაერთეთ ბატარეის პაკეტი მთავარ დაფაზე, ჩართეთ მთავარი გამგეობის პატარა გადამრთველი გამორთვიდან ჩართეთ და ჩართეთ ბატარეის პაკეტი. შენი სვიტერი ახლა უნდა მუშაობდეს და მზად იყოს ჩასაცმელად.

ნაბიჯი 9: დასკვნა

დასკვნა
დასკვნა

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

გირჩევთ: