Sisukord:

Hirmutav kõrvitsa kommimasin Halloweeniks: 5 sammu
Hirmutav kõrvitsa kommimasin Halloweeniks: 5 sammu

Video: Hirmutav kõrvitsa kommimasin Halloweeniks: 5 sammu

Video: Hirmutav kõrvitsa kommimasin Halloweeniks: 5 sammu
Video: Тыква на Хэллоуин 2024, Juuli
Anonim
Image
Image

Tere kõigile! Palju õnne Holloween !! Ehitasime kõrvitsalaterna, mis mängib muusikat ja sülitab komme, kui keegi selle juurde tuleb.

Samm: selles projektis kasutatud asjad

Selles projektis kasutatud asjad
Selles projektis kasutatud asjad
Selles projektis kasutatud asjad
Selles projektis kasutatud asjad

Riistvara komponendid

  • Arduino UNO / Seeeduino V4.2
  • Aluskilp V2
  • Grove - PIR -liikumisandur
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED -riba Veekindel - 60 LED/m - 1 m
  • EMax 12g ES08MD ülitundlik servo

Tarkvararakendused ja võrguteenused

Arduino IDE

2. samm: lugu

Lugu
Lugu
Lugu
Lugu
Lugu
Lugu

Halloween on tulemas, kõrvitsalaternad on hädavajalikud. Me kasutame Seeeduinot ja PIR -liikumisandur ehitas kõrvitsalaterna, kui keegi selle juurde tuleb, mängib ta muusikat ja sülitab komme.

Mehaaniline struktuur

** 1. samm: ** Ostke kommid ja kõrvits, kaevake kõrvitsa taha auk, et saaksime Seeeduino sinna panna.

** 2. samm: ** Lõigake selline kast ja kinnitage see kõrvitsa suu külge.

** Seadistus 3: ** Paigaldage õlg servomootori külge. Servomootori kinnitamiseks kõrvitsa sees kasutame hoidikuna purki.

** 4. samm: ** Veenduge, et servomootori käe üleskeeramisel sülitatakse karbis olevad kommid kõrvitsa suust välja.

Samm: riistvaraühendus

** 1. samm: ** Tehke SD -kaardi tükiks kaust nimega MP3, kopeerige sinna mp3 -fail ja pange sellele 0001.mp3. Ühendage kõlar MP3 Grove'i 3,5 mm pordi kaudu ja ühendage MP3 Grove Base Shieldi portiga D2.

** 2. etapp: ** Ühendage PIR -liikumisanduri salv Base Shieldi D4 -pordiga ja NeoPixel -riba Base Shieldi D5 -pordiga.

** Samm 3: ** Ühendage Servo Grove Base Shieldi digitaalse tihvtiga 9, nii et võib -olla peame kasutama DuPont -liine.

** 4. samm: ** ühendage Base Shield Seeeduinoga.

** Samm 5: ** Programmi Seeeduino allalaadimiseks kasutame arvutiga ühendamiseks USB -kaablit. Pärast allalaadimist saame toitekaablit kasutada ainult kõrvitsa sees.

4. samm: tarkvara programmeerimine

** 1. samm: ** installige teegid

Parema efekti saavutamiseks kasutame operatsioonisüsteemi nimega FreeRTOS, selle saab alla laadida siit.

Lisaks vajab see projekt järgmisi teeke, laadige need alla ja installige:

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

Või võite lihtsalt lisada MP3 kausta MP3.h projekti kausta.

** 2. samm: ** Koostage ja laadige programm üles

*MÄRKUS: Marco MAX_BRIGHTNESS reguleerib NeoPixeli maksimaalset heledust, vähendab selle heledust, et vähendada energiatarvet.*

Programmist võib olla raske aru saada, kui te pole varem Seeeduino operatsioonisüsteemi kasutanud, teeb järgmine artikkel selle lihtsaks.

Setup () meetodil lähtestasime tavaliselt Serial, MP3 Grove ja Servo Motor ning lõime muutuja, mida nimetame semaforiks. Seda saab pidada lipumuutujaks, mis näitas, kas keegi tuleb või mitte.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Seejärel lõime 3 ülesannet, need saavad koos joosta. Kuid tolle aja prioriteedid ei pruugi olla samad.

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

Pärast semafoori ja ülesannete õige lähtestamise kontrollimist käivitab vTaskSetartScheduler () meetod kogu FreeRTOS -i.

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

{jaoks (;;); } vTaskStartScheduler ();

FreeRTOS -is kasutatav loop () -metoodika. Nüüd on kõik muu lihtne, vFadingLEDsTask ülesannete tuhmumine Variable Color LED ja vScanPIRTask task scan PIR Motion Sensor 'pin kogu aeg. Kui PIR -liikumisandur tuvastab, et keegi on tulemas, määras see lipu, seejärel käivitatakse ülesanne vHandlePIRTask. Kuna vHandlePIRTask ülesande prioriteet on 2, peatatakse selle ülejäänud kaks ülesannet töötamise ajal.

Lipu määramiseks või lähtestamiseks kasutatakse järgmisi kõnesid.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Samm: toiming

Pange kõlar, Seeeduino ja Groves kõrvitsalaterna sisse ja lülitage see sisse. Nüüd võite oodata, kuni keegi selle juurde tuleb, trikk või maius:-).

Vaadake videot, klõpsates Halloweeni kõrvitsavalgusel. (https://www.youtube.com/embed/CFjuWXOIUN4)

Soovitan: