如何利用arduino uno开发板制作一个点唱机,该点唱机具有led1602显示歌曲名字,sd卡模块,按键切换歌曲的功能
时间: 2024-03-25 14:37:46 浏览: 138
好的,下面是利用Arduino UNO开发板制作点唱机的步骤:
1.准备材料
- Arduino UNO开发板
- 1602液晶屏幕
- SD卡模块
- 按钮(可选多个)
- 面包板和杜邦线
2.连接电路
将1602液晶屏幕连接到Arduino UNO的数字引脚0-5上。将SD卡模块连接到数字引脚10-13上。将按钮连接到数字引脚6-9上。
3.编写代码
使用Arduino IDE编写代码,实现以下功能:
- 初始化液晶屏幕、SD卡模块和按钮
- 读取SD卡上的歌曲列表
- 播放歌曲并显示歌曲名称
- 按钮切换歌曲
4.测试
将代码上传到Arduino UNO开发板上,并将SD卡插入SD卡模块。按下按钮测试点唱机功能,确保歌曲可以正确播放并且液晶屏幕可以显示歌曲名称。
下面是一个简单的示例代码,其中包含了初始化液晶屏幕、SD卡模块和按钮、读取SD卡上的歌曲列表、按键切换歌曲等功能:
```
#include <LiquidCrystal.h>
#include <SD.h>
#include <TMRpcm.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // 初始化液晶屏幕
const int buttonPin1 = 6; // 按钮1连接到数字引脚6
const int buttonPin2 = 7; // 按钮2连接到数字引脚7
int buttonState1 = 0; // 按钮1状态
int buttonState2 = 0; // 按钮2状态
File root; // SD卡根目录
TMRpcm audio; // TMRpcm音频播放库
void setup() {
lcd.begin(16, 2); // 设置液晶屏幕列数和行数
lcd.print("Point to sing"); // 在液晶屏幕上打印标题
pinMode(buttonPin1, INPUT); // 初始化按钮1为输入模式
pinMode(buttonPin2, INPUT); // 初始化按钮2为输入模式
if (!SD.begin(10)) { // 初始化SD卡模块
lcd.print("SD card failed"); // 如果SD卡初始化失败,在液晶屏幕上打印错误信息
while (1);
}
root = SD.open("/"); // 打开SD卡根目录
printDirectory(root, 0); // 在液晶屏幕上打印SD卡上的歌曲列表
}
void loop() {
buttonState1 = digitalRead(buttonPin1); // 读取按钮1状态
buttonState2 = digitalRead(buttonPin2); // 读取按钮2状态
if (buttonState1 == HIGH) { // 如果按下按钮1
audio.play("song1.wav"); // 播放歌曲1
lcd.setCursor(0, 1); // 在液晶屏幕上显示歌曲1名称
lcd.print("song1");
}
if (buttonState2 == HIGH) { // 如果按下按钮2
audio.play("song2.wav"); // 播放歌曲2
lcd.setCursor(0, 1); // 在液晶屏幕上显示歌曲2名称
lcd.print("song2");
}
}
void printDirectory(File dir, int numTabs) {
while (true) {
File entry = dir.openNextFile(); // 打开目录下的下一个文件
if (!entry) { // 如果没有下一个文件
break;
}
if (entry.isDirectory()) { // 如果是一个子目录
lcd.setCursor(0, 1); // 在液晶屏幕上打印目录名称
lcd.print("> ");
lcd.print(entry.name());
printDirectory(entry, numTabs + 1); // 递归打印子目录下的文件
} else { // 如果是一个文件
lcd.setCursor(0, 1); // 在液晶屏幕上打印文件名称
lcd.print(" ");
lcd.print(entry.name());
}
entry.close(); // 关闭文件
}
}
```
注意:你需要将歌曲文件(例如song1.wav和song2.wav)放在SD卡的根目录下。这只是一个示例代码,你需要根据自己的需求进行修改和完善。
阅读全文