Daftar Isi:

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

Video: Mesin Permen Labu Menakutkan untuk Halloween: 5 Langkah

Video: Mesin Permen Labu Menakutkan untuk Halloween: 5 Langkah
Video: HA?!! BIKIN HANTU BISA LARI" SENDIRI?!!!🎃🕷👻 2024, November
Anonim
Image
Image

Halo semua! Selamat Holloween!! Kami membuat lentera labu yang akan memutar musik dan meludahkan permen ketika seseorang datang ke sana.

Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini

Hal-hal yang Digunakan dalam Proyek Ini
Hal-hal yang Digunakan dalam Proyek Ini
Hal-hal yang Digunakan dalam Proyek Ini
Hal-hal yang Digunakan dalam Proyek Ini

Komponen perangkat keras

  • Arduino UNO / Seeeduino V4.2
  • Perisai Dasar V2
  • Grove - Sensor Gerak PIR
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip Tahan Air - 60 LED/m - 1m
  • EMax 12g ES08MD servo Sensitif tinggi

Aplikasi perangkat lunak dan layanan online

Arduino IDE

Langkah 2: Cerita

Cerita
Cerita
Cerita
Cerita
Cerita
Cerita

Halloween akan datang, lentera labu sangat penting. Kami menggunakan Seeeduino dan PIR Motion Senser membuat lentera labu, ketika seseorang datang ke sana, ia akan memutar musik dan meludahkan permen.

Struktur mekanis

**Langkah 1: **Beli permen dan labu, gali lubang di belakang labu agar kita bisa memasukkan Seeeduino ke dalamnya.

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

**Setp 3: **Pasang lengan ke motor servo. Untuk memperbaiki motor servo di dalam labu, kami menggunakan kaleng sebagai dudukannya.

**Langkah 4: **Pastikan saat lengan motor servo berputar, permen di dalam kotak akan keluar dari mulut labu.

Langkah 3: Koneksi Perangkat Keras

**Langkah 1: **Buat folder bernama MP3 di kartu SD, salin file mp3 ke dalamnya, beri nama 0001.mp3. Hubungkan speaker ke MP3 Grove melalui port 3.5mm, dan sambungkan MP3 Grove ke port D2 di Base Shield.

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

**Langkah 3: **Hubungkan Servo Grove ke pin digital 9 Base Shield, jadi kita mungkin perlu menggunakan jalur DuPont.

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

**Langkah 5: **Untuk mendownload program ke Seeeduino, kami menggunakan kabel USB untuk terhubung dengan komputer. Setelah diunduh, kami hanya dapat menggunakan kabel daya di dalam labu.

Langkah 4: Pemrograman Perangkat Lunak

**Langkah 1: **Instal Perpustakaan

Untuk efek yang lebih baik, kami menggunakan sistem operasi yang disebut FreeRTOS, dapat diunduh dari sini.

Selain itu, proyek ini membutuhkan perpustakaan berikut, unduh dan instal:

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

Atau Anda cukup memasukkan MP3.h di folder proyek untuk menggunakan MP3 Grove.

**Langkah 2: **Buat dan unggah program

*PERHATIKAN: Marco MAX_BRIGHTNESS mengontrol kecerahan maksimal NeoPixel, kurangi kecerahannya untuk mengurangi konsumsi daya.*

Mungkin sulit untuk memahami program ini jika Anda tidak menggunakan sistem operasi di Seeeduino sebelumnya, artikel berikut akan membuatnya sederhana.

Dalam metode setup(), kita menginisialisasi Serial, MP3 Grove dan Servo Motor secara normal, dan membuat variabel yang kita sebut semaphore, Anda dapat menganggapnya sebagai variabel flag yang digunakan untuk menunjukkan apakah seseorang datang atau tidak.

vSemaphoreCreateBinary(xPIRBinarySemaphore);

Kemudian kami membuat 3 tugas, mereka dapat berjalan bersama. Tetapi prioritas saat 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 benar, metode vTaskSetartScheduler() memulai seluruh FreeRTOS.

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

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

Metode loop() yang digunakan di FreeRTOS. Sekarang sisanya sederhana, tugas vFadingLEDsTask memudar LED Warna Variabel dan tugas vScanPIRTask memindai pin Sensor Gerak PIR sepanjang waktu. Ketika Sensor Gerak PIR mendeteksi seseorang datang, itu mengatur bendera, kemudian tugas vHandlePIRTask mulai berjalan. Karena prioritas tugas vHandlePIRTask adalah 2, saat dijalankan, dua tugas lainnya akan ditangguhkan.

Panggilan berikut digunakan untuk mengatur atau mengatur ulang bendera.

xSemaphoreGive(xPIRBinarySemaphore);

xSemaphoreTake(xPIRBinarySemaphore, portMAX_DELAY);

Langkah 5: Operasi

Letakkan speaker, Seeeduino dan Groves di dalam lentera labu, dan nyalakan. Sekarang Anda bisa menunggu seseorang datang, Trick or Treat:-).

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

Direkomendasikan: