一、效果实现
ESP32电子钢琴超简单制作
二、代码展示
#include <HardwareSerial.h>
HardwareSerial mySerial(2); // 假设GPIO 16是TX2, GPIO 17是RX2
uint8_t send_a [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x2A};
uint8_t send_b [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x2B};
uint8_t send_c [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x2C};
uint8_t send_d [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x2D};
uint8_t send_e [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x2E};
uint8_t send_f [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x23,0x00,0x00,0x00,0x00,0x00,0x2F};
uint8_t send_g [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x30};
uint8_t send_rel [14] = {0x57,0xAB,0x00,0x02,0x08,0x00,0,0,0,0,0,0,0,0x0C};
void way_a (){
SendData(14,send_a);
}
void way_b (){
SendData(14,send_b);
}
void way_c (){
SendData(14,send_c);
}
void way_d (){
SendData(14,send_d);
}void way_e (){
SendData(14,send_e);
}
void way_f (){
SendData(14,send_f);
}
void way_g (){
SendData(14,send_g);
}
void rels(){
SendData(14,send_rel);
}
//发送命令
void SendData(int len,uint8_t PS_DataBuffer[]){
mySerial.write(PS_DataBuffer,len);
mySerial.flush();
}
void setup() {
// 初始化额外的串口通信,设置波特率为9600
mySerial.begin(9600, SERIAL_8N1, 16, 17); // TX: 16, RX: 17
way_a();
rels();
}
void loop() {
if(touchRead(T0)<20){
way_a();
rels();
}
if(touchRead(T4)<20){
way_b();
rels();
}
if(touchRead(T3)<20){
way_c();
rels();
}
if(touchRead(T5)<20){
way_d();
rels();
}
if(touchRead(T6)<20){
way_e();
rels();
}
if(touchRead(T7)<20){
way_f();
rels();
}
if(touchRead(T8)<20){
way_g();
rels();
//221delay(500);
}
delay(300);
}
源码获取:微信小程序 “涨知识1024”