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("");
}
Video
www.truongcongly.com