Բովանդակություն:

Սարսափ դդումի կոնֆետի մեքենա Հելոուինի համար. 5 քայլ
Սարսափ դդումի կոնֆետի մեքենա Հելոուինի համար. 5 քայլ

Video: Սարսափ դդումի կոնֆետի մեքենա Հելոուինի համար. 5 քայլ

Video: Սարսափ դդումի կոնֆետի մեքենա Հելոուինի համար. 5 քայլ
Video: Մենք անընդհատ դդումի կոնֆետ ենք պատրաստում: 2024, Նոյեմբեր
Anonim
Image
Image

Բարեւ բոլորին! Շնորհավոր Հելոուին !! Մենք կառուցեցինք դդումի լապտեր, որը կխաղա երաժշտություն և կթքի կոնֆետներ, երբ ինչ -որ մեկը մոտենա դրան:

Քայլ 1: Այս նախագծում օգտագործվող բաները

Այս նախագծում օգտագործված իրերը
Այս նախագծում օգտագործված իրերը
Այս նախագծում օգտագործված իրերը
Այս նախագծում օգտագործված իրերը

Սարքավորման բաղադրիչներ

  • Arduino UNO / Seeeduino V4.2
  • Base Shield V2
  • Grove - PIR շարժման ցուցիչ
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Անջրանցիկ - 60 LED/մ - 1 մ
  • EMax 12g ES08MD բարձր զգայուն սերվո

Softwareրագրային ապահովման ծրագրեր և առցանց ծառայություններ

Arduino IDE

Քայլ 2: Պատմություն

Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն
Պատմություն

Հելոուինը մոտենում է, դդումի լապտերներն անհրաժեշտ են: Մենք օգտագործում ենք Seeeduino- ն, և PIR Motion Senser- ը դդումի լապտեր է կառուցել, երբ ինչ -որ մեկը մոտենա դրան, այն կխաղա երաժշտություն և կթքի կոնֆետներ:

Մեխանիկական կառուցվածք

** Քայլ 1: ** Գնեք մի քանի կոնֆետ և դդում, դդումի հետևում մի փոս փորեք, որպեսզի մենք այնտեղ դրենք Seeeduino- ն:

** Քայլ 2: ** Կտրեք այսպիսի տուփ և ամրացրեք այն դդմի բերանին:

** Քայլ 3: ** Ձեռքը ամրացրեք սերվո շարժիչին: Դդումի ներսում servo շարժիչը ամրացնելու համար մենք որպես պահարան օգտագործում ենք տարա:

** Քայլ 4: ** Համոզվեք, որ երբ servo շարժիչի թևը բարձրանա, տուփի մեջ եղած կոնֆետները կթքվեն դդմի բերանից:

Քայլ 3: Սարքաշարի միացում

** Քայլ 1: ** SD քարտի կտորի մեջ կազմեք MP3 անունով թղթապանակ, պատճենեք դրան mp3 ֆայլ, անվանեք 0001.mp3: Միացրեք բարձրախոսը MP3 Grove's- ին 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: ** Միացրեք Base Shield- ը Seeeduino- ին:

** Քայլ 5: ** Seeրագիրը Seeeduino- ում ներբեռնելու համար մենք օգտագործում ենք USB մալուխ `համակարգչին միանալու համար: Ներբեռնելուց հետո մենք կարող ենք միայն դդումի ներսում օգտագործել հոսանքի մալուխ:

Քայլ 4: Softwareրագրային ապահովման ծրագրավորում

** Քայլ 1: ** Տեղադրեք գրադարաններ

Ավելի լավ ազդեցություն ունենալու համար մենք օգտագործում ենք FreeRTOS կոչվող օպերացիոն համակարգը, որը կարելի է ներբեռնել այստեղից:

Բացի այդ, այս նախագծին անհրաժեշտ են հետևյալ գրադարանները, ներբեռնեք և տեղադրեք դրանք.

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

Կամ պարզապես կարող եք MP3.h- ն ներառել նախագծի թղթապանակում ՝ MP3 Grove- ն օգտագործելու համար:

** Քայլ 2: ** Կառուցեք և վերբեռնեք ծրագիրը

*ICEԱՆՈԹՈԹՅՈՆ. Marco MAX_BRIGHTNESS- ը վերահսկում է NeoPixel- ի առավելագույն պայծառությունը, նվազեցնում դրա պայծառությունը `էներգիայի սպառումը նվազեցնելու համար:*

Գուցե դժվար լինի հասկանալ ծրագիրը, եթե նախկինում Seeeduino- ում օպերացիոն համակարգ չէիք օգտագործում, հաջորդ հոդվածը պարզ կդարձնի այն:

Setup () մեթոդով մենք սովորաբար նախաստորագրեցինք Serial, MP3 Grove և Servo Motor և ստեղծեցինք մի փոփոխական, որը մենք կոչում ենք սեմաֆոր: Դուք կարող եք այն դիտել որպես դրոշի փոփոխական, որը ցույց էր տալիս, թե ինչ -որ մեկը գալիս է, թե ոչ:

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)

{համար (;;); } vTaskStartScheduler ();

The loop () մեթոդը, որն օգտագործվում է FreeRTOS- ում: Այժմ մնացածը պարզ է, vFadingLEDsTask առաջադրանքի մարում Variable Color LED և vScanPIRTask առաջադրանքների սկան PIR Motion Sensor- ի քորոցն անընդհատ: Երբ PIR Motion Sensor- ը հայտնաբերում է, որ ինչ -որ մեկը գալիս է, այն սահմանում է դրոշը, այնուհետև vHandlePIRTask առաջադրանքը սկսում է գործել: Քանի որ vHandlePIRTask առաջադրանքի առաջնահերթությունը 2 -ն է, երբ այն աշխատում է, մնացած երկու առաջադրանքները կասեցվելու են:

Հետևյալ զանգերն օգտագործվում են դրոշը տեղադրելու կամ վերակայելու համար:

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, նավահանգիստ MAX_DELAY);

Քայլ 5: Գործողություն

Տեղադրեք բարձրախոսը, Seeeduino- ն և Groves- ը դդմի լապտերի ներսում և միացրեք այն: Այժմ կարող եք սպասել, որ ինչ-որ մեկը մոտենա դրան ՝ Խաբել կամ բուժել:-):

Ստուգեք տեսանյութը ՝ կտտացնելով Հելոուինի դդմի լույսին: (https://www.youtube.com/embed/CFjuWXOIUN4)

Խորհուրդ ենք տալիս: