实验九:语音单模块试验
一、实验目的
ESP32通过一线串口通讯,通过DATA线给WTN6系列语音芯片,发送相应的数据,播放第几段的语音
二、实验内容
1.ESP连接语音模块
2.将程序上传到ESP32
3.语音模块接上喇叭,顺序播放4段语音
三、实验设备
WTN6系列语音模块
ESP32开发板
8R/0.5W喇叭
四、实验步骤
1)连接引脚
语音模块:
语音模块的引脚:PA1接ESP32的32脚,PWM+和PWM-接喇叭
连接图:
2)上传程序
#define Horn_Pin 32
void send_pulse(byte ddata){ //播放第几段语音
byte s_data,j;
byte b_data;
s_data = ddata;
digitalWrite(Horn_Pin,LOW);
delay(5); //延时5ms
b_data = s_data&0x01;
for(j=0;j<8;j++){
if(b_data == 1){
digitalWrite(Horn_Pin,HIGH);
delayMicroseconds(600); //延时600us
digitalWrite(Horn_Pin,LOW);
delayMicroseconds(200); //延时200us
}
else{
digitalWrite(Horn_Pin,HIGH);
delayMicroseconds(200); //延时600us
digitalWrite(Horn_Pin,LOW);
delayMicroseconds(600); //延时200us
}
s_data = s_data>>1;
b_data = s_data&0x01;
}
digitalWrite(Horn_Pin,HIGH);
}
void setup() {
Serial.begin(9600);
pinMode(Horn_Pin,OUTPUT);
digitalWrite(Horn_Pin,HIGH);
}
void loop() {
static byte m = 0x01;
send_pulse(0xF3);
delay(2);
send_pulse(m);
m++;
if(m>4){
m=0x01;
}
delay(5000);
}
3)观察实验结果
该语音模块需要连码发送才能播放一段完整的指令(例如:F3H+00H+F3H+01H)。F3H+01H,表示播放第一段语音内容。本次实验是依次播放第1段到第4段语音内容,循环播放。
第一段内容:已开门
第二段内容:门未关好
第三段内容:有人撬门
第四 段内容:滴