Mục lục:

Bánh sinh nhật Arduino: 4 bước
Bánh sinh nhật Arduino: 4 bước

Video: Bánh sinh nhật Arduino: 4 bước

Video: Bánh sinh nhật Arduino: 4 bước
Video: Đồ án tốt nghiệp BKĐN | Cánh Tay Robot 4 Bậc Tự do phân loại sản phẩm theo màu sắc | Robot arm 4 dof 2024, Tháng bảy
Anonim

Trong hướng dẫn này, tôi sẽ thực hiện một dự án arduino rất đơn giản và cơ bản: một chiếc bánh sinh nhật!

Bánh sinh nhật được hiển thị trên tấm chắn màn hình UTFT trên arduino và một loa phát nhạc "Chúc mừng sinh nhật".

Khi bạn thổi vào micrô, nến sẽ tắt.

Bước 1: Vật liệu

Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu

Đối với dự án đơn giản này, bạn sẽ cần:

- một arduino MEGA

- loa hoặc còi

- một mô-đun micrô

- một tấm chắn arduino màn hình UTFT

Tôi quyết định sử dụng bo mạch arduino MEGA cho dự án này vì hai lý do: nó có nhiều bộ nhớ và có rất nhiều chân cắm.

Bạn không thể sử dụng arduino UNO cho dự án này, vì khi màn hình UTFT được cắm trên đó, tất cả các chân đều bị ẩn (không còn khả dụng cho micrô và loa) và nó không có đủ bộ nhớ (thư viện UTFT là rất lớn).

Bước 2: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây

Loa cắm vào chân D40 và GND của arduino.

Micrô cắm trên các chân GND ("G"), 5V ("+") và A10 ("A0").

Màn hình UTFT cắm giống như một tấm chắn thông thường.

Tấm chắn màn hình UTFT không hoàn toàn tương thích với arduino MEGA: đầu cắm USB của bo mạch arduino quá lớn

Để khắc phục sự cố này, tôi đã cắm màn hình UTFT trên một tấm chắn arduino khác (có chân dài hơn), sau đó tôi cắm cả hai trên arduino.

Bước 3: Hiệu chỉnh Micrô

Hiệu chỉnh Micrô
Hiệu chỉnh Micrô
Hiệu chỉnh Micrô
Hiệu chỉnh Micrô

Để hiệu chỉnh micrô, bạn sẽ cần một tuốc nơ vít và máy tính của mình.

Đầu tiên, tải đoạn mã sau lên arduino của bạn:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); chậm trễ (100); }

Sau đó đến màn hình nối tiếp và hiệu chỉnh micrô bằng cách vặn chiết áp với tuốc nơ vít khi không có âm thanh, giá trị phải xấp xỉ 30 ~ 40.

Khi bạn thổi vào micrô, giá trị phải cao hơn 100.

Đảm bảo giá trị nhỏ hơn 100 khi bạn nói (thậm chí lớn).

Bước 4: Mã

Đây là mã của dự án.

Nó hiển thị một chiếc bánh sinh nhật có nến trên UTFT và phát "Chúc mừng sinh nhật" với người nói. Bánh được làm hình chữ nhật.

Chương trình này yêu cầu thư viện UTFT.

#bao gồm

extern uint8_t BigFont ; // thay đổi các giá trị này theo mô hình màn hình UTFT myGLCD (ITDB28, A5, A4, A3, A2) của bạn; int giai điệu = {196, 196, 220, 196, 262, 247, 196, 196, 220, 196, 294, 262, 196, 196, 392, 330, 262, 247, 220, 349, 349, 330, 262, 294, 262}; int noteDurations = {8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 3, 8, 8, 4, 4, 4, 2}; int val = 0; void setup () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // nền xanh myGLCD.setColor (200, 125, 50); // bánh nâu myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // đóng băng màu trắng myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // dòng đỏ myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // dòng màu vàng myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // nến hồng myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // ngọn lửa của ngọn nến myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // thông báo chúc mừng sinh nhật myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // tắt nến myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // và hiển thị thông báo "chúc mừng" myGLCD.print ("CONG NGHE !!!", CENTER, 10); trì hoãn (10000); myGLCD.clrScr (); // xóa màn hình sau 10s}}

Đề xuất: