带有 OK Google 的蓝牙语音控制设备
组件和用品
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
关于这个项目
我的项目是关于使用 Google Assistant 和蓝牙控制家用电器。我决定做这个项目,因为当我在网上搜索有关语音控制的家庭自动化项目时,我发现大多数项目都是基于 WiFi 的。我收集了有关 Google Home 和 Amazon Echo 如何控制家用电器的信息,知道这项技术是如何发展的,我真的很惊讶。在收集了有关基于 WiFi 的家庭自动化的信息后,我开始收集有关基于蓝牙的家庭自动化的信息。在网上翻找资料的时候,一个念头突然涌上心头。想法是“为什么在蓝牙家庭自动化的情况下,用户每次说命令时都需要点击应用程序的按钮”。我知道该按钮是作为激活 Google Speech Recognizer 和 Google Text-to-Speech 的触发器。所以我下定决心建立一个项目,让用户根本不需要按下按钮,一切都将自动化。后来当我开始做这个项目时,我才知道 Google Home 可以连接蓝牙扬声器播放音乐,但无法连接基于蓝牙的家用电器。因此,为了删除 Android 应用程序上的按钮,我使用了谷歌助手(“OK Google”),一个声控触发开关,来激活应用程序和谷歌语音识别器和谷歌文本到语音。
观看此视频以了解我是如何做到的:
框图:
电路图: 代码
带有“OK GOOGLE”的蓝牙语音控制设备代码Arduino
带有“OK GOOGLE”的蓝牙语音控制设备 String voice;#define FAN 10#define TUBELIGHT 9#define BULB 8void setup() { // 把你的设置代码放在这里,运行一次:Serial.begin(9600); pinMode(风扇,输出); pinMode(TUBELIGHT, OUTPUT); pinMode(灯泡,输出);模拟写入(TUBELIGHT,255); // 由于 LED 必须在开始时关闭 analogWrite(FAN,255); digitalWrite(BULB,HIGH);}void loop() { while (Serial.available()) //检查是否有可用字节读取 { delay(10); } //添加延迟以使事情稳定 char c =Serial.read(); //进行串行读取 if (c =='#') {break;} //在单词 voice +=c 后检测到#时退出循环; //voice =voice + c 的简写 } if (voice.length()> 0) { Serial.println(voice); //-----------控制多个引脚/ LED----------// if(voice =="tubelight")// {analogWrite(TUBELIGHT,0);模拟写入(风扇,255);数字写入(灯泡,高); } else if(voice =="green")// {analogWrite(TUBELIGHT,255);模拟写入(风扇,255);数字写入(灯泡,高); } else if(voice =="fan")// {analogWrite(TUBELIGHT,255);模拟写入(风扇,0);数字写入(灯泡,高); } else if(voice =="bulb")// {analogWrite(TUBELIGHT,0);模拟写入(风扇,255);数字写入(灯泡,低); } else if(voice =="go")// { digitalWrite(BULB,HIGH); } else if(voice =="lights")// {analogWrite(TUBELIGHT,0);模拟写入(风扇,0);数字写入(灯泡,低); } else if(voice =="good night")// {analogWrite(TUBELIGHT,255);模拟写入(风扇,255);数字写入(灯泡,高); } 语音=“”; //初始化后重置变量 }}
示意图
带有“OK GOOGLE”的蓝牙语音控制设备电路图