Arduino用語音控制10多路電器硬件資料
Arduino 加語音控制芯片控制多路電器(程序見附件),注:語音芯片HLK-V20本身自帶3路控制輸出引腳,使用本程序能多控制了10多路電器。
51hei.png (39.05 KB, 下載次數: 70)
下載附件
2020-9-25 16:04 上傳
IMG_20200925_084749.jpg (146.94 KB, 下載次數: 71)
下載附件
2020-9-25 16:06 上傳
IMG_20200925_083916.jpg (132.22 KB, 下載次數: 76)
下載附件
2020-9-25 16:06 上傳
IMG_20200925_083824.jpg (156.62 KB, 下載次數: 85)
下載附件
2020-9-25 16:06 上傳
IMG_20200925_083733.jpg (144.11 KB, 下載次數: 71)
下載附件
2020-9-25 16:06 上傳
IMG_20200925_083651.jpg (137.66 KB, 下載次數: 72)
下載附件
2020-9-25 16:06 上傳
HLK-V20語音芯片擴展控制程序硬件連接實物圖.jpg (171.27 KB, 下載次數: 62)
下載附件
2020-9-25 16:06 上傳
- #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("關閉暖氣");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("dakaicfeng")) != -1) {
- digitalWrite(5,HIGH);
- Serial.println("打開吹風");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("guanbicfeng")) != -1) {
- digitalWrite(5,LOW);
- Serial.println("關閉吹風");
- 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("關閉電飯煲");
- 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("關閉臺燈");
- receive_data = "";
- }
- if (String(receive_data).indexOf(String("openElectricfan")) != -1) {
- digitalWrite(8,HIGH);
- Serial.println("打開風扇");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("closElectricfan")) != -1) {
- digitalWrite(8,LOW);
- Serial.println("關閉風扇");
- 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("關燈");
- 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("關閉浴霸");
- 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("關閉照明");
- 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("關閉飲水機");
- 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("一小時后關機");
- 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("風速調到最大");
- receive_data = "";
- } else if (String(receive_data).indexOf(String("AdjustGearmin")) != -1) {
- pinMode(A1, OUTPUT);
- digitalWrite(A1,LOW);
- Serial.println("風速調到最小");
- 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 = "";
- }
- }
復制代碼
HLK-V20 Demo固件命令詞與播報詞 V1.1.xlsx.7z
(12.64 KB, 下載次數: 27)
2020-9-25 16:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|