Mục lục:
Video: Piano Arduino: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
"Piano" này có thể chơi một quãng tám của một cây đàn piano thực sự. Việc nhấn các nút sẽ đại diện cho việc nhấn một phím trên đàn piano. Âm thanh sẽ được chuyển tiếp qua loa Piezo.
Bước 1: Vật liệu
1. Arduino Uno
2. dây USB
3. 3 breadboards
4. 8 nút bấm
5. 8 điện trở 100 Ohm
6. Loa "Piezo"
7. Nhiều dây đực (Khoảng 20)
8. Sắt hàn
Bước 2: Xây dựng thiết lập
Xây dựng 8 nút với mỗi nút đi vào 8 chân khác nhau trong Arduino, thêm điện trở vào mỗi nút và kết nối chúng với đất (sử dụng dây Nam).
Kết nối loa với chân Arduino được chỉ định và đầu còn lại với mặt đất. Bạn sẽ phải hàn dây vào loa để nó không bị rơi ra. Đảm bảo hai dây được hàn vào loa không chạm vào nhau.
Bước 3: Xây dựng mã
#define NOTE_B0 31 # define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 NOTE_B2 104 #define NOTE_A2 110 #define NOTE 117 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_B3 247 NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 4405 #define NOTE4 49 NOTE_A4 4405 #NS efine NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 NOTE 9476 NOTE_ASfine NOTE 9 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #177 #define NOTE_AS6 1865 #177define NOTE 22CS xác định NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_Ca 4699 #define NOTE_DS8 4978
Các "#defines" này dùng để cho người nói biết tần số nào tạo ra nốt nào
const int C = 2; const int D = 3; const int E = 4; const int F = 5; const int G = 6; const int A = 7; const int B = 8; const int C2 = 9; const int piezoPin = 10; int cState = 0; int dState = 0; int eState = 0; int fState = 0; int gState = 0; int aState = 0; int bState = 0; int c2State = 0;
Chỉ định các chân Arduino cho các nút. "cState, dState, eState, v.v.;" là các biến lưu xem nút có được nhấn hay không. Số 0 có nghĩa là nó không được nhấn, số 1 có nghĩa là nó được nhấn.
void setup () {// đặt mã thiết lập của bạn ở đây, để chạy một lần: pinMode (10, OUTPUT); Serial.begin (9600); }
void loop () {// đặt mã chính của bạn ở đây, để chạy lặp lại: cState = digitalRead (C); dState = digitalRead (D); eState = digitalRead (E); fState = digitalRead (F); gState = digitalRead (G); aState = digitalRead (A); bState = digitalRead (B); c2State = digitalRead (C2);
Trạng thái của nút (nếu nó được nhấn hoặc không) được lưu trong "cState, dState, eState, v.v.;"
Số 0 có nghĩa là nó không được nhấn, số 1 có nghĩa là nó được nhấn.
if (cState == 1) {tone (piezoPin, 131); } else {noTone (piezoPin);} if (dState == 1) {tone (piezoPin, 147); } else {noTone (piezoPin);} if (eState == 1) {tone (piezoPin, 165); } else {noTone (piezoPin);} if (fState == 1) {tone (piezoPin, 175); } else {noTone (piezoPin);} if (gState == 1) {tone (piezoPin, 196); } else {noTone (piezoPin);} if (aState == 1) {tone (piezoPin, 220); } else {noTone (piezoPin);} if (bState == 1) {tone (piezoPin, 247); } else {noTone (piezoPin);} if (c2State == 1) {tone (piezoPin, 262); } else {noTone (piezoPin);}}
Nếu một nút được nhấn, nó sẽ thông báo cho servo phát tần số xác nhận (lưu ý). Chức năng
{noTone (piezoPin);} cho họ biết rằng nếu nút không được nhấn sẽ không phát gì cả. Do đó, bất cứ khi nào nút được nhấn, nó sẽ phát nốt được chỉ định.
Đề xuất:
Arduino Piezo Buzzer Piano: 5 bước
Arduino Piezo Buzzer Piano: Ở đây chúng tôi sẽ tạo ra một cây đàn piano Arduino sử dụng một bộ rung piezo làm loa. Dự án này có thể dễ dàng mở rộng và có thể hoạt động với nhiều ghi chú hơn hoặc ít hơn, tùy thuộc vào bạn! Chúng tôi sẽ xây dựng nó chỉ với bốn nút / phím cho đơn giản. Điều này thật thú vị và dễ dàng
Piano Arduino đơn giản: 8 bước
Đàn piano Arduino đơn giản: Hôm nay chúng ta sẽ tạo một cây đàn piano Arduino một quãng tám đơn giản, có thể là một điểm khởi đầu tuyệt vời cho các dự án khác. Dự án này sẽ giới thiệu các thành phần cơ bản và lập trình Arduino ở cấp trung học. Trong khi mã được tạo sẵn các cá nhân c
Arduino Piano với thủ công và 7 bài hát cài sẵn: 7 bước
Arduino Piano Với Thủ công và 7 Bài hát Cài sẵn: Giao diện Bàn phím Arduino Piano với LCD có 2 chế độ. Chế độ Thủ công & Chế độ cài đặt trước. Tôi đã sử dụng 7 Nút nhấn cho một cây đàn piano 7 phím đơn giản và 1 nút cho Chế độ Cài đặt để chuyển sang 7 bài hát đặt trước .. Bài hát ở chế độ cài đặt sẵn: Nhấp vào nút chế độ cài đặt fi
Âm thanh piano bằng Arduino trên TinkerCad: 4 bước
Âm thanh piano bằng Arduino trên TinkerCad: Trong hướng dẫn này, bạn sẽ học cách sử dụng bộ rung (hoặc loa piezo) với Arduino. Buzzers có thể được tìm thấy trong các thiết bị báo thức, máy tính, bộ hẹn giờ và xác nhận thông tin nhập của người dùng như nhấp chuột hoặc nhấn phím. Bạn cũng sẽ học cách sử dụng âm báo () an
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy