// 2018/10/31 // Faya-Nugget 範例程式 (Voice_Recog_1.ino) // 單元: 模組介紹: faya語音辨識模組 // 網址: https://fayalab.blogspot.com/2018/11/voice-recog.html // 目標: (1) 利用語音指令控制RGB LED燈 // 接線: Arduino ==> faya模組 // D2 ==> IRQ (語音辨識模組) // D4 ==> NSS (語音辨識模組) // D9 ==> RST (語音辨識模組) // D11 ==> MOSI (語音辨識模組) // D12 ==> MISO (語音辨識模組) // D13 ==> SCK (語音辨識模組) // GND ==> WR (語音辨識模組) #include <ld3320.h> // 引入ld332語音辨識函式庫 VoiceRecognition fayaVoice; //聲明語音識別對象 #define R_pin A3 // R ELD 接到A3 #define G_pin A2 // G ELD 接到A2 #define B_pin A1 // B ELD 接到A1 int command; //儲存指令 void setup() { pinMode(R_pin, OUTPUT); // 設定RGB_Pin為輸出腳位 pinMode(G_pin, OUTPUT); pinMode(B_pin, OUTPUT); digitalWrite(R_pin, LOW); // 先把燈全部關閉 digitalWrite(G_pin, LOW); digitalWrite(B_pin, LOW); Serial.begin(9600); // Arduino串列埠baudRate = 9600 fayaVoice.init(); // 初始化語音辨識 fayaVoice.addCommand("kai deng",0); // 添加指令 [開燈] fayaVoice.addCommand("liang hung deng",1); // 添加指令 [亮紅燈] fayaVoice.addCommand("da kai hung se deng",1); // 添加指令 [打開紅色燈] fayaVoice.addCommand("bian liu se ",2); // 添加指令 [變綠色] fayaVoice.addCommand("lan deng",3); // 添加指令 [藍燈] fayaVoice.addCommand("huang se de deng",4); // 添加指令 [黃色的燈] fayaVoice.addCommand("guan deng",5); // 添加指令 [關燈] fayaVoice.start(); //開始識別 } void loop() { check_b2(); //檢查資料接收是否穩定 command = fayaVoice.read(); //指令儲存至command變數 switch(command) //執行指令 { case 0: //指令0 =“開燈” Serial.println("TURN ON"); digitalWrite(R_pin, HIGH); digitalWrite(G_pin, HIGH); digitalWrite(B_pin, HIGH); break; case 1: //指令1 =“亮紅燈”/ "打開紅色燈" Serial.println("RED ON"); digitalWrite(R_pin, HIGH); digitalWrite(G_pin, LOW); digitalWrite(B_pin, LOW); break; case 2: //指令2 =“綠色燈" Serial.println("GREEN ON"); digitalWrite(R_pin, LOW); digitalWrite(G_pin, HIGH); digitalWrite(B_pin, LOW); break; case 3: //指令3 =“藍燈” Serial.println("BLUE ON"); digitalWrite(R_pin, LOW); digitalWrite(G_pin, LOW); digitalWrite(B_pin, HIGH); break; case 4: //指令4 =“黃色的燈” Serial.println("Yellow ON"); digitalWrite(R_pin, HIGH); digitalWrite(G_pin, HIGH); digitalWrite(B_pin, LOW ); break; case 5: //指令5 =“關燈” Serial.println("TURN OFF"); digitalWrite(R_pin, LOW); digitalWrite(G_pin, LOW); digitalWrite(B_pin, LOW); break; } }