INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hallo almal! Gelukkige Holloween !! Ons het 'n pampoenlantaarn gebou wat musiek sal speel en lekkergoed sal spoeg as iemand daarby uitkom.
Stap 1: Dinge wat in hierdie projek gebruik word
Hardeware komponente
- Arduino UNO / Seeeduino V4.2
- Base Shield V2
- Grove - PIR bewegingsensor
- Grove - MP3 v2.0
- Grove - WS2813 RGB LED Strip Waterproof - 60 LED/m - 1m
- EMax 12g ES08MD hoëgevoelige servo
Sagteware -programme en aanlyndienste
Arduino IDE
Stap 2: Verhaal
Halloween kom, pampoenlanterns is noodsaaklik. Ons gebruik Seeeduino en PIR Motion Senser het 'n pampoenlantaarn gebou, as iemand daarby uitkom, speel dit musiek en snoepgoed.
Meganiese struktuur
** Stap 1: ** Koop lekkergoed en 'n pampoen, grawe 'n gat agter die pampoen sodat ons Seeeduino daarby kan sit.
** Stap 2: ** Sny so 'n boks en maak dit vas aan die mond van die pampoen.
** Stel 3: ** Monteer 'n arm op die servomotor. Om 'n servomotor in die pampoen vas te maak, gebruik ons 'n blikkie as houer.
** Stap 4: ** Maak seker dat wanneer die servomotorarm opdaag, lekkergoed in die boks uit die pampoen se mond gespoeg word.
Stap 3: Hardewareverbinding
** Stap 1: ** Maak 'n gids met die naam MP3 in 'n stuk SD -kaart, kopieer 'n mp3 -lêer daarna, noem dit 0001.mp3. Koppel 'n luidspreker via die 3,5 mm -poort aan MP3 Grove's en koppel MP3 Grove aan by poort D2 op die basisskerm.
** Stap 2: ** Koppel die PIR Motion Sensor Grove aan die D4 -poort van Base Shield en koppel die NeoPixel -strook aan die D5 -poort van Base Shield.
** Stap 3: ** Koppel Servo Grove aan die digitale pen 9 van Base Shield, sodat ons moontlik die DuPont -lyne moet gebruik.
** Stap 4: ** Sluit Base Shield aan op Seeeduino.
** Stap 5: ** Om die program na Seeeduino af te laai, gebruik ons 'n USB -kabel om 'n rekenaar aan te sluit. Na aflaai kan ons slegs 'n kragkabel in die pampoen gebruik.
Stap 4: sagteware programmering
** Stap 1: ** Installeer biblioteke
Vir 'n beter effek, gebruik ons 'n bedryfstelsel genaamd FreeRTOS, dit kan hier afgelaai word.
Boonop benodig hierdie projek die volgende biblioteke, laai dit af en installeer dit:
- Grove - MP3 v2.0
- Adafruit NeoPixel
- Adafruit TicoServo
Of u kan eenvoudig MP3.h in die projektmap insluit om MP3 Grove te gebruik.
** Stap 2: ** Bou en laai die program op
*KENNISGEWING: Marco MAX_BRIGHTNESS beheer die maksimum helderheid van NeoPixel, verminder die helderheid daarvan om die kragverbruik te verminder.*
Dit kan moeilik wees om die program te verstaan as u nie die bedryfstelsel op Seeeduino voorheen gebruik het nie; die volgende artikel sal dit eenvoudig maak.
In die setup () -metode het ons Serial, MP3 Grove en Servo Motor normaalweg geïnitialiseer en 'n veranderlike geskep wat ons semafoor noem; u kan dit beskou as 'n vlagveranderlike wat gebruik het om aan te dui of iemand kom of nie.
vSemaphoreCreateBinary (xPIRBinarySemaphore);
Toe skep ons 3 take, hulle kan saam loop. Maar die prioriteite van dan is moontlik nie dieselfde nie.
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 die semafoor nagegaan is en take korrek geïnisieer is, begin die vTaskSetartScheduler () -metode die hele FreeRTOS.
as (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)
{vir (;;); } vTaskStartScheduler ();
Die lus () metode nerver wat in FreeRTOS gebruik word. Nou is die res eenvoudig: vFadingLEDsTask taak vervaag veranderlike kleur LED en vScanPIRTask taak scan PIR Motion Sensor se pen heeltyd. As PIR -bewegingsensor opspoor dat iemand kom, stel dit die vlag, dan begin die vHandlePIRTask -taak. Omdat die prioriteit van die vHandlePIRTask -taak 2 is, word die ander twee oorblywende take opgeskort as dit aan die gang is.
Die volgende oproepe word gebruik om 'n vlag op te stel of terug te stel.
xSemaphoreGive (xPIRBinarySemaphore);
xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);
Stap 5: Bediening
Plaas die luidspreker Seeeduino en Groves in die pampoenlantaarn en skakel dit aan. Nou kan u wag, iemand kom, Trick or Treat:-).
Kyk na die video deur op Halloween -pampoenlig te klik. (https://www.youtube.com/embed/CFjuWXOIUN4)