Mục lục:

Máy làm kẹo bí ngô đáng sợ cho Halloween: 5 bước
Máy làm kẹo bí ngô đáng sợ cho Halloween: 5 bước

Video: Máy làm kẹo bí ngô đáng sợ cho Halloween: 5 bước

Video: Máy làm kẹo bí ngô đáng sợ cho Halloween: 5 bước
Video: Bí ngô đáng sợ | Video mầm non | Kids Tv Vietnam | Phim hoạt hình giáo dục | Nhạc halloween 2024, Tháng mười một
Anonim
Image
Image

Chào mọi người! Happy Holloween !! Chúng tôi đã chế tạo một chiếc đèn lồng bí ngô sẽ phát nhạc và khạc kẹo khi ai đó đến với nó.

Bước 1: Những thứ được sử dụng trong dự án này

Những thứ được sử dụng trong dự án này
Những thứ được sử dụng trong dự án này
Những thứ được sử dụng trong dự án này
Những thứ được sử dụng trong dự án này

Các thành phần phần cứng

  • Arduino UNO / Seeeduino V4.2
  • Cơ sở Shield V2
  • Grove - Cảm biến chuyển động PIR
  • Grove - MP3 v2.0
  • Grove - WS2813 RGB LED Strip chống thấm nước - 60 LED / m - 1m
  • EMax 12g ES08MD servo nhạy cảm cao

Ứng dụng phần mềm và dịch vụ trực tuyến

Arduino IDE

Bước 2: Câu chuyện

Câu chuyện
Câu chuyện
Câu chuyện
Câu chuyện
Câu chuyện
Câu chuyện

Halloween sắp đến, những chiếc đèn lồng bí ngô là rất cần thiết. Chúng tôi sử dụng Seeeduino và Bộ cảm biến chuyển động PIR đã chế tạo một chiếc đèn lồng bí ngô, khi ai đó đến với nó, nó sẽ phát nhạc và nhổ kẹo.

Kết cấu cơ khí

** Bước 1: ** Mua một ít kẹo và một quả bí ngô, đào một cái lỗ phía sau quả bí ngô để chúng ta có thể đặt Seeeduino vào đó.

** Bước 2: ** Cắt một chiếc hộp như thế này, và cố định nó vào miệng của quả bí ngô.

** Bộ 3: ** Gắn một cánh tay vào động cơ servo. Để cố định động cơ servo bên trong quả bí ngô, chúng tôi sử dụng một cái lon làm giá đỡ.

** Bước 4: ** Đảm bảo khi tay động cơ servo quay lên, kẹo trong hộp sẽ được phun ra từ miệng quả bí ngô.

Bước 3: Kết nối phần cứng

** Bước 1: ** Tạo một thư mục có tên là MP3 trong một miếng thẻ SD, sao chép một tệp mp3 vào đó, đặt tên là 0001.mp3. Kết nối loa với MP3 Grove's qua cổng 3,5mm và kết nối MP3 Grove với cổng D2 trên Base Shield.

** Bước 2: ** Kết nối Cảm biến chuyển động PIR Grove với cổng D4 của Base Shield và kết nối dải NeoPixel với cổng D5 của Base Shield.

** Bước 3: ** Kết nối Servo Grove với chân số 9 của Base Shield, vì vậy chúng tôi có thể cần sử dụng các đường DuPont.

** Bước 4: ** cắm Base Shield vào Seeeduino.

** Bước 5: ** Để tải chương trình xuống Seeeduino, chúng ta sử dụng cáp USB để kết nối với máy tính. Sau khi tải xuống, chúng ta chỉ có thể sử dụng cáp nguồn bên trong quả bí ngô.

Bước 4: Lập trình phần mềm

** Bước 1: ** Cài đặt thư viện

Để có hiệu quả tốt hơn, chúng tôi sử dụng hệ điều hành có tên FreeRTOS, có thể tải xuống từ đây.

Bên cạnh đó, dự án này cần các thư viện sau, hãy tải xuống và cài đặt chúng:

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

Hoặc bạn có thể chỉ cần đưa MP3.h vào thư mục dự án để sử dụng MP3 Grove.

** Bước 2: ** Xây dựng và tải lên chương trình

* LƯU Ý: Marco MAX_BRIGHTNESS kiểm soát độ sáng tối đa của NeoPixel, giảm độ sáng của nó để giảm tiêu thụ điện năng. *

Có thể khó hiểu chương trình nếu bạn không sử dụng hệ điều hành trên Seeeduino trước đây, bài viết sau đây sẽ giúp bạn thực hiện điều đó một cách đơn giản.

Trong phương thức setup (), chúng tôi khởi tạo Serial, MP3 Grove và Servo Motor một cách bình thường, và tạo một biến thể mà chúng tôi gọi là semaphore, bạn có thể coi nó như một biến cờ dùng để cho biết liệu có ai đó đến hay không.

vSemaphoreCreateBinary (xPIRBinarySemaphore);

Sau đó, chúng tôi tạo ra 3 nhiệm vụ, chúng có thể chạy cùng nhau. Nhưng các ưu tiên sau đó có thể không giống nhau.

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

Sau khi kiểm tra semaphore và các tác vụ được khởi tạo chính xác, phương thức vTaskSetartScheduler () khởi động toàn bộ FreeRTOS.

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

{ vì (;;); } vTaskStartScheduler ();

Trình tắt phương thức loop () được sử dụng trong FreeRTOS. Bây giờ phần còn lại là đơn giản, nhiệm vụ vFadingLEDsTask mờ dần Đèn LED màu có thể thay đổi và vScanPIRTask quét nhiệm vụ PIR chân của Cảm biến chuyển động PIR mọi lúc. Khi Bộ cảm biến chuyển động PIR phát hiện có người đến, nó sẽ đặt cờ, sau đó tác vụ vHandlePIRTask bắt đầu chạy. Vì mức độ ưu tiên của tác vụ vHandlePIRTask là 2 nên khi nó đang chạy, hai tác vụ còn lại khác sẽ bị tạm dừng.

Các lệnh gọi sau được sử dụng để đặt hoặc đặt lại cờ.

xSemaphoreGive (xPIRBinarySemaphore);

xSemaphoreTake (xPIRBinarySemaphore, portMAX_DELAY);

Bước 5: Hoạt động

Đặt loa, Seeeduino và Groves bên trong lồng đèn bí ngô và bật nguồn. Bây giờ bạn có thể đợi ai đó đến với nó, Trick or Treat:-).

Kiểm tra video bằng cách nhấp vào đèn bí ngô Halloween. (https://www.youtube.com/embed/CFjuWXOIUN4)

Đề xuất: