Isi kandungan:

Mesin Gula Labu Menakutkan untuk Halloween: 5 Langkah
Mesin Gula Labu Menakutkan untuk Halloween: 5 Langkah

Video: Mesin Gula Labu Menakutkan untuk Halloween: 5 Langkah

Video: Mesin Gula Labu Menakutkan untuk Halloween: 5 Langkah
Video: prank Halloween‼prank mami ada setan do rumah tiktok kak vilmei terbaru 2024, November
Anonim
Image
Image

Hello semua! Selamat Holloween !! Kami membina tanglung labu yang akan memainkan muzik dan meludahkan gula-gula ketika ada yang menghampirinya.

Langkah 1: Perkara Yang Digunakan dalam Projek Ini

Perkara Yang Digunakan dalam Projek Ini
Perkara Yang Digunakan dalam Projek Ini
Perkara Yang Digunakan dalam Projek Ini
Perkara Yang Digunakan dalam Projek Ini

Komponen perkakasan

  • Arduino UNO / Seeeduino V4.2
  • Perisai Pangkalan V2
  • Sensor Gerakan Grove - PIR
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Waterproof - 60 LED / m - 1m
  • Servo Sensitif EMax 12g ES08MD tinggi

Aplikasi perisian dan perkhidmatan dalam talian

Arduino IDE

Langkah 2: Cerita

Cerita
Cerita
Cerita
Cerita
Cerita
Cerita

Halloween akan tiba, tanglung labu sangat penting. Kami menggunakan Seeeduino dan PIR Motion Senser yang membina tanglung labu, ketika seseorang menghampirinya, ia akan memainkan muzik dan meludahkan gula-gula.

Struktur mekanikal

** Langkah 1: ** Beli beberapa gula-gula dan labu, gali lubang di belakang labu sehingga kita dapat meletakkan Seeeduino ke dalamnya.

** Langkah 2: ** Potong kotak seperti ini, dan pasangkan ke mulut labu.

** Setp 3: ** Pasangkan lengan ke motor servo. Untuk memasang motor servo di dalam labu, kami menggunakan kaleng sebagai pemegang.

** Langkah 4: ** Pastikan ketika lengan motor servo muncul, gula-gula di dalam kotak akan diludahkan dari mulut labu.

Langkah 3: Sambungan Perkakasan

** Langkah 1: ** Buat folder bernama MP3 dalam sekeping kad SD, salin fail mp3 ke dalamnya, beri nama 0001.mp3. Sambungkan pembesar suara ke MP3 Grove melalui port 3.5mm, dan sambungkan MP3 Grove ke port D2 di Base Shield.

** Langkah 2: ** Sambungkan PIR Motion Sensor Grove ke port D4 Base Shield, dan sambungkan jalur NeoPixel ke port D5 Base Shield.

** Langkah 3: ** Sambungkan Servo Grove ke pin digital Base Shield, jadi kami mungkin perlu menggunakan garis DuPont.

** Langkah 4: ** pasang Base Shield ke Seeeduino.

** Langkah 5: ** Untuk memuat turun program ke Seeeduino, kami menggunakan kabel USB untuk berhubung dengan komputer. Setelah dimuat turun, kami hanya dapat menggunakan kabel kuasa di dalam labu.

Langkah 4: Pengaturcaraan Perisian

** Langkah 1: ** Pasang Perpustakaan

Untuk kesan yang lebih baik, kami menggunakan sistem operasi yang disebut FreeRTOS, ia boleh dimuat turun dari sini.

Selain itu, projek ini memerlukan perpustakaan berikut, memuat turun dan memasangnya:

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

Atau anda boleh memasukkan MP3.h dalam folder projek untuk menggunakan MP3 Grove.

** Langkah 2: ** Bina dan muat naik program

* PEMBERITAHUAN: Marco MAX_BRIGHTNESS mengawal kecerahan maksimum NeoPixel, mengurangkan kecerahannya untuk mengurangkan penggunaan tenaga. *

Mungkin sukar untuk memahami program ini jika anda tidak menggunakan sistem operasi di Seeeduino sebelumnya, artikel berikut akan membuatnya dengan mudah.

Dalam kaedah setup (), kami menginisialisasi Serial, Grove MP3 dan Servo Motor secara normal, dan membuat variabel yang kami sebut semaphore, anda dapat menganggapnya sebagai pemboleh ubah bendera yang digunakan untuk menunjukkan apakah seseorang datang atau tidak.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Kemudian kami membuat 3 tugas, mereka dapat berjalan bersama. Tetapi keutamaan ketika itu mungkin tidak sama.

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

Setelah memeriksa semaphore dan tugas diinisialisasi dengan betul, kaedah vTaskSetartScheduler () memulakan keseluruhan FreeRTOS.

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

{untuk (;;); } vTaskStartScheduler ();

Kaedah loop () nerver yang digunakan dalam FreeRTOS. Kini selebihnya mudah, tugas vFadingLEDsTask memudar Variable Color LED dan vScanPIRTask task scan PIR Motion Sensor 'pin sepanjang masa. Apabila PIR Motion Sensor mengesan seseorang datang, ia menetapkan bendera, maka tugas vHandlePIRTask mula berjalan. Kerana keutamaan tugas vHandlePIRTask adalah 2, ketika dijalankan, dua tugas lain yang tersisa akan ditangguhkan.

Panggilan berikut digunakan untuk menetapkan atau menetapkan semula bendera.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Langkah 5: Operasi

Letakkan pembesar suara, Seeeduino dan Groves di dalam tanglung labu, dan hidupkan. Sekarang anda boleh menunggu seseorang datang, Trik atau Rawat:-).

Lihat video dengan mengklik lampu labu Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Disyorkan: