Innholdsfortegnelse:

Skummelt Pumpkin Candy Machine for Halloween: 5 trinn
Skummelt Pumpkin Candy Machine for Halloween: 5 trinn

Video: Skummelt Pumpkin Candy Machine for Halloween: 5 trinn

Video: Skummelt Pumpkin Candy Machine for Halloween: 5 trinn
Video: STRANGE NEWS of the WEEK - 22 | Mysterious | Universe | UFOs | Paranormal 2024, Juli
Anonim
Image
Image

Hei alle sammen! Happy Holloween !! Vi bygde en gresskarlykt som vil spille musikk og spytte godteri når noen kommer til det.

Trinn 1: Ting som brukes i dette prosjektet

Ting som brukes i dette prosjektet
Ting som brukes i dette prosjektet
Ting som brukes i dette prosjektet
Ting som brukes i dette prosjektet

Maskinvarekomponenter

  • Arduino UNO / Seeeduino V4.2
  • Base Shield V2
  • Grove - PIR bevegelsessensor
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Vanntett - 60 LED/m - 1m
  • EMax 12g ES08MD høysensitiv servo

Programvare -apper og online -tjenester

Arduino IDE

Trinn 2: Historie

Historie
Historie
Historie
Historie
Historie
Historie

Halloween kommer, gresskarlykter er viktige. Vi bruker Seeeduino og PIR Motion Senser bygget en gresskarlykt, når noen kommer til den, vil den spille musikk og spytte godteri.

Mekanisk struktur

** Trinn 1: ** Kjøp litt godteri og et gresskar, grave et hull bak gresskaret slik at vi kan sette Seeeduino til det.

** Trinn 2: ** Klipp en boks som denne, og fest den til munnen av gresskar.

** Setp 3: ** Monter en arm på servomotoren. For å fikse en servomotor inne i gresskaret bruker vi en boks som holder.

** Trinn 4: ** Sørg for at når servomotorarmen dukker opp, blir godteri i esken spyttet ut av gresskarens munn.

Trinn 3: Maskinvaretilkobling

** Trinn 1: ** Lag en mappe som heter MP3 på et stykke SD -kort, kopier en mp3 -fil til den, gi den navnet 0001.mp3. Koble en høyttaler til MP3 Grove via 3,5 mm port, og koble MP3 Grove til port D2 på Base Shield.

** Trinn 2: ** Koble PIR Motion Sensor Grove til Base Shields D4 -port, og koble NeoPixel -stripen til Base Shields D5 -port.

** Trinn 3: ** Koble Servo Grove til Base Shields digitale pinne 9, så vi må kanskje bruke DuPont -linjene.

** Trinn 4: ** plugg Base Shield til Seeeduino.

** Trinn 5: ** For å laste ned programmet til Seeeduino bruker vi en USB -kabel for å koble til datamaskinen. Etter nedlasting kan vi bare bruke en strømkabel inne i gresskaret.

Trinn 4: Programvareprogrammering

** Trinn 1: ** Installer biblioteker

For bedre effekt bruker vi et operativsystem kalt FreeRTOS, det kan lastes ned herfra.

Dessuten trenger dette prosjektet følgende biblioteker, last ned og installer dem:

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

Eller du kan ganske enkelt inkludere MP3.h i prosjektmappen for å bruke MP3 Grove.

** Trinn 2: ** Bygg og last opp programmet

*MERKNAD: Marco MAX_BRIGHTNESS kontrollerer maksimal lysstyrke på NeoPixel, reduser lysstyrken til den for å redusere strømforbruket.*

Det kan være vanskelig å forstå programmet hvis du ikke brukte operativsystemet på Seeeduino før, følgende artikkel vil gjøre det enkelt.

I setup () -metoden initialiserte vi Serial, MP3 Grove og Servomotor normalt, og laget en variabel vi kaller semafor, du kan betrakte den som en flaggvariabel som pleide å indikere om det er noen som kommer eller ikke.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Deretter opprettet vi 3 oppgaver, de kan kjøres sammen. Men prioriteringene for da er kanskje ikke de samme.

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

Etter å ha sjekket semafor og oppgaver er initialisert riktig, starter vTaskSetartScheduler () -metoden hele FreeRTOS.

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

{for (;;); } vTaskStartScheduler ();

Loop () -metoden nerver brukt i FreeRTOS. Nå er resten enkelt, vFadingLEDsTask task fading Variable Color LED og vScanPIRTask task scan PIR Motion Sensor 'pin hele tiden. Når PIR Bevegelsessensor oppdager at noen kommer, setter den flagget, så begynner vHandlePIRTask -oppgaven å kjøre. Fordi prioriteten til vHandlePIRTask -oppgaven er 2, vil andre to gjenværende oppgaver bli suspendert når den kjører.

Følgende samtaler brukes til å angi eller tilbakestille et flagg.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Trinn 5: Drift

Sett høyttaleren, Seeeduino og Groves inne i gresskarlykten, og slå den på. Nå kan du vente på at noen kommer til det, Trick or Treat:-).

Sjekk videoen ved å klikke på Halloween gresskarlys. (https://www.youtube.com/embed/CFjuWXOIUN4)

Anbefalt: