Turinys:

Baisi moliūgų saldainių mašina Helovinui: 5 žingsniai
Baisi moliūgų saldainių mašina Helovinui: 5 žingsniai

Video: Baisi moliūgų saldainių mašina Helovinui: 5 žingsniai

Video: Baisi moliūgų saldainių mašina Helovinui: 5 žingsniai
Video: HIDE ONLINE HUNTERS VS PROPS TOILET THUNDER TROUBLES 2024, Lapkritis
Anonim
Image
Image

Sveiki visi! Laimingas Holloween !! Mes pastatėme moliūgų žibintą, kuris gros muziką ir spjaudys saldainius, kai kas nors ateis.

1 žingsnis: šiame projekte naudojami dalykai

Dalykai, naudojami šiame projekte
Dalykai, naudojami šiame projekte
Dalykai, naudojami šiame projekte
Dalykai, naudojami šiame projekte

Techninės įrangos komponentai

  • „Arduino UNO“/ „Seeeduino V4.2“
  • Pagrindo skydas V2
  • Grove - PIR judesio jutiklis
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED juostelė Atsparus vandeniui - 60 LED/m - 1 m
  • EMax 12g ES08MD labai jautri servo

Programinės įrangos programos ir internetinės paslaugos

„Arduino IDE“

2 žingsnis: istorija

Istorija
Istorija
Istorija
Istorija
Istorija
Istorija

Artėja Helovinas, būtini moliūgų žibintai. Mes naudojame „Seeeduino“ir „PIR Motion Senser“pastatė moliūgų žibintą, kai kas nors prie jo prieis, jis gros muziką ir spjaudys saldainius.

Mechaninė struktūra

** 1 žingsnis: ** Nusipirkite saldainių ir moliūgų, iškaskite skylę už moliūgo, kad galėtume įdėti „Seeeduino“.

** 2 žingsnis: ** Iškirpkite tokią dėžutę ir pritvirtinkite prie moliūgų burnos.

** 3 nustatymas: ** pritvirtinkite ranką prie servo variklio. Norėdami pritvirtinti servo variklį moliūgo viduje, kaip laikiklį naudojame skardinę.

** 4 žingsnis: ** Įsitikinkite, kad, kai servo variklio rankena pasisuks, dėžutėje esantys saldainiai bus išspjauti iš moliūgų burnos.

3 žingsnis: aparatinės įrangos prijungimas

** 1 žingsnis: ** Sukurkite aplanką pavadinimu MP3 SD kortelės gabalėlyje, nukopijuokite į jį MP3 failą, pavadinkite jį 0001.mp3. Prijunkite garsiakalbį prie „MP3 Grove“per 3,5 mm prievadą ir prijunkite „MP3 Grove“prie „Base Shield“prievado D2.

** 2 veiksmas: ** Prijunkite PIR judesio jutiklio griovelį prie „Base Shield“D4 prievado ir „NeoPixel“juostelę prie „Base Shield“D5 prievado.

** 3 žingsnis: ** Prijunkite „Servo Grove“prie „Base Shield“skaitmeninio kaiščio 9, todėl mums gali prireikti naudoti „DuPont“linijas.

** 4 žingsnis: ** prijunkite „Base Shield“prie „Seeeduino“.

** 5 veiksmas: ** Norėdami atsisiųsti programą į „Seeeduino“, mes prijungiame prie kompiuterio USB kabelį. Atsisiuntę moliūgo viduje galime naudoti tik maitinimo kabelį.

4 žingsnis: programinės įrangos programavimas

** 1 žingsnis: ** Įdiekite bibliotekas

Siekiant geresnio efekto, naudojame operacinę sistemą, vadinamą „FreeRTOS“, ją galima atsisiųsti iš čia.

Be to, šiam projektui reikalingos šios bibliotekos, atsisiųskite ir įdiekite jas:

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

Arba galite tiesiog įtraukti MP3.h į projekto aplanką, kad galėtumėte naudoti „MP3 Grove“.

** 2 žingsnis: ** Sukurkite ir įkelkite programą

*PASTABA: „Marco MAX_BRIGHTNESS“valdo maksimalų „NeoPixel“ryškumą, sumažina jo ryškumą, kad sumažėtų energijos suvartojimas.*

Gali būti sunku suprasti programą, jei anksčiau nenaudojote „Seeeduino“operacinės sistemos, šis straipsnis bus paprastas.

Sąrankos () metodu įprastai inicijavome „Serial“, „MP3 Grove“ir „Servo Motor“ir sukūrėme kintamąjį, kurį vadiname semaforu, galite jį laikyti vėliavos kintamuoju, kuris nurodė, ar kas nors ateina, ar ne.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Tada sukūrėme 3 užduotis, jos gali veikti kartu. Tačiau tuometiniai prioritetai gali būti nevienodi.

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

Patikrinus semaforą ir tinkamai inicijuotas užduotis, „vTaskSetartScheduler“() metodas paleidžia visą „FreeRTOS“.

if (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{ dėl (;;); } vTaskStartScheduler ();

„FreeRTOS“naudojamas ciklo () metodo nerveris. Dabar viskas paprasta, „vFadingLEDsTask“užduočių blukimas Kintamos spalvos šviesos diodas ir „vScanPIRTask“užduočių nuskaitymo PIR judesio jutiklio kaištis visą laiką. Kai PIR judesio jutiklis nustato, kad kažkas ateina, jis nustato vėliavą, tada pradedama vykdyti „vHandlePIRTask“užduotis. Kadangi „vHandlePIRTask“užduoties prioritetas yra 2, kai ji vykdoma, kitos dvi likusios užduotys bus laikinai sustabdytos.

Šie skambučiai naudojami vėliavai nustatyti arba iš naujo nustatyti.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

5 žingsnis: veikimas

Įdėkite garsiakalbį, Seeeduino ir Groves į moliūgų žibintą ir įjunkite. Dabar galite laukti, kol kas nors ateis, apgauti ar gydyti:-).

Patikrinkite vaizdo įrašą spustelėdami Helovino moliūgų šviesą. (https://www.youtube.com/embed/CFjuWXOIUN4)

Rekomenduojamas: