Სარჩევი:

ინტერაქტიული Dandelion: 11 ნაბიჯი (სურათებით)
ინტერაქტიული Dandelion: 11 ნაბიჯი (სურათებით)

ვიდეო: ინტერაქტიული Dandelion: 11 ნაბიჯი (სურათებით)

ვიდეო: ინტერაქტიული Dandelion: 11 ნაბიჯი (სურათებით)
ვიდეო: Leap Motion SDK 2024, ივლისი
Anonim
Image
Image
მოამზადეთ NeoPixel ბეჭედი
მოამზადეთ NeoPixel ბეჭედი

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

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

ვიდეო Qi Jie- ის მსუბუქი ფერწერის ვიდეო

ჯესი ტომპსონისა და ზაქორი ბერტას ერთ ყვავილების დიზაინის ვიდეო

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

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

კოდი სინათლის მხატვრობისთვის Qi Jie

კოდი პატარა ყვავილის სურათისთვის ჯესი ტომპსონისა და ზაქორი ბერტას მიერ

მასალები

  • Arduino UNO
  • ადაფრუტის ბეჭედი 12 ნეოპიქსელით
  • 5V ზოლები 11 RGB LED- ებით
  • მიკროფონის ხმის სენსორი
  • Jumper Wires
  • 5V დატენვის ბატარეა USB A კავშირით
  • პრინტერის კაბელი (USB A to B კაბელი)
  • წებო წერტილები ან ცხელი წებო
  • A4 ბარათი
  • 30 სმ x 30 სმ კრემის ბამბის ქსოვილი, როგორიცაა ძველი ბალიშის საფარი
  • ქსოვილის მწვანე საღებავი
  • ყავისფერი ბამბის ძაფი
  • 70 სმ x 50 სმ გოფრირებული მუყაო, როგორიცაა პიცის ყუთები
  • ნიღაბი ფირზე
  • 9 ინჩიანი ნაქარგების ჰოოპ სურათის ჩარჩოს შესაქმნელად
  • 9 თვითწებვადი Velcro ჩანართები

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

  • გადმოწერილია კომპიუტერი Arduino IDE– ით
  • Soldering რკინის და ტყვიის თავისუფალი Solder
  • პურის დაფა ტესტირების სქემისთვის
  • მავთულის გამხსნელი/საჭრელი
  • Საკერავი ნემსი
  • კალამი
  • Მაკრატელი

ნაბიჯი 1: მოამზადეთ NeoPixel ბეჭედი

შეაერთეთ სხვადასხვა ფერის მავთულები თითოეულ NeoPixel ბეჭდის უკანა მხარეს არსებული დენის, დასაბმელის და მონაცემთა ბალიშებზე.

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

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

ნაბიჯი 2: გათიშეთ LED- ების ზოლები

გათიშეთ LED- ების ზოლები
გათიშეთ LED- ების ზოლები
გათიშეთ LED- ების ზოლები
გათიშეთ LED- ების ზოლები

RGB LED- ების ზოლიდან ამოჭერით 11 ინდივიდუალური ები, იზრუნეთ ცენტრალური ხაზის გასწვრივ, რათა დატოვოთ შედუღების ბალიშები ჭრის ორივე მხარეს. თითოეული ბალიშის ზედა ნაწილში დააწებეთ ჩასასმელი ნაწილაკი.

ნაბიჯი 3: შეაერთეთ LED- ები

შეაერთეთ LED- ები
შეაერთეთ LED- ები
შეაერთეთ LED- ები
შეაერთეთ LED- ები
შეაერთეთ LED- ები
შეაერთეთ LED- ები

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

შეაერთეთ გამომავალი მავთულები რგოლიდან პირველ ინდივიდუალურ LED- ზე, დადებით, დასაბუთებულ და მონაცემთა მავთულხლართებს ერთი და იგივე ბალიშებით ორივე LED- ზე.

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

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

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

ნაბიჯი 4: ზურგის მომზადება

ზურგის მომზადება
ზურგის მომზადება
ზურგის მომზადება
ზურგის მომზადება

გააკეთეთ კიდევ ერთი ხვრელი თეთრ ბარათში შეყვანის მავთულხლართებისთვის და გაიყვანეთ ისინი.

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

ნაბიჯი 5: მიკროფონის და არდუინოს გაყვანილობა

მიკროფონის და არდუინოს გაყვანილობა
მიკროფონის და არდუინოს გაყვანილობა
მიკროფონის და არდუინოს გაყვანილობა
მიკროფონის და არდუინოს გაყვანილობა

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

სიმულაციის სანახავად გადადით https://www.tinkercad.com/things/5cgI2wluA0c. გადაათრიეთ სენსორზე მიმაგრებული წრე აქტიურ ზონაზე, რათა მოხდეს მიკროფონში აფეთქების სიმულაცია. LED- ები არის ზოლებზე 6 -ზე, ასე რომ სიმულაციის ბოლო LED არ არის დიზაინის ნაწილი და არ ანათებს.

ნაბიჯი 6: არდუინოს დაპროგრამება

არდუინოს დაპროგრამება
არდუინოს დაპროგრამება

გახსენით Arduino IDE თქვენს კომპიუტერში და დაიწყეთ ახალი ესკიზი წაშალეთ ყველაფერი ესკიზის შიგნით და ამის ნაცვლად დააკოპირეთ და ჩასვით ეს კოდი

// ადაპტირებული NeoPixel Ring მარტივი ესკიზის გამოყენებით (გ) 2013 Shae Erisson // და სენსორის კოდი https://www.hackster.io/ingo-lohs/first-test-37-s… #include // რომელი პინზე Arduino უკავშირდება NeoPixels- ს? #განსაზღვრეთ PIN 6 // რამდენი NeoPixel ერთვის Arduino- ს? #განსაზღვრეთ NUMPIXELS 23 // როდესაც ჩვენ ვაყენებთ NeoPixel ბიბლიოთეკას, ჩვენ გვეუბნებიან რამდენი პიქსელი და რომელი პინი გამოიყენოს სიგნალების გასაგზავნად. // გაითვალისწინეთ, რომ ძველი NeoPixel ზოლებისთვის შეიძლება დაგჭირდეთ მესამე პარამეტრის შეცვლა-იხილეთ strandtest // მაგალითი შესაძლო მნიშვნელობების შესახებ დამატებითი ინფორმაციისათვის. Adafruit_NeoPixel პიქსელი = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int დაგვიანებით = 500; // შეფერხება ნახევარი წამი int სენსორით = A0; // აირჩიეთ სენსორის შეყვანის პინი int sensorValue = 0; // ცვლადი, რომ შეინახოს მნიშვნელობა, რომელიც მოდის სენსორის კონსტ int ბარიერიდან = 200; // თვითნებური ბარიერის დონე, რომელიც არის ანალოგური შეყვანის void setup დიაპაზონში () {pixels.begin (); // ეს ინიციალებს NeoPixel ბიბლიოთეკას. pixels.setBrightness (20); // დააყენეთ სიკაშკაშე Serial.begin (9600); } void loop () {// NeoPixels– ის ნაკრებისთვის პირველი NeoPixel არის 0, მეორე არის 1, ყველა პიქსელის რაოდენობამდე მინუს ერთი. // Dandelion LEDs // pixels. ფერი იღებს RGB მნიშვნელობებს, 0, 0, 0 -დან 255, 255, 255 პიქსელამდე. SetPixelColor (0, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (2, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (3, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (4, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (5, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (6, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (7, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (8, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (9, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (10, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (11, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანებით (დაგვიანება*6); // ყვავილის თანდათანობითი ცვლილება თესლის თავში // პიქსელებში. ფერი იღებს RGB მნიშვნელობებს, 0, 0, 0 -დან 255, 255, 255 პიქსელამდე. setPixelColor (0, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (2, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (3, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (4, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (5, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი პიქსელი. setPixelColor (6, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (7, პიქსელი. ფერი (226, 246, 255)); // bluishwhite pixels.setPixelColor (8, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (9, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი პიქსელი. setPixelColor (10, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (11, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო -თეთრი pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (დაგვიანება*6); // Seed head LEDs pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთული pixels.setPixelColor (2, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (3, პიქსელი. ფერი (0, 0, 0)); // გამორთული pixels.setPixelColor (4, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (5, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (6, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (7, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (8, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (9, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (10, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (11, პიქსელი. ფერი (226, 246, 255)); // გამორთული pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (დაგვიანება*3); // გარკვეული პერიოდის განმავლობაში გადადება (მილიწამებში). pixels.setPixelColor (0, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთული pixels.setPixelColor (2, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (3, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (4, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (5, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (6, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (7, პიქსელი. ფერი (255, 165, 0)); // ნარინჯისფერი. pixels.setPixelColor (8, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (9, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (10, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (11, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (დაგვიანება*3); // გარკვეული პერიოდის განმავლობაში გადადება (მილიწამებში). pixels.setPixelColor (0, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (1, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (2, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (3, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (4, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (5, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (6, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (7, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (8, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (9, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (10, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (11, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (დაგვიანება); // გარკვეული პერიოდის განმავლობაში გადადება (მილიწამებში). // წაიკითხეთ სენსორის მნიშვნელობა და აჩვენეთ სერიული მონიტორის sensorValue = analogRead (sensorPin); Serial.println (sensorValue); დაგვიანება (250); // მიუხედავად იმისა, რომ სენსორის მნიშვნელობა ბარიერზე ნაკლებია, შეამოწმეთ სენსორის მნიშვნელობა და დაბეჭდეთ იგი სერიულ მონიტორზე. როდესაც მნიშვნელობა აღემატება ზღურბლს, ესკიზი შეიძლება გაგრძელდეს სანამ (sensorValue <threshold) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); დაგვიანება (250); } // პირველი ქარის LED- ები pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // გამორთულია. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (2, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (3, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (4, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (5, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (6, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (7, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (8, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (9, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (10, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (11, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (12, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (13, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (14, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (15, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (16, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (17, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (18, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (19, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (20, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (21, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (22, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (დაგვიანება); // გარკვეული პერიოდის განმავლობაში გადადება (მილიწამებში). // მეორე ქარის LED- ები pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // გამორთულია. pixels.setPixelColor (1, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (2, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (3, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (4, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (5, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (6, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (7, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (8, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (9, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (10, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (11, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (12, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (13, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (14, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (15, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (16, პიქსელი. ფერი (0, 0, 0)); // გამორთულია. pixels.setPixelColor (17, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (18, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (19, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (20, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (21, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი. pixels.setPixelColor (22, პიქსელი. ფერი (226, 246, 255)); // მოლურჯო თეთრი.pixels.show (); // ეს აგზავნის განახლებული პიქსელის ფერს აპარატურაზე. დაგვიანება (2000); // გარკვეული პერიოდის განმავლობაში გადადება (მილიწამებში). }

მიამაგრეთ თქვენი Arduino კომპიუტერზე USB პრინტერის კაბელით

გადადით ინსტრუმენტები> დაფა და შეარჩიეთ Arduino/Genuino UNO დაფა

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

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

ნაბიჯი 7: ფერების შეცვლა, სიკაშკაშე და სენსორული ბარიერი

ფერების შეცვლა, სიკაშკაშე და სენსორული ბარიერი
ფერების შეცვლა, სიკაშკაშე და სენსორული ბარიერი
ფერების შეცვლა, სიკაშკაშე და სენსორული ბარიერი
ფერების შეცვლა, სიკაშკაშე და სენსორული ბარიერი

Ფერები

LED- ების ფერები დადგენილია RGB (წითელი მწვანე ლურჯი) ფერის მნიშვნელობების გამოყენებით. თუ თქვენ გირჩევნიათ გამოიყენოთ განსხვავებული ფერები, ვიდრე მე გამოვიყენე, შეგიძლიათ იპოვოთ თქვენთვის სასურველი ფერების ღირებულებები ონლაინ RGB ფერის კალკულატორის გამოყენებით, როგორიცაა www.w3schools.com/colors/colors_rgb.asp

LED- ის გამორთვისთვის გამოიყენეთ მნიშვნელობები 0, 0, 0.

LED- ის თეთრად დასაყენებლად გამოიყენეთ მნიშვნელობები 255, 255, 255. კოდი წინა საფეხურზე იყენებს მოლურჯო თეთრს 226, 246, 255 მნიშვნელობებით და ფორთოხალს 255, 165, 0 მნიშვნელობებით.

სიკაშკაშე

LED- ების სიკაშკაშის შესაცვლელად, გადადით კოდის void setup განყოფილებაში და იპოვეთ კოდის შემდეგი ხაზი:

pixels.setBrightness (20); // დააყენეთ სიკაშკაშე

შეცვალეთ რიცხვი ფრჩხილებში, რომ შეცვალოთ LED- ების სიკაშკაშე.

სენსორის ბარიერი

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

const int ბარიერი = 200;

ნაბიჯი 8: გახადეთ წრე უფრო მუდმივი

ჩართვა უფრო მუდმივი
ჩართვა უფრო მუდმივი

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

ნაბიჯი 9: შექმენით სურათი

შექმენით სურათი
შექმენით სურათი

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

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

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

ნაბიჯი 10: ერთად აწყობა

ერთად აყენებს მას
ერთად აყენებს მას

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

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

ნაბიჯი 11: სწავლა შეცდომებიდან

სწავლა შეცდომებიდან
სწავლა შეცდომებიდან
სწავლა შეცდომებიდან
სწავლა შეცდომებიდან
სწავლა შეცდომებიდან
სწავლა შეცდომებიდან

ჩემი პირველი მცდელობა იყო წრიული სტიკერებით და სპილენძის ლენტით. წრიული სტიკერები არის LED- ების პატარა ზედაპირი, რომლებიც დამონტაჟებულია სტიკერებზე სპილენძის ბალიშებით. ისინი მოდიან Qi Jie– ს კომპანია Chibitroniks– დან და ვფიქრობდი, რომ ისინი სრულყოფილები იქნებოდნენ.

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

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

ასე რომ, რამდენიმე ყალბი დაწყების შემდეგ, მე დავამთავრე პროგრამირებადი LED- ების სიმებიანი, რომლებიც იაფი და მარტივი გამოსაყენებელია.

გირჩევთ: