Giới thiệu
Trong bài viết này, chúng ta sẽ thực hiện một dự án Mini Piano Arduino . Để thực hiện dự án này, chúng tôi đang sử dụng loa nhỏ để thu được âm thanh đầu ra và mạch Arduino UNO .
Chúng ta có thể chơi các nốt khác nhau bằng cách nhấn các nút bấm. Trong này chỉ có 8 nút bấm nhưng bạn có thể mở rộng chúng tùy theo lựa chọn của mình.
Bảng Tần Số các nốt nhạc trên piano
NỐT NHẠC (NOTE) | TẦN SỐ (HZ) |
---|---|
A0 | 27,5 |
A#0 / Bb0 | 29.135 |
B0 | 30.868 |
C1 | 32,703 |
C#1 / Db1 | 34.648 |
D1 | 36,708 |
D#1 / Eb1 | 38.890 |
E1 | 41,203 |
F1 | 43.653 |
F#1 / Gb1 | 46.249 |
G1 | 49 |
G#1 / Ab1 | 51,913 |
A1 | 55 |
A#1 / Bb1 | 58.271 |
B1 | 61,735 |
C2 | 65.406 |
C#2 / Db2 | 69.296 |
D2 | 73.416 |
D#2 / Eb2 | 77.781 |
E2 | 82.407 |
F2 | 87.307 |
F#2 / Gb2 | 92.499 |
G2 | 98 |
G#2 / Ab2 | 103,83 |
A2 | 110 |
A#2 / Bb2 | 116,54 |
B2 | 123.47 |
C3 | 130,81 |
C#3 / Db3 | 138,59 |
D3 | 146,83 |
D#3 / Eb3 | 155,56 |
E3 | 164,81 |
F3 | 174,61 |
F#3 / Gb3 | 184.99 |
G3 | 195,99 |
G#3 / Ab3 | 207,65 |
A3 | 220 |
A#3 / Bb3 | 233.08 |
B3 | 246,94 |
C4 | 261,62 |
C#4 / Db4 | 277,18 |
D4 | 293,66 |
D#4 / Eb4 | 311,12 |
E4 | 329,62 |
F4 | 349,22 |
F#4 / Gb4 | 369,99 |
G4 | 392,00 |
G#4 / Ab4 | 415,3 |
A4 | 440 |
A#4 / Bb4 | 466,16 |
B4 | 493,88 |
C5 | 523,25 |
C#5 / Db5 | 554,37 |
D5 | 587,32 |
D#5 / Eb5 | 622,25 |
E5 | 659,26 |
F5 | 698.45 |
F#5 / Gb5 | 739,99 |
G5 | 783,99 |
G#5 / Ab5 | 830,61 |
A5 | 880 |
A#5 / Bb5 | 932,32 |
B5 | 987,77 |
C6 | 1046,5 |
C#6 / Db6 | 1108,7 |
D6 | 1174,7 |
D#6 / Eb6 | 1244,5 |
E6 | 1318,5 |
F6 | 1396,9 |
F#6 / Gb6 | 1480 |
G6 | 1568 |
G#6 / Ab6 | 1661,2 |
A6 | 1760 |
A#6 / Bb6 | 1864,7 |
B6 | 1975,5 |
C7 | 2093 |
C#7 / Db7 | 2217,5 |
D7 | 2349,3 |
D#7 / Eb7 | 2489 |
E7 | 2637 |
F7 | 2793,8 |
F#7 / Gb7 | 2960 |
G7 | 3136 |
G#7 / Ab7 | 3322.4 |
A7 | 3520 |
A#7 / Bb7 | 3729,3 |
B7 | 3951,1 |
C8 | 4186 |
Thành phần cần thiết
Sơ đồ kết nối
Arduino UNO | Keypad | Speaker |
5V | VCC | |
GND | GND | - |
D11 | + | |
D9 | Key 8 | |
D8 | Key 7 | |
D7 | Key 6 | |
D6 | Key 5 | |
D5 | Key 4 | |
D4 | Key 3 | |
D3 | Key 2 | |
D2 | Key 1 |
Dự án Mini Piano Arduino hoạt động như thế nào?
- Dự án này sẽ tạo ra âm thanh có tần số cố định khi chúng ta nhấn nút ấn.
- Tần số được xác định trước cho tất cả các nút trong code.
- Sử dụng hàm tone(speakerPin, frequency) để tạo ra âm thanh có tần số mong muốn.
- Để tắt còi, Sử dụng hàm noTone(speakerPin).
Code
const int buttonPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Các chân kết nối nút nhấn
const int tones[] = {262, 294, 330, 349, 392, 440, 494, 523}; // Tần số các nốt nhạc (C4, D4, E4, F4, G4, A4, B4, C5)
const int speakerPin = 11;
void setup() {
Serial.begin(9600);
for (int i = 0; i < 8; i++) {
pinMode(buttonPins[i], INPUT_PULLUP); // Cấu hình các chân nút nhấn là đầu vào với điện trở kéo lên
}
pinMode(speakerPin, OUTPUT); // Cấu hình chân loa là đầu ra
}
void loop() {
for (int i = 0; i < 8; i++) {
while (digitalRead(buttonPins[i]) == LOW) { // Kiểm tra nếu nút nhấn được nhấn
tone(speakerPin, tones[i]); // Phát tần số tương ứng
Serial.println(tones[i]);
}
}
noTone(speakerPin); // Dừng phát tần số
Serial.print("");
}
Nhận xét