Სარჩევი:

საშინელი გოგრა Candy მანქანა ჰელოუინისთვის: 5 ნაბიჯი
საშინელი გოგრა Candy მანქანა ჰელოუინისთვის: 5 ნაბიჯი

ვიდეო: საშინელი გოგრა Candy მანქანა ჰელოუინისთვის: 5 ნაბიჯი

ვიდეო: საშინელი გოგრა Candy მანქანა ჰელოუინისთვის: 5 ნაბიჯი
ვიდეო: ლუკა და მარიამი 2024, ნოემბერი
Anonim
Image
Image

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

ნაბიჯი 1: ნივთები, რომლებიც გამოიყენება ამ პროექტში

ამ პროექტში გამოყენებული ნივთები
ამ პროექტში გამოყენებული ნივთები
ამ პროექტში გამოყენებული ნივთები
ამ პროექტში გამოყენებული ნივთები

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

  • Arduino UNO / Seeeduino V4.2
  • ბაზის ფარი V2
  • გროვი - PIR მოძრაობის სენსორი
  • გროვი - MP3 v2.0
  • Grove - WS2813 RGB LED Strip წყალგაუმტარი - 60 LED/m - 1 მ
  • EMax 12g ES08MD მაღალი მგრძნობიარე სერვო

პროგრამული უზრუნველყოფის პროგრამები და ონლაინ სერვისები

Arduino IDE

ნაბიჯი 2: ისტორია

ამბავი
ამბავი
ამბავი
ამბავი
ამბავი
ამბავი

ჰელოუინი მოდის, გოგრის ფარნები აუცილებელია. ჩვენ ვიყენებთ Seeeduino– ს და PIR Motion Senser– მა ააგო გოგრის ფარანი, როდესაც ვინმე მოვა მასთან, ის დაუკრავს მუსიკას და დააფურთხებს კანფეტებს.

მექანიკური სტრუქტურა

** ნაბიჯი 1: ** იყიდეთ რამდენიმე ტკბილეული და გოგრა, გათხარეთ გოგრის უკან ისე, რომ ჩვენ შევძლოთ მასში Seeeduino.

** ნაბიჯი 2: ** დაჭერით ასეთი ყუთი და დააფიქსირეთ იგი გოგრის პირზე.

** ნაბიჯი 3: ** დაამონტაჟეთ ხელი სერვო ძრავაზე. გოგრის შიგნით სერვო ძრავის დასაფიქსირებლად, ჩვენ ვიყენებთ ქილას, როგორც დამჭერს.

** ნაბიჯი 4: ** დარწმუნდით, რომ როდესაც სერვო ძრავა აიწევს, ყუთში კანფეტები ამოიფურთხება გოგრის პირიდან.

ნაბიჯი 3: აპარატურის კავშირი

** ნაბიჯი 1: ** შექმენით საქაღალდე სახელად MP3 SD ბარათის ნაწილში, დააკოპირეთ mp3 ფაილი მასში, დაასახელეთ 0001.mp3. შეაერთეთ სპიკერი MP3 Grove– ს 3.5 მმ პორტის საშუალებით და დააკავშირეთ MP3 Grove პორტ D2– ზე Base Shield– ზე.

** ნაბიჯი 2: ** შეაერთეთ PIR Motion Sensor Grove Base Shield– ის D4 პორტში და დაუკავშირეთ NeoPixel ზოლები Base Shield– ის D5 პორტს.

** ნაბიჯი 3: ** შეაერთეთ Servo Grove Base Shield– ის ციფრული პინ 9 – ით, ასე რომ შეიძლება დაგვჭირდეს DuPont ხაზების გამოყენება.

** ნაბიჯი 4: ** შეაერთეთ ბაზის ფარი Seeeduino– სთან.

** ნაბიჯი 5: ** პროგრამის გადმოსატვირთად Seeeduino– ში, ჩვენ ვიყენებთ USB კაბელს კომპიუტერთან დასაკავშირებლად. გადმოტვირთვის შემდეგ, ჩვენ შეგვიძლია გამოვიყენოთ მხოლოდ დენის კაბელი გოგრაში.

ნაბიჯი 4: პროგრამული უზრუნველყოფის პროგრამირება

** ნაბიჯი 1: ** ბიბლიოთეკების დაყენება

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

გარდა ამისა, ამ პროექტს სჭირდება შემდეგი ბიბლიოთეკები, გადმოწერეთ და დააინსტალირეთ:

  • გროვი - MP3 v2.0
  • ადაფრუტი ნეოპიქსელი
  • ადაფრუტი TicoServo

ან შეგიძლიათ უბრალოდ შეიტანოთ MP3.h პროექტის საქაღალდეში MP3 Grove გამოსაყენებლად.

** ნაბიჯი 2: ** შექმენით და ატვირთეთ პროგრამა

*შენიშვნა: მარკო MAX_BRIGHTNESS აკონტროლებს NeoPixel- ის მაქსიმალურ სიკაშკაშეს, ამცირებს მის სიკაშკაშეს ენერგიის მოხმარების შესამცირებლად.*

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

Setup () მეთოდით, ჩვენ ნორმალურად დავიწყეთ სერიალი, MP3 Grove და Servo Motor და შევქმენით ცვლადი, რომელსაც ჩვენ ვეძახით semaphore.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

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

s1 = xTaskCreate (vFadingLEDsTask, NULL, configMINIMAL_STACK_SIZE, NULL, 1, NULL);

s2 = xTaskCreate (vScaningPIRTask, NULL, configMINIMAL_STACK_SIZE, NULL, 1, NULL); s3 = xTaskCreate (vHandlePIRTask, NULL, configMINIMAL_STACK_SIZE, NULL, 2, NULL);

სემფორის შემოწმების და ამოცანების სწორად ინიციალიზაციის შემდეგ, vTaskSetartScheduler () მეთოდი იწყებს მთელ FreeRTOS– ს.

თუ (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{for (;;); } vTaskStartScheduler ();

Loop () მეთოდი nerver გამოიყენება FreeRTOS– ში. ახლა დანარჩენი მარტივია, vFadingLEDsTask ამოცანა ქრება ცვლადი ფერი LED და vScanPIRTask ამოცანა სკანირება PIR Motion Sensor 'pin ყველა დროის. როდესაც PIR Motion Sensor აღმოაჩენს, რომ ვიღაც მოდის, ის აყენებს დროშას, შემდეგ კი vHandlePIRTask ამოცანა იწყებს მუშაობას. ვინაიდან vHandlePIRTask ამოცანის პრიორიტეტია 2, როდესაც ის მუშაობს, დანარჩენი ორი ამოცანა შეჩერდება.

შემდეგი ზარები გამოიყენება დროშის დასაყენებლად ან გადასაყენებლად.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, პორტი MAX_DELAY);

ნაბიჯი 5: ოპერაცია

განათავსეთ სპიკერი, Seeeduino და Groves გოგრის ფარანში და ჩართეთ. ახლა თქვენ შეგიძლიათ დაელოდოთ ვინმეს მისვლას, შეასრულა ან გაუმკლავდეს:-).

შეამოწმეთ ვიდეო ჰელოუინის გოგრის შუქზე დაჭერით. (https://www.youtube.com/embed/CFjuWXOIUN4)

გირჩევთ: