步骤1:组件
选项1蓝牙版本:
arduino uno
hc-06蓝牙设备
继电器2种方式
2 * 220 uhm
电阻器
9v电池
电线
breadboard或pcb
2 * led灯
选项2 wifi版本:
nodemcu开发板(esp8266)
电线
继电器2路
2 * 220 uhm电阻器
2 * led灯
9v电池
breadboard或pcb
可选组件:
语音识别模块v3
第2步:中继电路
如何向arduino或nodemcu添加中继
这是它能够用于切换主电源设备的继电器类型。这些继电器将处理家庭中使用的大多数设备,除了房间加热器,炉子和电机等最高功率设备。确保要打开/关闭的设备的va(伏特x安培)小于继电器额定值。
警告:在进行ac试验时要特别小心,电击会导致严重的伤害。连接交流电源时,底部的继电器模块打开,请勿触摸电路。
对于电路的直流部分:
arduino数字引脚10 - 》模块引脚s
arduino gnd - 》模块引脚 -
arduino + 5v - 》模块引脚+
步骤3:nodemcu配置
与其他组件不同,esp8266模块需要在使用之前进行
设置,因为它是独立模块,您可以使用许多方法将代码上传到它。
打开adruino ide
转到文件》参考文献
输入http://arduino.esp8266.com/stable/package_esp8266.。.
进入其他board manager url字段。
您可以添加多个网址,用逗号分隔。
从工具》 board菜单打开boards manager,找到esp8266平台。
从下拉框中选择所需的版本。
单击安装按钮。安装后,不要忘记从工具》板菜单中选择您的esp8266板
。
重新启动arduino ide
检查您的主板的ip地址:
打开arduino ide
工具》板》选择nodemcu 1.0
工具》上传速度》 115200
#include esp8266wifi.h
#include
int8_t pin_led = 16; // initiate 8 bit unsigned variable
const char* ssid = “wifi user name”;
const char* password = “wifi password”;
void setup() {
pinmode(pin_led, output);
// put your setup code here, to run once:
wifi.begin(ssid,password);
serial.begin(115200);
while(wifi.status()!= wl_connected)
{
serial.print(“。.”); // connection failed! rebooting
delay(100);
}
serial.println(“”);
serial.print(“ip address: ”);
serial.print(wifi.localip());
myserver.on(“/”,[](){myserver.send(200,“text/plain”,“hello world”);});
myserver.on(“/toggle”,toggleled);
myserver.begin();
}
void loop() {
// put your main code here, to run repeatedly:
myserver.handleclient();
}
void toggleled()
{
digitalwrite(pin_led,!digitalread(pin_led)); // toggle on/off led according to its status
myserver.send(204,“”); // send response ‘204’
}
打开串口并复制ip地址如图所示。现在您的设备已准备好您可以打开任何浏览器并检查url:
http://192.168.40.10 (change the ip address as giving in your serial monitor)
步骤4:语音识别安装
有两种方法可以使用语音识别应用程序:
1 :谷歌语音识别sdk通过移动应用程序。
谷歌有一个多语言语音识别sdk,能够指挥任何第三方软件或填写网站上的表格。除了听写,还提供语音命令功能,允许您搜索网络,打开文件,程序和网站,查找信息,设置提醒,记笔记等等。自动化流程并提高您的个人和企业工作效率。
您可以使用 app inventor for android
arduino和蓝牙的示例代码:
上传当前代码,然后将您的蓝牙设备连接到tx和rx,然后使用移动应用程序来控制它。
int line1 = 8; // relay line
void setup()
{
serial.begin(9600);
pinmode(line1,output);
digitalwrite(line1,high);
}
void loop()
{
if(serial.available())
{
string value = serial.readstringuntil(‘ ’);
serial.println(value);
if(value == “*close#”)
{
digitalwrite(line1,high);
serial.print ( “light closed”);
}
else if(value == “*open#”)
{
digitalwrite(line1,low);
serial.print ( “light opened”);
}
} }
2。安装语音识别模块
a。连接引脚
5v 5v
tx 2
rx 3
gnd gnd
b。安装库
c。文件 - 》示例 - 》 voicerecognitionv3 - 》 vr_sample_train
d. 打开串行监视器并键入:settings
e。输入sigtrain 0开》发送
f。录制您的声音
g。关闭串口并打开新文件并粘贴此代码:
现在您可以使用语音识别模块关闭并打开led
#include “voicerecognitionv3.h”
vr myvr(2,3); // 2:rx 3:tx, you can choose your favourite pins.
uint8_t records[7]; // save record
uint8_t buf[64];
int led = 13;
#define onrecord (0)
#define offrecord (1)
void printsignature(uint8_t *buf, int len)
{
int i;
for(i=0; i0x19 && buf[i]《0x7f){
serial.write(buf[i]);
}
else{
serial.print(“[”);
serial.print(buf[i], hex);
serial.print(“]”);
}
}
}
/** @brief print signature, if the character is invisible, print hexible value instead. @param buf --》 vr module return value when voice is recognized.
buf[0] --》 group mode(ff: none group, 0x8n: user, 0x0n:system
buf[1] --》 number of record which is recognized.
buf[2] --》 recognizer index(position) value of the recognized record.
buf[3] --》 signature length
buf[4]~buf[n] --》 signature
*/
void printvr(uint8_t *buf)
{
serial.println(“vr index group recordnum signature”);
serial.print(buf[2], dec);
serial.print(“ ”);
if(buf[0] == 0xff){
serial.print(“none”);
}
else if(buf[0]&0x80){
serial.print(“ug ”);
serial.print(buf[0]&(~0x80), dec);
}
else{
serial.print(“sg ”);
serial.print(buf[0], dec);
}
serial.print(“ ”);
serial.print(buf[1], dec);
serial.print(“ ”);
if(buf[3]》0){
printsignature(buf+4, buf[3]);
}
else{
serial.print(“none”);
}
serial.println(“ ”);
}
void setup()
{
/** initialize */
myvr.begin(9600);
serial.begin(115200);
serial.println(“elechouse voice recognition v3 module control led sample”);
pinmode(led, output);
if(myvr.clear() == 0){
serial.println(“recognizer cleared.”);
}else{
serial.println(“not find voicerecognitionmodule.”);
serial.println(“please check connection and restart arduino.”);
while(1);
}
if(myvr.load((uint8_t)onrecord) 》= 0){
serial.println(“onrecord loaded”);
}
if(myvr.load((uint8_t)offrecord) 》= 0){
serial.println(“offrecord loaded”);
}
}
void loop()
{
int ret;
ret = myvr.recognize(buf, 50);
if(ret》0){
switch(buf[1]){
case onrecord:
/** turn on led */
digitalwrite(led, high);
break;
case offrecord:
/** turn off led*/
digitalwrite(led, low);
break;
default:
serial.println(“record function undefined”);
break;
}
/** voice recognized */
printvr(buf);
}
}
第5步:激光切割
设备设计非常简单,但这是我第一次使用木材使用激光切割机的弯曲技术。
这是最常见的格子铰链和最可靠的。格子铰链依靠材料的扭转来弯曲,在这张照片中很容易看到。弯曲的半径取决于切口的长度,它们之间的距离和材料的厚度。
第6步:设备组装
最后设备可以使用了。
利用高光谱成像技术早期检测番茄叶片灰霉病-莱森光学
电热管烧水安全吗
让我们来看看谷歌到底是怎样“统治”互联网的
USB总线的通用设备接口芯片——CH372
基于NetBox的金融税控收款机的设计与实现
自制物联网语音交互设备教程
为什么人们偏爱吸尘器而不是扫地机?
LED广告机成不可替代的户外媒体,更加贴合用户所需
“互联网+”将会被“区块链+”所代替,区块链将重新定义人与人之间的关系
关于非洲猪瘟检测专用仪器清单的详细介绍
人工智能饕餮盛宴将开启 两大细分领域暗流涌动
微软安全评估服务,为企业安全穿上金丝软甲
超300名高端人才落地生根!佛山广工大研究院打造科技人才摇篮
集颜值与性能为一体,真我GT 2大师探索版售价3499起
回收吉时利6485回收吉时利6487皮安表
2020年8K电视出货量较低
工控机是什么及其用途?
Elasticsearch是做什么的以及它的使用和基本原理
高品质车载娱乐影音解决方案
交流电动机的正反转控制电路图