ESP-12F Arduino 蜂鳴器
主題: ESP-12F Arduino 蜂鳴器
日期: 2019/12/14六
前言:
之前,做過 ESP-01 mpy 蜂鳴器 音樂的實測,現在,改用
ESP-12F Arduino 蜂鳴器,發出聲音,來模擬我一個產品 ecv 發出的聲音。
說明:
動手難
實驗電路的安裝,有時對我而言,是一件難事,倒不是技術難,而是懶的動手。請位助手來做,卻又覺的浪廢錢。
接錯了
把ecv 的5V 0V 接到esp-12f 底板時,接反了,燒錄不進程式,檢查時發現問題。幸好,ecv 沒燒掉,仍正常。
這之前,測過,用esp-01 但未發表在網誌上。今重做,並刊文。
為什麼要重做
我要整合,315Mhz 無線 搖控器訊號接收,並有聲音。所以,要叫出 蜂鳴器 控制的程式碼。
圖片:
程式碼:
#define ui unsigned int
#define Pin_Tone 16
#define Pin_Led 14
#define Do_L (2*262 )
#define Re_L (2*294 )
#define Mi_L (2*330 )
#define Fa_L (2*349 )
#define So_L (2*392 )
#define La_L (2*440 )
#define Si_L (2*493 )
#define Do_M (2*523 )
#define Re_M (2*587 )
#define Mi_M (2*659 )
#define Fa_M (2*698 )
#define So_M (2*780 )
#define La_M (2*880 )
#define Si_M (2*987 )
#define Do_H (2*1046)
#define Re_H (2*1174)
#define Mi_H (2*1318)
#define Fa_H (2*1396)
#define So_H (2*1568)
#define La_H (2*1760)
#define Si_H (2*1976)
const ui tab[]={
Do_L,Re_L,Mi_L,Fa_L,So_L,La_L,Si_L,
Do_M,Re_M,Mi_M,Fa_M,So_M,La_M,Si_M,
Do_H,Re_H,Mi_H,Fa_H,So_H,La_H,Si_H,
};
void setup() {
pinMode(Pin_Tone, OUTPUT);
pinMode(Pin_Led, OUTPUT);
}
void SetSound0(int n, int ms){
static char num=0;
digitalWrite(Pin_Led, num); num^=1;
tone(Pin_Tone,tab[n%21-7],ms); delay(1000);
}
void loop() {
for(int g_setsnd=0;g_setsnd< 6;g_setsnd++){
if (g_setsnd==0) SetSound0(14,200);// all open
else if (g_setsnd==1) SetSound0(10,200);// all close
else if (g_setsnd==2) SetSound0(16,200);// key c
else if (g_setsnd==3) SetSound0(18,800);// key d ch0
else if (g_setsnd==4) SetSound0(20,800);// key d ch1
else if (g_setsnd==5) SetSound0(18,800);// key d ch1
}
}
日期: 2019/12/14六
前言:
之前,做過 ESP-01 mpy 蜂鳴器 音樂的實測,現在,改用
ESP-12F Arduino 蜂鳴器,發出聲音,來模擬我一個產品 ecv 發出的聲音。
說明:
動手難
實驗電路的安裝,有時對我而言,是一件難事,倒不是技術難,而是懶的動手。請位助手來做,卻又覺的浪廢錢。
接錯了
把ecv 的5V 0V 接到esp-12f 底板時,接反了,燒錄不進程式,檢查時發現問題。幸好,ecv 沒燒掉,仍正常。
這之前,測過,用esp-01 但未發表在網誌上。今重做,並刊文。
為什麼要重做
我要整合,315Mhz 無線 搖控器訊號接收,並有聲音。所以,要叫出 蜂鳴器 控制的程式碼。
圖片:
程式碼:
#define ui unsigned int
#define Pin_Tone 16
#define Pin_Led 14
#define Do_L (2*262 )
#define Re_L (2*294 )
#define Mi_L (2*330 )
#define Fa_L (2*349 )
#define So_L (2*392 )
#define La_L (2*440 )
#define Si_L (2*493 )
#define Do_M (2*523 )
#define Re_M (2*587 )
#define Mi_M (2*659 )
#define Fa_M (2*698 )
#define So_M (2*780 )
#define La_M (2*880 )
#define Si_M (2*987 )
#define Do_H (2*1046)
#define Re_H (2*1174)
#define Mi_H (2*1318)
#define Fa_H (2*1396)
#define So_H (2*1568)
#define La_H (2*1760)
#define Si_H (2*1976)
const ui tab[]={
Do_L,Re_L,Mi_L,Fa_L,So_L,La_L,Si_L,
Do_M,Re_M,Mi_M,Fa_M,So_M,La_M,Si_M,
Do_H,Re_H,Mi_H,Fa_H,So_H,La_H,Si_H,
};
void setup() {
pinMode(Pin_Tone, OUTPUT);
pinMode(Pin_Led, OUTPUT);
}
void SetSound0(int n, int ms){
static char num=0;
digitalWrite(Pin_Led, num); num^=1;
tone(Pin_Tone,tab[n%21-7],ms); delay(1000);
}
void loop() {
for(int g_setsnd=0;g_setsnd< 6;g_setsnd++){
if (g_setsnd==0) SetSound0(14,200);// all open
else if (g_setsnd==1) SetSound0(10,200);// all close
else if (g_setsnd==2) SetSound0(16,200);// key c
else if (g_setsnd==3) SetSound0(18,800);// key d ch0
else if (g_setsnd==4) SetSound0(20,800);// key d ch1
else if (g_setsnd==5) SetSound0(18,800);// key d ch1
}
}

留言