Kazalo:

Strašni bučni stroj za sladkarije za noč čarovnic: 5 korakov
Strašni bučni stroj za sladkarije za noč čarovnic: 5 korakov

Video: Strašni bučni stroj za sladkarije za noč čarovnic: 5 korakov

Video: Strašni bučni stroj za sladkarije za noč čarovnic: 5 korakov
Video: Аудиокнига «Чудесный волшебник страны Оз» Л. Фрэнка Баума 2024, Julij
Anonim
Image
Image

Pozdravljeni vsi! Vesela noč čarovnic !! Zgradili smo bučno lučko, ki bo predvajala glasbo in pljuvala sladkarije, ko kdo pride do nje.

1. korak: Stvari, uporabljene v tem projektu

Stvari, uporabljene v tem projektu
Stvari, uporabljene v tem projektu
Stvari, uporabljene v tem projektu
Stvari, uporabljene v tem projektu

Strojne komponente

  • Arduino UNO / Seeeduino V4.2
  • Osnovni ščit V2
  • Grove - PIR senzor gibanja
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED trak Vodotesen - 60 LED/m - 1m
  • EMax 12g ES08MD visoko občutljiv servo

Programske aplikacije in spletne storitve

Arduino IDE

2. korak: Zgodba

Zgodba
Zgodba
Zgodba
Zgodba
Zgodba
Zgodba

Prihaja noč čarovnic, bučne luči so nujne. Uporabljamo Seeeduino in PIR Motion Senser je zgradil bučno luč, ko kdo pride do nje, bo predvajala glasbo in pljuvala bonbone.

Mehanska zgradba

** 1. korak: ** Kupite nekaj sladkarij in bučo, za bučo izkopajte luknjo, da ji lahko damo Seeeduino.

** 2. korak: ** Tako razrežite škatlo in jo pritrdite na usta buče.

** Korak 3: ** Namestite roko na servo motor. Za pritrditev servo motorja v bučo uporabljamo pločevinko kot držalo.

** Korak 4: ** Ko se ročica servomotorja obrne navzgor, bodo bonboni v škatli izpljunjeni iz bučnih ust.

3. korak: Povezava strojne opreme

** 1. korak: ** Naredite mapo z imenom MP3 na kosu kartice SD, vanj kopirajte datoteko mp3, jo poimenujte 0001.mp3. Zvočnik povežite z MP3 Grove -jem prek 3,5 mm vhoda in povežite MP3 Grove z vrati D2 na Base Shieldu.

** 2. korak: ** Priključite Grove senzorja gibanja PIR na vrata D4 Base Shield in trak NeoPixel priključite na vrata D5 Base Shield.

** 3. korak: ** Servo Grove priključite na digitalni pin 9 osnovnega ščita, zato bomo morda morali uporabiti linije DuPont.

** 4. korak: ** priključite Base Shield na Seeeduino.

** 5. korak: ** Za prenos programa v Seeeduino uporabljamo kabel USB za povezavo z računalnikom. Po prenosu lahko uporabimo samo napajalni kabel znotraj buče.

4. korak: Programiranje programske opreme

** 1. korak: ** Namestite knjižnice

Za boljši učinek uporabljamo operacijski sistem FreeRTOS, ki ga lahko prenesete od tu.

Poleg tega ta projekt potrebuje naslednje knjižnice, jih naložite in namestite:

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

Ali pa preprosto uporabite MP3.h v mapi projekta, če želite uporabiti MP3 Grove.

** 2. korak: ** Zgradite in naložite program

*OPOMBA: Marco MAX_BRIGHTNESS nadzoruje največjo svetlost NeoPixela, zmanjša svetlost le -te, da zmanjša porabo energije.*

Morda bo program težko razumeti, če prej niste uporabljali operacijskega sistema na Seeeduinu, naslednji članek bo poenostavil.

Pri metodi setup () smo normalno inicializirali serijski, MP3 Grove in servo motor ter ustvarili spremenljivko, ki jo imenujemo semafor, lahko jo obravnavate kot spremenljivko zastavice, ki je uporabljala za označbo, ali kdo pride ali ne.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Nato smo ustvarili 3 naloge, ki se lahko izvajajo skupaj. Toda prioritete takrat morda niso enake.

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

Po preverjanju, da so semafor in opravila pravilno inicializirana, metoda vTaskSetartScheduler () zažene celoten FreeRTOS.

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

{za (;;); } vTaskStartScheduler ();

Nerver metode loop (), ki se uporablja v FreeRTOS -u. Zdaj je ostalo preprosto, vFadingLEDsTask opravilo bledi spremenljiva barvna LED in vScanPIRTask opravilo skenira nalogo PIR senzor gibanja ves čas. Ko senzor gibanja PIR zazna, da nekdo prihaja, nastavi zastavico, nato pa se začne izvajati opravilo vHandlePIRTask. Ker je prednostna naloga naloge vHandlePIRTask 2, bosta med izvajanjem dve drugi preostali nalogi začasno ustavljeni.

Naslednji klici se uporabljajo za nastavitev ali ponastavitev zastavice.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

5. korak: Delovanje

Zvočnik, Seeeduino in Groves postavite v luč za buče in ga vklopite. Zdaj lahko počakate, da pride kdo, zvijača ali zdravljenje:-).

Videoposnetek si oglejte tako, da kliknete luč za noč čarovnic. (https://www.youtube.com/embed/CFjuWXOIUN4)

Priporočena: