Sadržaj:

Zastrašujući stroj za slatkiše od bundeve za Noć vještica: 5 koraka
Zastrašujući stroj za slatkiše od bundeve za Noć vještica: 5 koraka

Video: Zastrašujući stroj za slatkiše od bundeve za Noć vještica: 5 koraka

Video: Zastrašujući stroj za slatkiše od bundeve za Noć vještica: 5 koraka
Video: Perlice - Vještica 2024, Srpanj
Anonim
Image
Image

Pozdrav svima! Sretan Holloween !! Napravili smo fenjer od bundeve koji će puštati glazbu i pljuvati bombone kad mu netko priđe.

Korak 1: Stvari korištene u ovom projektu

Stvari korištene u ovom projektu
Stvari korištene u ovom projektu
Stvari korištene u ovom projektu
Stvari korištene u ovom projektu

Hardverske komponente

  • Arduino UNO / Seeeduino V4.2
  • Osnovni štit V2
  • Grove - PIR senzor pokreta
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED traka Vodootporna - 60 LED/m - 1m
  • EMax 12 g ES08MD visoko osjetljiv servo

Softverske aplikacije i mrežne usluge

Arduino IDE

Korak 2: Priča

Priča
Priča
Priča
Priča
Priča
Priča

Noć vještica dolazi, lampioni od bundeve su neophodni. Koristimo Seeeduino i PIR Motion Senser koji je napravio lampion od bundeve, kad netko dođe do njega, pustit će glazbu i pljunuti bombone.

Mehanička struktura

** Korak 1: ** Kupite bombone i bundevu, iskopajte rupu iza bundeve kako bismo mogli staviti Seeeduino na nju.

** Korak 2: ** Ovako izrežite kutiju i pričvrstite je na usta bundeve.

** Korak 3: ** Montirajte ruku na servo motor. Za pričvršćivanje servo motora unutar bundeve koristimo limenku kao držač.

** Korak 4: ** Pobrinite se da se, kad se ruka servo motora pojavi, bomboni u kutiji ispljunu iz usta bundeve.

Korak 3: Povezivanje hardvera

** Korak 1: ** Napravite mapu s imenom MP3 na komadu SD kartice, kopirajte u nju mp3 datoteku, dajte joj ime 0001.mp3. Spojite zvučnik na MP3 Grove preko priključka od 3,5 mm, a MP3 Grove u priključak D2 na Base Shieldu.

** Korak 2: ** Spojite PIR Grove senzora pokreta s D4 portom Base Shield -a i povežite NeoPixel traku s D5 portom Base Shield -a.

** Korak 3: ** Spojite Servo Grove na digitalni pin 9 Base Shielda, pa ćemo možda trebati koristiti DuPont linije.

** Korak 4: ** priključite Base Shield na Seeeduino.

** Korak 5: ** Za preuzimanje programa u Seeeduino koristimo USB kabel za povezivanje s računalom. Nakon preuzimanja možemo koristiti samo kabel za napajanje unutar bundeve.

Korak 4: Programiranje softvera

** Korak 1: ** Instalirajte knjižnice

Za bolji učinak koristimo operacijski sustav pod nazivom FreeRTOS, koji se može preuzeti odavde.

Osim toga, ovom projektu trebaju sljedeće biblioteke, preuzmite ih i instalirajte:

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

Ili možete jednostavno uključiti MP3.h u mapu projekta da biste koristili MP3 Grove.

** Korak 2: ** Izgradite i prenesite program

*OBAVIJEST: Marco MAX_BRIGHTNESS kontrolira maksimalnu svjetlinu NeoPixela, smanji svjetlinu radi smanjenja potrošnje energije.*

Možda je teško razumjeti program ako prije niste koristili operacijski sustav na Seeeduinu, sljedeći članak će to učiniti jednostavno.

U metodi setup () normalno smo inicijalizirali serijski, MP3 Grove i servo motor i stvorili varijablu koju nazivamo semafor, možete je smatrati oznakom varijable koja je označavala dolazi li netko ili ne.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Zatim smo stvorili 3 zadatka koji se mogu izvoditi zajedno. No tadašnji prioriteti možda neće biti isti.

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

Nakon provjere semafora i ispravnog pokretanja zadataka, metoda vTaskSetartScheduler () pokreće cijeli FreeRTOS.

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

{za (;;); } vTaskStartScheduler ();

Nerver metode loop () koji se koristi u FreeRTOS -u. Ostalo je jednostavno, vFadingLEDsTask zadatak blijedi, mijenja LED LED promjenjive boje i vScanPIRTask zadatak skenira PIR senzor pokreta cijelo vrijeme. Kad PIR senzor pokreta otkrije da netko dolazi, postavlja zastavicu, a zatim se pokreće zadatak vHandlePIRTask. Budući da je prioritet zadatka vHandlePIRTask 2, tijekom izvođenja bit će obustavljena dva preostala zadatka.

Sljedeći se pozivi koriste za postavljanje ili poništavanje zastavice.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Korak 5: Operacija

Umetnite zvučnik, Seeeduino i Groves unutar lampiona od bundeve i uključite ga. Sada možete čekati da netko dođe, izigrajte ili počastite:-).

Videozapis provjerite klikom na svjetlo bundeve za Noć vještica. (https://www.youtube.com/embed/CFjuWXOIUN4)

Preporučeni: