Pelottava Pumpkin Candy Machine Halloweenille: 5 vaihetta
Pelottava Pumpkin Candy Machine Halloweenille: 5 vaihetta
Anonim
Image
Image

Hei kaikki! Hyvää Holloweenia !! Rakensimme kurpitsan lyhdyn, joka soittaa musiikkia ja sylkee karkkeja, kun joku tulee sen luo.

Vaihe 1: Tässä projektissa käytetyt asiat

Tässä projektissa käytetyt asiat
Tässä projektissa käytetyt asiat
Tässä projektissa käytetyt asiat
Tässä projektissa käytetyt asiat

Laitteiston osat

  • Arduino UNO / Seeeduino V4.2
  • Pohjakilpi V2
  • Grove - PIR -liiketunnistin
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED -nauha Vedenpitävä - 60 LED/m - 1 m
  • EMax 12g ES08MD erittäin herkkä servo

Ohjelmistosovellukset ja verkkopalvelut

Arduino IDE

Vaihe 2: Tarina

Tarina
Tarina
Tarina
Tarina
Tarina
Tarina

Halloween on tulossa, kurpitsan lyhdyt ovat välttämättömiä. Käytämme Seeeduinoa ja PIR -liiketunnistin rakensi kurpitsan lyhdyn, kun joku tulee sen luo, se soittaa musiikkia ja sylkee karkkeja.

Mekaaninen rakenne

** Vaihe 1: ** Osta karkkeja ja kurpitsa, kaivaa reikä kurpitsan taakse, jotta voimme laittaa Seeeduinon siihen.

** Vaihe 2: ** Leikkaa tällainen laatikko ja kiinnitä se kurpitsan suuhun.

** Asetus 3: ** Kiinnitä varsi servomoottoriin. Jos haluat kiinnittää servomoottorin kurpitsan sisään, käytämme tölkkiä pidikkeenä.

** Vaihe 4: ** Varmista, että kun servomoottorin varsi kääntyy ylös, laatikossa olevat karkit sylkyvät kurpitsan suusta.

Vaihe 3: Laitteistoyhteys

** Vaihe 1: ** Tee MP3 -kansio SD -korttipalaksi, kopioi siihen mp3 -tiedosto ja anna sille 0001.mp3. Liitä kaiutin MP3 Groven 3,5 mm: n portin kautta ja liitä MP3 Grove Base Shieldin porttiin D2.

** Vaihe 2: ** Liitä PIR -liiketunnistin Grove Base Shieldin D4 -porttiin ja NeoPixel -nauha Base Shieldin D5 -porttiin.

** Vaihe 3: ** Liitä Servo Grove Base Shieldin digitaaliseen nastaan 9, joten meidän on ehkä käytettävä DuPont -linjoja.

** Vaihe 4: ** Liitä Base Shield Seeeduinoon.

** Vaihe 5: ** Ohjelman lataamiseksi Seeeduinoon käytämme USB -kaapelia yhteyden muodostamiseen tietokoneeseen. Lataamisen jälkeen voimme käyttää vain virtajohtoa kurpitsan sisällä.

Vaihe 4: Ohjelmointi

** Vaihe 1: ** Asenna kirjastot

Paremman vaikutuksen saamiseksi käytämme FreeRTOS -nimistä käyttöjärjestelmää, jonka voit ladata täältä.

Lisäksi tämä projekti tarvitsee seuraavat kirjastot, lataa ja asenna ne:

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

Tai voit yksinkertaisesti sisällyttää MP3.h: n projektikansioon käyttääksesi MP3 Grovea.

** Vaihe 2: ** Rakenna ja lataa ohjelma

*HUOMAUTUS: Marco MAX_BRIGHTNESS ohjaa NeoPixelin maksimikirkkautta, pienentää sen kirkkautta vähentääkseen virrankulutusta.*

Ohjelman ymmärtäminen voi olla vaikeaa, jos et käyttänyt Seeeduinon käyttöjärjestelmää aiemmin, seuraava artikkeli tekee siitä yksinkertaisen.

Setup () -menetelmässä alustasimme Serial-, MP3 Grove- ja Servo Motor -moottorit normaalisti ja loimme muuttujan, jota kutsumme semaforiksi. Voit pitää sitä lippumuuttujana, joka osoitti, onko joku tulossa vai ei.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Sitten loimme 3 tehtävää, ne voivat toimia yhdessä. Mutta tuon ajan prioriteetit eivät välttämättä ole samat.

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

Kun semaforin ja tehtävien alustaminen on tarkistettu, vTaskSetartScheduler () -metodi käynnistää koko FreeRTOSin.

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

{varten (;;); } vTaskStartScheduler ();

FreeRTOSissa käytetty loop () -metodin nerver. Nyt loput ovat yksinkertaisia, vFadingLEDsTask -tehtävän häipyminen Variable Color LED ja vScanPIRTask task scan PIR Motion Sensor 'pin koko ajan. Kun PIR -liiketunnistin havaitsee jonkun tulevan, se asettaa lipun ja vHandlePIRTask -tehtävä alkaa toimia. Koska vHandlePIRTask -tehtävän prioriteetti on 2, sen ollessa käynnissä kaksi muuta jäljellä olevaa tehtävää keskeytetään.

Seuraavia puheluita käytetään lipun asettamiseen tai nollaamiseen.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Vaihe 5: Käyttö

Aseta kaiutin, Seeeduino ja Groves kurpitsan lyhtyyn ja kytke se päälle. Nyt voit odottaa, että joku tulee, Trick tai Treat:-).

Katso video klikkaamalla Halloween -kurpitsavaloa. (https://www.youtube.com/embed/CFjuWXOIUN4)