Mündəricat:

Halloween üçün qorxunc balqabaq konfet maşını: 5 addım
Halloween üçün qorxunc balqabaq konfet maşını: 5 addım

Video: Halloween üçün qorxunc balqabaq konfet maşını: 5 addım

Video: Halloween üçün qorxunc balqabaq konfet maşını: 5 addım
Video: 2-sinif Vurma əməli 2024, Iyul
Anonim
Image
Image

Hər kəsə salam! Holloween mübarək !! Kimsə yanına gələndə musiqi çalacaq və konfet tüpürəcək bir balqabaq fənəri qurduq.

Addım 1: Bu Layihədə İstifadə Edilən Şeylər

Bu Layihədə İstifadə Edilən Şeylər
Bu Layihədə İstifadə Edilən Şeylər
Bu Layihədə İstifadə Edilən Şeylər
Bu Layihədə İstifadə Edilən Şeylər

Avadanlıq komponentləri

  • Arduino UNO / Seeeduino V4.2
  • Əsas qalxan V2
  • Grove - PIR Hərəkət Sensoru
  • Grove - MP3 v2.0
  • Grove - Suya davamlı WS2813 RGB LED Şeridi - 60 LED/m - 1m
  • EMax 12g ES08MD yüksək həssas servo

Proqram proqramları və onlayn xidmətlər

Arduino IDE

Addım 2: Hekayə

Hekayə
Hekayə
Hekayə
Hekayə
Hekayə
Hekayə

Halloween gəlir, balqabaq fənərləri vacibdir. Seeeduinodan istifadə edirik və PIR Motion Sensor balqabaq fənəri qurdu, kimsə ona yaxınlaşanda musiqi çalacaq və konfet tüpürəcək.

Mexanik quruluş

** Addım 1: ** Bir az şirniyyat və balqabaq alın, balqabağın arxasında bir çuxur qazın ki, Seeeduinonu ona qoyaq.

** Adım 2: ** Belə bir qutu kəsin və balqabağın ağzına düzəldin.

** Setp 3: ** Bir qolu servo motora bağlayın. Balqabağın içərisindəki bir servo motoru düzəltmək üçün tutacaq olaraq bir qutudan istifadə edirik.

** Adım 4: ** Servo motor qolu yuxarı qalxdıqda, qutudakı konfetlərin balqabağın ağzından töküldüyünə əmin olun.

Addım 3: Avadanlıq Bağlantısı

** Adım 1: ** Bir SD kart parçasına MP3 adlı bir qovluq yaradın, ona mp3 faylını kopyalayın, adını 0001.mp3 qoyun. Dinamikləri 3.5 mm port vasitəsilə MP3 Grove -ə bağlayın və MP3 Grove -u Base Shield -dəki D2 portuna qoşun.

** Adım 2: ** PIR Motion Sensor Grove -u Base Shield -in D4 portuna qoşun və NeoPixel şeridini Base Shield -in D5 portuna qoşun.

** Adım 3: ** Servo Grove -u Base Shield -in rəqəmsal 9 pininə qoşun, buna görə də DuPont xətlərindən istifadə etməyimiz lazım ola bilər.

** Adım 4: ** Base Shield -ı Seeeduino'ya qoşun.

** Addım 5: ** Proqramı Seeeduino'ya yükləmək üçün kompüterə qoşulmaq üçün USB kabeldən istifadə edirik. Yüklədikdən sonra yalnız balqabağın içərisində bir elektrik kabeli istifadə edə bilərik.

Addım 4: Proqramlaşdırma

** Addım 1: ** Kitabxanaları quraşdırın

Daha yaxşı təsir üçün FreeRTOS adlı bir əməliyyat sistemindən istifadə edirik, buradan yükləyə bilərsiniz.

Bundan əlavə, bu layihənin aşağıdakı kitabxanalara ehtiyacı var, onları yükləyin və quraşdırın:

  • Grove - MP3 v2.0
  • Adafruit NeoPixel
  • Adafruit TicoServo

Ya da MP3 Grove istifadə etmək üçün MP3.h -ni layihə qovluğuna daxil edə bilərsiniz.

** Addım 2: ** Proqramı qurun və yükləyin

*XƏBƏRDARLIQ: Marco MAX_BRIGHTNESS NeoPixel -in maksimum parlaqlığını idarə edir, enerji istehlakını azaltmaq üçün parlaqlığını azaldır.

Daha əvvəl Seeeduino'da əməliyyat sistemi istifadə etməmisinizsə, proqramı başa düşmək çətin ola bilər, aşağıdakı məqalə bunu asanlaşdıracaq.

Setup () metodunda, Serial, MP3 Grove və Servo Motoru normal olaraq işə saldıq və semafor adlandırdığımız bir varlıq yaratdıq, bunu kiminsə gəlib -gəlmədiyini göstərmək üçün istifadə olunan bir bayraq dəyişən hesab edə bilərsiniz.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Sonra 3 vəzifə yaratdıq, birlikdə işləyə bilərlər. Amma o zamanın prioritetləri eyni olmaya bilər.

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);

Semafor yoxlanıldıqdan və vəzifələr düzgün başladıldıqdan sonra, vTaskSetartScheduler () metodu bütün FreeRTOS -u işə salır.

əgər (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{üçün (;;); } vTaskStartScheduler ();

FreeRTOS -da istifadə olunan loop () metodu. İndi qalanları sadədir, vFadingLEDsTask vəzifəsi Dəyişən Rəngli LED və vScanPIRTask tapşırığını hər zaman PIR Motion Sensor pinində yoxlayır. PIR Motion Sensor birinin gəldiyini algıladığında bayrağı təyin edir, sonra vHandlePIRTask vəzifəsi işə başlayır. VHandlePIRTask tapşırığının prioriteti 2 olduğu üçün işləyərkən qalan digər iki vəzifə dayandırılacaq.

Aşağıdakı zənglər bir bayraq qurmaq və ya sıfırlamaq üçün istifadə olunur.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Addım 5: Əməliyyat

Dinamik, Seeeduino və Groves -i balqabaq fənərinin içinə qoyun və yandırın. İndi kiminsə yanına gəlməsini gözləyə bilərsiniz, Hiylə və ya Müalicə edin:-).

Halloween balqabaq işığını tıklayaraq videoya baxın. (https://www.youtube.com/embed/CFjuWXOIUN4)

Tövsiyə: