Sommario:

Spaventosa macchina per caramelle alla zucca per Halloween: 5 passaggi
Spaventosa macchina per caramelle alla zucca per Halloween: 5 passaggi

Video: Spaventosa macchina per caramelle alla zucca per Halloween: 5 passaggi

Video: Spaventosa macchina per caramelle alla zucca per Halloween: 5 passaggi
Video: È davvero lei? 😳 iscriviti per altre indagini🔎 2024, Luglio
Anonim
Image
Image

Ciao a tutti! Felice Holloween!! Abbiamo costruito una lanterna di zucca che suonerà musica e sputerà caramelle quando qualcuno si avvicinerà.

Passaggio 1: cose utilizzate in questo progetto

Cose utilizzate in questo progetto
Cose utilizzate in questo progetto
Cose utilizzate in questo progetto
Cose utilizzate in questo progetto

Componenti hardware

  • Arduino UNO / Seeeduino V4.2
  • Scudo base V2
  • Grove - Sensore di movimento PIR
  • Grove - MP3 v2.0
  • Grove - Striscia LED RGB impermeabile WS2813 - 60 LED/m - 1m
  • EMax 12g ES08MD servo ad alta sensibilità

App software e servizi online

Arduino IDE

Fase 2: Storia

Storia
Storia
Storia
Storia
Storia
Storia

Halloween sta arrivando, le lanterne di zucca sono indispensabili. Usiamo Seeeduino e PIR Motion Sensor ha costruito una lanterna di zucca, quando qualcuno si avvicina, suonerà musica e sputerà caramelle.

Struttura meccanica

**Passaggio 1: **Compra delle caramelle e una zucca, scava una buca dietro la zucca in modo che possiamo metterci sopra Seeeduino.

**Passaggio 2: **Taglia una scatola come questa e fissala alla bocca della zucca.

**Setp 3: **Montare un braccio sul servomotore. Per fissare un servomotore all'interno della zucca, usiamo una lattina come supporto.

**Fase 4: **Assicurati che quando il braccio del servomotore si alza, le caramelle nella scatola verranno sputate fuori dalla bocca della zucca.

Passaggio 3: Connessione hardware

**Passaggio 1: **Crea una cartella denominata MP3 in un pezzo di scheda SD, copiaci un file mp3, chiamalo 0001.mp3. Collega un altoparlante a MP3 Grove tramite la porta da 3,5 mm e collega MP3 Grove alla porta D2 su Base Shield.

**Fase 2: **Collega il sensore di movimento PIR Grove alla porta D4 di Base Shield e collega la striscia NeoPixel alla porta D5 di Base Shield.

**Fase 3: **Collega Servo Grove al pin digitale 9 di Base Shield, quindi potrebbe essere necessario utilizzare le linee DuPont.

**Passaggio 4: **collegare Base Shield a Seeeduino.

**Passaggio 5: **Per scaricare il programma su Seeeduino, utilizziamo un cavo USB per connetterci al computer. Dopo averlo scaricato, possiamo usare solo un cavo di alimentazione all'interno della zucca.

Fase 4: Programmazione del software

**Passaggio 1: **Installa le librerie

Per un migliore effetto, utilizziamo un sistema operativo chiamato FreeRTOS, che può essere scaricato da qui.

Inoltre, questo progetto necessita delle seguenti librerie, scaricale e installale:

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

Oppure puoi semplicemente includere MP3.h nella cartella del progetto per utilizzare MP3 Grove.

**Passaggio 2: **Crea e carica il programma

*AVVISO: Marco MAX_BRIGHTNESS controlla la luminosità massima di NeoPixel, riduci la luminosità per ridurre il consumo energetico.*

Potrebbe essere difficile capire il programma se non hai usato il sistema operativo su Seeeduino prima, il seguente articolo lo farà semplicemente.

Nel metodo setup(), abbiamo inizializzato Serial, MP3 Grove e Servo Motor normalmente e abbiamo creato una variabile che chiamiamo semaforo, puoi considerarla come una variabile flag che indicava se qualcuno arriva o no.

vSemaphoreCreateBinary(xPIRBinarySemaphore);

Quindi abbiamo creato 3 attività, possono essere eseguite insieme. Ma le priorità di allora potrebbero non essere le stesse.

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

Dopo aver verificato che il semaforo e le attività siano inizializzate correttamente, il metodo vTaskSetartScheduler() avvia l'intero FreeRTOS.

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

{ per (;;); } vTaskStartScheduler();

Il metodo loop() utilizzato in FreeRTOS. Ora il resto è semplice, vFadingLEDsTask task fading Variable Color LED e vScanPIRTask task scan PIR Motion Sensor' pin tutto il tempo. Quando il sensore di movimento PIR rileva che qualcuno sta arrivando, imposta il flag, quindi l'attività vHandlePIRTask inizia a essere eseguita. Poiché la priorità dell'attività vHandlePIRTask è 2, quando è in esecuzione, le altre due attività rimanenti verranno sospese.

Le seguenti chiamate vengono utilizzate per impostare o ripristinare un flag.

xSemaphoreGive(xPIRBinarySemaphore);

xSemaphoreTake(xPIRBinarySemaphore, portMAX_DELAY);

Passaggio 5: operazione

Metti l'altoparlante, Seeeduino e Groves all'interno della lanterna di zucca e accendila. Ora puoi aspettare che venga qualcuno, Dolcetto o scherzetto:-).

Guarda il video facendo clic sulla luce della zucca di Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Consigliato: