Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Hej allihopa! Happy Holloween !! Vi byggde en pumpa lykta som kommer att spela musik och spotta godis när någon kommer fram till det.
Steg 1: Saker som används i detta projekt
Hårdvarukomponenter
- Arduino UNO / Seeeduino V4.2
- Bassköld V2
- Grove - PIR -rörelsesensor
- Grove - MP3 v2.0
- Grove - WS2813 RGB LED Strip Vattentät - 60 LED/m - 1m
- EMax 12g ES08MD högkänslig servo
Programvaruappar och onlinetjänster
Arduino IDE
Steg 2: Berättelse
Halloween kommer, pumpa lyktor är viktiga. Vi använder Seeeduino och PIR Motion Senser byggde en pumpa lykta, när någon kommer fram till den kommer den att spela musik och spotta godis.
Mekanisk struktur
** Steg 1: ** Köp lite godis och en pumpa, gräva ett hål bakom pumpan så att vi kan lägga Seeeduino till den.
** Steg 2: ** Skär en låda så här och fixa den till munnen på pumpan.
** Inställning 3: ** Montera en arm på servomotorn. För att fixa en servomotor inuti pumpan använder vi en burk som hållare.
** Steg 4: ** Se till att när servomotorarmen dyker upp kommer godis i lådan att spottas ut ur pumpans mun.
Steg 3: Maskinvaruanslutning
** Steg 1: ** Skapa en mapp med namnet MP3 på ett SD -kort, kopiera en mp3 -fil till den, namnge den 0001.mp3. Anslut en högtalare till MP3 Groves via 3,5 mm -port och anslut MP3 Grove till port D2 på basskölden.
** Steg 2: ** Anslut PIR Motion Sensor Grove till Base Shields D4 -port och anslut NeoPixel -remsan till Base Shields D5 -port.
** Steg 3: ** Anslut Servo Grove till Base Shields digitala stift 9, så vi kan behöva använda DuPont -linjerna.
** Steg 4: ** anslut Base Shield till Seeeduino.
** Steg 5: ** För att ladda ner programmet till Seeeduino använder vi en USB -kabel för att ansluta till datorn. Efter nedladdning kan vi bara använda en strömkabel inuti pumpa.
Steg 4: Programvaruprogrammering
** Steg 1: ** Installera bibliotek
För bättre effekt använder vi ett operativsystem som heter FreeRTOS, det kan laddas ner härifrån.
Dessutom behöver detta projekt följande bibliotek, ladda ner och installera dem:
- Grove - MP3 v2.0
- Adafruit NeoPixel
- Adafruit TicoServo
Eller så kan du helt enkelt inkludera MP3.h i projektmappen för att använda MP3 Grove.
** Steg 2: ** Bygg och ladda upp programmet
*ANMÄRKNING: Marco MAX_BRIGHTNESS styr den maximala ljusstyrkan för NeoPixel, minska ljusstyrkan för att minska strömförbrukningen.*
Det kan vara svårt att förstå programmet om du inte använde operativsystemet på Seeeduino tidigare, följande artikel gör det enkelt.
I setup () -metoden initierade vi normalt Serial, MP3 Grove och Servomotor normalt och skapade en variabel som vi kallar semafor, du kan betrakta det som en flaggvariabel som brukade indikera om det är någon som kommer eller inte.
vSemaphoreCreateBinary (xPIRBinarySemaphore);
Sedan skapade vi 3 uppgifter, de kan köras tillsammans. Men prioriteringarna för då kanske inte är desamma.
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);
Efter att ha kontrollerat semafor och uppgifter initialiserats korrekt startar metoden vTaskSetartScheduler () hela FreeRTOS.
om (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)
{ för (;;); } vTaskStartScheduler ();
Loop () metod nerver som används i FreeRTOS. Nu är resten enkelt, vFadingLEDsTask task fading Variable Color LED och vScanPIRTask task scan PIR Motion Sensor 'pin hela tiden. När PIR -rörelsessensorn upptäcker att någon kommer, sätter den flaggan och sedan startar uppgiften vHandlePIRTask. Eftersom prioriteten för vHandlePIRTask -uppgiften är 2, avbryts andra två återstående uppgifter när den körs.
Följande samtal används för att ställa in eller återställa en flagga.
xSemaphoreGive (xPIRBinarySemaphore);
xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);
Steg 5: Drift
Sätt högtalaren, Seeeduino och Groves inuti pumpan lyktan och slå på den. Nu kan du vänta någon kommer till det, Trick or Treat:-).
Kontrollera videon genom att klicka på Halloween -pumpaljus. (https://www.youtube.com/embed/CFjuWXOIUN4)