實現(xiàn)目標:
當門打開時杉辙,自動播放一段錄制好的歡迎詞(如果門一直保持打開席噩,只播放1遍)班缰。
材料:
arduino控制 1
ISD1820語音模塊 1
霍爾傳感器 1
磁鐵 1
接線圖(此圖未接霍爾傳感器,請自行腦補)
ISD1820自帶的揚聲器聲音很小悼枢,最好接個電腦音箱埠忘,兩根線焊接到3.5MM插頭上,音箱電源自供馒索。
錄制語音的方法:
接好線后按住紅色錄音按鈕不放說話。錄完放開蜈块。如果有雜音一定是線接觸不好的問題鉴腻,重新插線或者換線,錄制時不要晃動百揭。
源程序:
程序難點
如果門一直保持打開爽哎,只播放1遍,利用一個門的狀態(tài)變量state來解決這個問題器一。
int sw = 8; //霍爾傳感器的接口
int speaker = 6; //語音播放的接口
int state = 0; //門的初始化狀態(tài)為關
void setup() {
pinMode(5, OUTPUT);
pinMode(8, OUTPUT);
}
void loop() {
int swVal=digitalRead(sw); //獲取霍爾傳感器的狀態(tài)
if (swVal == 0 && state == 0) { //如果霍爾傳感器與磁鐵分離(表示門打開了)课锌,而且門原來的狀態(tài)值是關
digitalWrite(speaker, HIGH);//播放提示語音
delay(10000); //保持10秒,保證能夠播放完整祈秕。
digitalWrite(speaker, LOW); //關閉語音
delay(1000);
state = 1; //設置門的狀態(tài)為開
}
else if (swVal == 1) { //如果檢測到霍爾傳感器與磁鐵接觸(表示門關了)
state = 0; //設置門的狀態(tài)為關
}
}