Ijesztő sütőtök Candy Machine Halloweenhez: 5 lépés
Ijesztő sütőtök Candy Machine Halloweenhez: 5 lépés
Anonim
Image
Image

Helló mindenki! Boldog Holloween !! Építettünk egy töklámpást, amely zenélni fog és cukorkát köp, ha valaki odalép hozzá.

1. lépés: A projektben használt dolgok

Ebben a projektben használt dolgok
Ebben a projektben használt dolgok
Ebben a projektben használt dolgok
Ebben a projektben használt dolgok

Hardver alkatrészek

  • Arduino UNO / Seeeduino V4.2
  • Alappajzs V2
  • Grove - PIR mozgásérzékelő
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED szalag Vízálló - 60 LED/m - 1m
  • EMax 12g ES08MD nagy érzékenységű szervó

Szoftveralkalmazások és online szolgáltatások

Arduino IDE

2. lépés: Történet

Sztori
Sztori
Sztori
Sztori
Sztori
Sztori

Közeleg a Halloween, elengedhetetlenek a töklámpások. Mi a Seeeduino -t használjuk, és a PIR Motion Senser épített egy töklámpást, amikor valaki odalép hozzá, zenél és cukorkát köp.

Mechanikai szerkezet

** 1. lépés: ** Vásároljon néhány cukorkát és egy sütőtököt, ásson egy lyukat a sütőtök mögé, hogy a Seeeduino -t hozzá tudjuk tenni.

** 2. lépés: ** Vágjon le egy ilyen dobozt, és rögzítse a tök szájához.

** 3. beállítás: ** Szereljen egy kart a szervomotorhoz. A szervo motornak a tök belsejében történő rögzítéséhez konzervdobozt használunk tartóként.

** 4. lépés: ** Győződjön meg arról, hogy amikor a szervomotor kar feláll, a dobozban lévő cukorkákat kiköpi a tök szájából.

3. lépés: Hardvercsatlakozás

** 1. lépés: ** Készítsen egy MP3 nevű mappát egy SD -kártyára, másoljon át egy mp3 fájlt, és nevezze el 0001.mp3. Csatlakoztasson egy hangszórót az MP3 Grove -hoz 3,5 mm -es porton keresztül, és csatlakoztassa az MP3 Grove -t a Base Shield D2 portjához.

** 2. lépés: ** Csatlakoztassa a PIR mozgásérzékelő Grove -t a Base Shield D4 portjához, és a NeoPixel csíkot az Base Shield D5 portjához.

** 3. lépés: ** Csatlakoztassa a Servo Grove -t a Base Shield digitális 9 -es tűjéhez, így szükség lehet a DuPont vonalak használatára.

** 4. lépés: ** csatlakoztassa a Base Shield -t a Seeeduino -hoz.

** 5. lépés: ** A program See Seeino -ba történő letöltéséhez USB -kábelt használunk a számítógéphez való csatlakozáshoz. Letöltés után csak tök belsejében használhatunk tápkábelt.

4. lépés: Szoftverprogramozás

** 1. lépés: ** Könyvtárak telepítése

A jobb hatás érdekében FreeRTOS nevű operációs rendszert használunk, innen letölthető.

Ezenkívül ehhez a projekthez a következő könyvtárakra van szükség, töltse le és telepítse őket:

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

Vagy egyszerűen felveheti az MP3.h -t a projektmappába az MP3 Grove használatához.

** 2. lépés: ** Készítse el és töltse fel a programot

*FIGYELEM: A Marco MAX_BRIGHTNESS szabályozza a NeoPixel maximális fényerejét, csökkentse a fényerőt az energiafogyasztás csökkentése érdekében.*

Nehéz lehet megérteni a programot, ha korábban nem használt operációs rendszert a Seeeduino -n, a következő cikk egyszerűen leegyszerűsíti.

A setup () metódusban a Serial, MP3 Grove és a Servo Motor alapértelmezés szerint inicializáltuk, és létrehoztunk egy változót, amelyet szemafornak nevezünk. Ezt úgy tekintheti, mint egy zászlóváltozót, amely jelzi, hogy valaki jön -e vagy sem.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Aztán létrehoztunk 3 feladatot, ezek együtt futhatnak. De az akkori prioritások nem biztos, hogy ugyanazok.

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

Miután ellenőrizte a szemafor és a feladatok helyes inicializálását, a vTaskSetartScheduler () metódus elindítja a teljes FreeRTOS -t.

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

{mert (;;); } vTaskStartScheduler ();

A FreeRTOS -ban használt loop () metódus. Most a többi egyszerű, vFadingLEDsTask feladat elhalványul Variable Color LED és vScanPIRTask task scan PIR Motion Sensor 'pin folyamatosan. Amikor a PIR mozgásérzékelő észleli, hogy valaki jön, beállítja a zászlót, majd elindul a vHandlePIRTask feladat. Mivel a vHandlePIRTask feladat prioritása 2, futás közben a másik két fennmaradó feladat felfüggesztésre kerül.

A következő hívások a zászló beállítására vagy visszaállítására szolgálnak.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

5. lépés: Művelet

Tegye a hangszórót, Seeeduino -t és Groves -t a töklámpába, és kapcsolja be. Most várhat, hogy valaki ráérjen, trükk vagy csemege:-).

Nézze meg a videót a Halloween tökfényre kattintva. (https://www.youtube.com/embed/CFjuWXOIUN4)

Ajánlott: