Përmbajtje:

Makinë e frikshme karamele kungulli për Halloween: 5 hapa
Makinë e frikshme karamele kungulli për Halloween: 5 hapa

Video: Makinë e frikshme karamele kungulli për Halloween: 5 hapa

Video: Makinë e frikshme karamele kungulli për Halloween: 5 hapa
Video: Ora News - Halloween në Shqipëri, fëmijët shkojnë në shkollë të maskuar 2024, Nëntor
Anonim
Image
Image

Pershendetje te gjitheve! Gëzuar Holloween !! Ne ndërtuam një fener kungulli i cili do të luajë muzikë dhe do të pështyjë karamele kur dikush të vijë tek ai.

Hapi 1: Gjërat e përdorura në këtë projekt

Gjërat e përdorura në këtë projekt
Gjërat e përdorura në këtë projekt
Gjërat e përdorura në këtë projekt
Gjërat e përdorura në këtë projekt

Komponentët e harduerit

  • Arduino UNO / Seeeduino V4.2
  • Mburoja e Bazës V2
  • Grove - Sensori i lëvizjes PIR
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB Rrip LED i papërshkueshëm nga uji - 60 LED/m - 1m
  • Servo EMax 12g ES08MD me ndjeshmëri të lartë

Aplikacionet softuerike dhe shërbimet online

Arduino IDE

Hapi 2: Histori

Histori
Histori
Histori
Histori
Histori
Histori

Halloween po vjen, fenerët e kungujve janë thelbësorë. Ne përdorim Seeeduino dhe PIR Motion Senser ndërtoi një fener kungulli, kur dikush vjen tek ai, ai do të luajë muzikë dhe do të pështyjë karamele.

Struktura mekanike

** Hapi 1: ** Blini disa karamele dhe një kungull, hapni një vrimë prapa kungullit në mënyrë që të vendosim Seeeduino në të.

** Hapi 2: ** Pritini një kuti si kjo dhe fiksojeni atë në gojën e kungullit.

** Hapi 3: ** Montoni një krah në motorin servo. Për të rregulluar një servo motor brenda kungullit, ne përdorim një kanaçe si mbajtëse.

** Hapi 4: ** Sigurohuni që kur krahu servo motor kthehet lart, karamelet në kuti do të spërkaten nga goja e kungullit.

Hapi 3: Lidhja e harduerit

** Hapi 1: ** Bëni një dosje të quajtur MP3 në një copë kartë SD, kopjoni një skedar mp3 në të, emërtojeni atë 0001.mp3. Lidhni një altoparlant me MP3 Grove përmes portit 3.5 mm dhe lidhni MP3 Grove me portën D2 në Base Shield.

** Hapi 2: ** Lidhni PIR Motion Sensor Grove me portën D4 të Base Shield dhe lidhni shiritin NeoPixel me portën D5 të Base Shield.

** Hapi 3: ** Lidhni Servo Grove me pinin dixhital 9 të Base Shield, kështu që mund të na duhet të përdorim linjat DuPont.

** Hapi 4: ** lidheni Base Shield në Seeeduino.

** Hapi 5: ** Për të shkarkuar programin në Seeeduino, ne përdorim një kabllo USB për t'u lidhur me kompjuterin. Pas shkarkimit, ne mund të përdorim vetëm një kabllo të energjisë brenda kungullit.

Hapi 4: Programimi i softuerit

** Hapi 1: ** Instaloni Bibliotekat

Për efekt më të mirë, ne përdorim një sistem operativ të quajtur FreeRTOS, ai mund të shkarkohet nga këtu.

Për më tepër, ky projekt ka nevojë për bibliotekat e mëposhtme, shkarkoni dhe instaloni ato:

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

Ose thjesht mund të përfshini MP3.h në dosjen e projektit për të përdorur MP3 Grove.

** Hapi 2: ** Ndërtoni dhe ngarkoni programin

*SH NOTNIM: Marco MAX_BRIGHTNESS kontrolloni shkëlqimin maksimal të NeoPixel, zvogëloni shkëlqimin e tij për të zvogëluar konsumin e energjisë.*

Mund të jetë e vështirë të kuptosh programin nëse nuk ke përdorur më parë sistemin operativ në Seeeduino, artikulli në vijim do ta bëjë atë thjesht.

Në metodën setup (), ne filluam normalisht Serial, MP3 Grove dhe Servo Motor, dhe krijuam një variabël që ne e quajmë semafor, ju mund ta konsideroni atë si një ndryshore flamuri e cila përdoret për të treguar nëse dikush vjen apo jo.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Pastaj krijuam 3 detyra, ato mund të funksionojnë së bashku. Por përparësitë e asaj kohe mund të mos jenë të njëjta.

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

Pasi të keni kontrolluar semaforin dhe detyrat janë inicializuar saktë, metoda vTaskSetartScheduler () fillon të gjithë FreeRTOS.

nëse (xPIRBinarySemaphore == NULL || s1! = pdPASS || s2! = pdPASS || s3! = pdPASS)

{për (;;); } vTaskStartScheduler ();

Metoda loop () nerver e përdorur në FreeRTOS. Tani pjesa tjetër është e thjeshtë, zbehja e detyrës vFadingLEDsTask LED me ngjyra të ndryshueshme dhe vScanPIRTask skanoni PIN -in e sensorit të lëvizjes gjatë gjithë kohës. Kur PIR Motion Sensor zbulon se dikush po vjen, ai vendos flamurin, atëherë detyra vHandlePIRTask fillon të funksionojë. Për shkak se përparësia e detyrës vHandlePIRTask është 2, kur ajo po funksionon, dy detyra të tjera të mbetura do të pezullohen.

Thirrjet e mëposhtme përdoren për të vendosur ose rivendosur një flamur.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, port MAX_DELAY);

Hapi 5: Funksionimi

Vendoseni altoparlantin, Seeeduino dhe Groves brenda fenerit të kungullit dhe ndizeni. Tani mund të prisni që dikush të vijë tek ai, Trick or Treat:-).

Kontrolloni videon duke klikuar dritën e kungullit të Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Recommended: