|
Arduino用語音控制10多路電器硬件資料
Arduino 加語音控制芯片控制多路電器(程序見附件),注:語音芯片HLK-V20本身自帶3路控制輸出引腳,使用本程序能多控制了10多路電器。
- #include <SoftwareSerial.h>
- SoftwareSerial mySerial(2,3);
- String receive_data;
- void setup(){
- mySerial.begin(115200);
- Serial.begin(115200);
- receive_data = "";
- pinMode(4, OUTPUT);
- pinMode(5, OUTPUT);
- pinMode(6, OUTPUT);
- pinMode(7, OUTPUT);
- pinMode(8, OUTPUT);
- pinMode(9, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(11, OUTPUT);
- pinMode(12, OUTPUT);
- pinMode(13, OUTPUT);
- }
- void loop(){
- while (mySerial.available() > 0) {
- receive_data = String(receive_data) + String(char(mySerial.read()));
- }
- if (String(receive_data).indexOf(String("dakainuanqi")) != -1) {
- digitalWrite(4,HIGH);
- Serial.println("打開暖氣");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbinuanq")) != -1) {
- digitalWrite(4,LOW);
- Serial.println("關(guān)閉暖氣");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakaicfeng")) != -1) {
- digitalWrite(5,HIGH);
- Serial.println("打開吹風(fēng)");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbicfeng")) != -1) {
- digitalWrite(5,LOW);
- Serial.println("關(guān)閉吹風(fēng)");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakdianfangbao")) != -1) {
- digitalWrite(6,HIGH);
- Serial.println("打開電飯煲");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guabdianfangbao")) != -1) {
- digitalWrite(6,LOW);
- Serial.println("關(guān)閉電飯煲");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("turnon")) != -1) {
- digitalWrite(7,HIGH);
- Serial.println("打開臺燈");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("turnoff")) != -1) {
- digitalWrite(7,LOW);
- Serial.println("關(guān)閉臺燈");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("openElectricfan")) != -1) {
- digitalWrite(8,HIGH);
- Serial.println("打開風(fēng)扇");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("closElectricfan")) != -1) {
- digitalWrite(8,LOW);
- Serial.println("關(guān)閉風(fēng)扇");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("openled")) != -1) {
- digitalWrite(9,HIGH);
- Serial.println("開燈");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("closeled")) != -1) {
- digitalWrite(9,LOW);
- Serial.println("關(guān)燈");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakaiyuba")) != -1) {
- digitalWrite(10,HIGH);
- Serial.println("打開浴霸");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbiyuba")) != -1) {
- digitalWrite(10,LOW);
- Serial.println("關(guān)閉浴霸");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakaizaoming")) != -1) {
- digitalWrite(11,HIGH);
- Serial.println("打開照明");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbizhaoming")) != -1) {
- digitalWrite(11,LOW);
- Serial.println("關(guān)閉照明");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakaiyingsji")) != -1) {
- digitalWrite(12,HIGH);
- Serial.println("打開飲水機");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbiyingsji")) != -1) {
- digitalWrite(12,LOW);
- Serial.println("關(guān)閉飲水機");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("kaishichus")) != -1) {
- digitalWrite(13,HIGH);
- Serial.println("開始出水");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("tingzchus")) != -1) {
- digitalWrite(13,LOW);
- Serial.println("停止出水");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("zengjialiangdu")) != -1) {
- pinMode(A0, OUTPUT);
- digitalWrite(A0,HIGH);
- Serial.println("增加亮度");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("jianxiaoliangdu")) != -1) {
- pinMode(A0, OUTPUT);
- digitalWrite(A0,LOW);
- Serial.println("減小亮度");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("settiConehonor")) != -1) {
- pinMode(A2, OUTPUT);
- digitalWrite(A2,HIGH);
- Serial.println("一小時后開機");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("settiOonehonor")) != -1) {
- pinMode(A2, OUTPUT);
- digitalWrite(A2,LOW);
- Serial.println("一小時后關(guān)機");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("shenggaowendu")) != -1) {
- pinMode(A3, OUTPUT);
- digitalWrite(A3,HIGH);
- Serial.println("升高溫度");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("jiandiwendu")) != -1) {
- pinMode(A3, OUTPUT);
- digitalWrite(A3,LOW);
- Serial.println("降低溫度");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("AdjustGearmax")) != -1) {
- pinMode(A4, OUTPUT);
- digitalWrite(A4,HIGH);
- Serial.println("風(fēng)速調(diào)到最大");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("AdjustGearmin")) != -1) {
- pinMode(A1, OUTPUT);
- digitalWrite(A1,LOW);
- Serial.println("風(fēng)速調(diào)到最小");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("volumeUpUni")) != -1) {
- pinMode(A5, OUTPUT);
- digitalWrite(A5,HIGH);
- Serial.println("增大音量");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("volumeDownUni")) != -1) {
- pinMode(A2, OUTPUT);
- digitalWrite(A2,LOW);
- Serial.println("減小音量");
- receive_data = "";
- }
- }
復(fù)制代碼
HLK-V20 Demo固件命令詞與播報詞 V1.1.xlsx.7z
(12.64 KB, 下載次數(shù): 27)
2020-9-25 16:07 上傳
點擊文件名下載附件
|
|