Inhoudsopgave:

Enge Pumpkin Candy Machine voor Halloween - Ajarnpa
Enge Pumpkin Candy Machine voor Halloween - Ajarnpa

Video: Enge Pumpkin Candy Machine voor Halloween - Ajarnpa

Video: Enge Pumpkin Candy Machine voor Halloween - Ajarnpa
Video: Halloween pumpkin out of Pallet wood 2024, Juli-
Anonim
Image
Image

Hallo iedereen! Gelukkig Holloween!! We hebben een pompoenlantaarn gebouwd die muziek zal spelen en snoepjes zal spugen als iemand eraan komt.

Stap 1: Dingen die in dit project worden gebruikt

Dingen die in dit project worden gebruikt
Dingen die in dit project worden gebruikt
Dingen die in dit project worden gebruikt
Dingen die in dit project worden gebruikt

Hardware onderdelen

  • Arduino UNO / Seeeduino V4.2
  • Basisschild V2
  • Grove - PIR Bewegingssensor
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Waterdicht - 60 LED/m - 1m
  • EMax 12g ES08MD hooggevoelige servo

Software-apps en online services

Arduino IDE

Stap 2: Verhaal

Verhaal
Verhaal
Verhaal
Verhaal
Verhaal
Verhaal

Halloween komt eraan, pompoenlantaarns zijn essentieel. We gebruiken Seeeduino en PIR Motion Senser bouwde een pompoenlantaarn, als iemand ernaartoe komt, zal hij muziek spelen en snoepjes spugen.

Mechanische structuur:

**Stap 1: **Koop wat snoep en een pompoen, graaf een gat achter de pompoen zodat we Seeeduino erin kunnen leggen.

**Stap 2: **Snijd een doos zoals deze en bevestig deze aan de mond van de pompoen.

**Setp 3: **Monteer een arm aan de servomotor. Om een servomotor in de pompoen te bevestigen, gebruiken we een blikje als houder.

**Stap 4: **Zorg ervoor dat wanneer de arm van de servomotor omhoog komt, de snoepjes in de doos uit de mond van de pompoen worden gespuwd.

Stap 3: Hardwareverbinding

**Stap 1: **Maak een map met de naam MP3 op een stuk SD-kaart, kopieer er een mp3-bestand naar, noem het 0001.mp3. Sluit een luidspreker aan op MP3 Grove's via een 3,5 mm-poort en sluit MP3 Grove aan op poort D2 op Base Shield.

**Stap 2: **Sluit de PIR Motion Sensor Grove aan op de D4-poort van Base Shield en sluit de NeoPixel-strip aan op de D5-poort van Base Shield.

**Stap 3: **Sluit Servo Grove aan op digitale pin 9 van Base Shield, dus het kan zijn dat we de DuPont-lijnen moeten gebruiken.

**Stap 4: **Steek Base Shield aan op Seeeduino.

**Stap 5: **Om het programma naar Seeeduino te downloaden, gebruiken we een USB-kabel om verbinding te maken met de computer. Na het downloaden kunnen we alleen een stroomkabel in de pompoen gebruiken.

Stap 4: Softwareprogrammering

**Stap 1: **Bibliotheken installeren

Voor een beter effect gebruiken we een besturingssysteem genaamd FreeRTOS, het kan hier worden gedownload.

Bovendien heeft dit project de volgende bibliotheken nodig, download en installeer ze:

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

Of u kunt eenvoudig MP3.h in de projectmap opnemen om MP3 Grove te gebruiken.

**Stap 2: **Bouw en upload het programma

*OPMERKING: Marco MAX_BRIGHTNESS regelt de maximale helderheid van NeoPixel, verminder de helderheid ervan om het stroomverbruik te verminderen.*

Het kan moeilijk zijn om het programma te begrijpen als je het besturingssysteem niet eerder op Seeeduino hebt gebruikt, het volgende artikel maakt het eenvoudig.

In de setup()-methode hebben we Serial, MP3 Grove en Servo Motor normaal geïnitialiseerd en een variabele gemaakt die we semafoor noemen, je kunt het beschouwen als een vlagvariabele die vroeger aangaf of iemand komt of niet.

vSemaphoreCreateBinary(xPIRBinarySemaphore);

Vervolgens hebben we 3 taken gemaakt, ze kunnen samen worden uitgevoerd. Maar de prioriteiten van toen zijn misschien niet hetzelfde.

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

Nadat is gecontroleerd of de semafoor en taken correct zijn geïnitialiseerd, start de vTaskSetartScheduler()-methode de volledige FreeRTOS.

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

{ voor (;;); } vTaskStartScheduler();

De loop()-methode nerver die wordt gebruikt in FreeRTOS. Nu is de rest eenvoudig: vFadingLEDsTask-taak vervaagt de variabele kleur LED en vScanPIRTask-taak scant de PIR Motion Sensor-pin de hele tijd. Wanneer de PIR-bewegingssensor detecteert dat er iemand aankomt, wordt de vlag ingesteld en wordt de vHandlePIRTask-taak gestart. Omdat de prioriteit van vHandlePIRTask-taak 2 is, worden de andere twee resterende taken opgeschort wanneer deze wordt uitgevoerd.

De volgende oproepen worden gebruikt om een vlag in te stellen of te resetten.

xSemaphoreGive(xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, poortMAX_DELAY);

Stap 5: Bediening

Plaats de luidspreker, Seeeduino en Groves in de pompoenlantaarn en zet hem aan. Nu maar afwachten of er iemand komt, Trick or Treat:-).

Bekijk de video door op Halloween-pompoenlicht te klikken. (https://www.youtube.com/embed/CFjuWXOIUN4)

Aanbevolen: