Tartalomjegyzék:

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

Videó: Ijesztő sütőtök Candy Machine Halloweenhez: 5 lépés

Videó: Ijesztő sütőtök Candy Machine Halloweenhez: 5 lépés
Videó: 5 Daily Must-Have Habits for Immune System Health Webinar 2024, November
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: