亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 教程:JARVIS v1 |如何制作家庭自动化

组件和用品

Arduino Nano R3
× 1
中继模块(通用)
× 4
蓝牙低功耗 (BLE) 模块(通用)
× 1
面包板(通用)
× 1
跳线(通用)
× 10

必要的工具和机器

烙铁(通用)

应用和在线服务

Arduino IDE

关于这个项目

我们为什么要建造这个?

作为一名钢铁侠粉丝,我真的受到了贾维斯的启发 一个语音控制的个人助理,我非常想建立一个家庭自动化系统。尽管有很多现有系统可用,但我决定使用 Arduino 构建自己的家庭自动化系统。

工作原理:

该项目旨在控制电气和电子设备,如灯、风扇、电视等。这是使用 Arduino 和安装在房子每个房间的继电器电路来完成的。数据将通过蓝牙模块发布到Arduino,可以进一步实现。

主要任务是获取数据并使用移动设备将其发布到 Arduino。之后可以根据数据进行控制来打开/关闭设备。

硬件构建

电路非常简单。该产品的总成本将低于 20 美元。

第 1 步:零件和材料

这个项目需要的组件是:

  • 阿杜诺
  • 继电器分线板
  • 蓝牙模块 - HC-05
  • 跳线

第 2 步:连接

以下连接是使用跳线电缆进行的。对于这个演示,我使用了四个继电器,这意味着可以使用 APP 控制四个设备。

*Arduino -> BT 模块*

  • TX -> RX
  • 接收 -> 发送
  • VCC -> 3.3v
  • GND -> GND

*Arduino -> 中继板*

  • IN1 -> D2
  • IN2 -> D3
  • IN3 -> D4
  • IN4 -> D5
  • VCC -> VCC
  • GND -> GND

第 3 步:代码

您可以在下面找到示例代码。

String voice;
int
led1 =2, //将 LED 1 连接到引脚 #2
led2 =3, //将 LED 2 连接到引脚 #3
led3 =4, //将 LED 3 连接到引脚 #4
led4 =5, //将 LED 4 连接到引脚 #5
led5 =6; //将 LED 5 连接到引脚 #6
//----------------------------------------调用函数------ -------------------------//
void allon(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void alloff(){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
//---------------------------- ------------------------------------------//
无效设置() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
//-------------------- -------------------------------------------------- -//
void loop() {
while (Serial.available()){ //检查是否有可用字节读取
delay(10); //添加延迟以使事情稳定
char c =Serial.read(); //进行串行读取
if (c =='#') {break;} //在word后检测到#时退出循环
voice +=c; //voice =voice + c
}
if (voice.length()> 0) {
Serial.println(voice);
//---- -------------------------------------------------- -----------------//
//----------控制多个引脚/ LEDs--------- //
if(voice =="*all on") {allon();} //关闭所有引脚(调用函数)
else if(voice =="*all off"){ alloff();} //开启所有引脚(调用函数)

//---------开启一对一-------- --//
else if(voice =="*TV on") {digitalWrite(led1, HIGH);}
else if(voice =="*fan on") {digitalWrite(led2, HIGH);}
else if(voice =="*computer on") {digitalWrite(led3, HIGH);}
else if(voice =="*卧室灯开") {digitalWrite(led4 , HIGH);}
else if(voice =="*bathroom lights on") {digitalWrite(led5, HIGH);}
//---------关闭一个-By-One----------//
else if(voice =="*TV off") {digitalWrite(led1, LOW);}
else if(voice =="*fan off") {digitalWrite(led2, LOW);}
else if(voice =="*compute r off") {digitalWrite(led3, LOW);}
else if(voice =="*卧室灯关了") {digitalWrite(led4, LOW);}
else if(voice ==" *浴室灯关了") {digitalWrite(led5, LOW);}
//---------------------------- ------------------------------------------//
语音="";}} //初始化后重置变量

第四步:申请

现在我们将使用现成的应用程序。在接下来的日子里,我会在处理完证书后发布一次申请。

Arduino BT 语音控制 由 SimpleLabsIN 创建:https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details

该项目的工作视频:

目前,该功能仅限于打开或关闭设备,但它可以在基本级别处理自然语言,允许用户将自然语言处理集成到其他项目中。


非常感谢 Hackster.io 允许我和这个伟大平台的所有用户参与。

感谢您开展这些鼓励年轻人和青少年创造和发明的活动。

如果它真的对你有帮助,请点赞,并关注我的频道以获得有趣的项目。 :)

如果您愿意,请分享此视频。

很高兴您订阅了:https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1

感谢阅读!

代码

  • 示例代码
示例代码 Arduino
//Coded By:Angelo Casimiro (4/27/14)//Voice Activated Arduino (Bluetooth + Android)//随意修改但记得给creditString voice;intled1 =2, //连接LED 1 To Pin #2led2 =3, //将 LED 2 连接到 Pin #3led3 =4, //将 LED 3 连接到 Pin #4led4 =5, //将 LED 4 连接到 Pin #5led5 =6; //将 LED 5 连接到引脚 #6//---------------------------调用函数--------- ---------------------// void allon(){ digitalWrite(led1, HIGH);数字写入(led2,高);数字写入(led3,高);数字写入(led4,高); digitalWrite(led5, HIGH);}void alloff(){ digitalWrite(led1, LOW);数字写入(led2,低);数字写入(led3,低);数字写入(led4,低); digitalWrite(led5, LOW);}//---------------------------------------- -------------------------------// void setup() { Serial.begin(9600); pinMode(led1,输出); pinMode(led2,输出); pinMode(led3,输出); pinMode(led4,输出); pinMode(led5, OUTPUT);}//---------------------------------------- -------------------------------// void loop() { while (Serial.available()){ //检查如果有可用字节读取延迟(10); //添加延迟以使事情稳定 char c =Serial.read(); //进行串行读取 if (c =='#') {break;} //在单词 voice +=c 后检测到#时退出循环; //voice =voice + c 的简写 } if (voice.length()> 0) { Serial.println(voice);//-------------------- -------------------------------------------------- -// //----------控制多个引脚/ LED----------// if(voice =="*all on") {allon();} / /Turn Off All Pins (Call Function) else if(voice =="*all off"){alloff();} //Turn On All Pins (Call Function) //------------Turn On One-By-One----------// else if(voice =="*TV on") {digitalWrite(led1, HIGH);} else if(voice =="*fan on" ) {digitalWrite(led2, HIGH);} else if(voice =="*computer on") {digitalWrite(led3, HIGH);} else if(voice =="*卧室灯亮") {digitalWrite(led4, HIGH) );} else if(voice =="*bathroom lights on") {digitalWrite(led5, HIGH);} //---------关闭一对一------ ----// else if(voice =="*TV off") {digitalWrite(led1, LOW);} else if(voice =="*fan off") {digitalWrite(led2, LOW);} else if (voice =="*computer off") {digitalWrite(led3, LOW);} else if(voice =="*卧室灯关闭") {digitalWrite(led4, LOW);} else i f(voice =="*浴室灯关闭") {digitalWrite(led5, LOW);}//--------------------------- ----------------------------------------// 语音=“”;}} //初始化后重置变量
项目仓库
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

示意图


制造工艺

  1. RASPBERRY PI 家庭自动化
  2. 在家制作 DIY 作业书写机
  3. 找到我
  4. 如何制作可自定义的打孔键盘按钮
  5. Arduino Joystick
  6. 如何用 Arduino 制作音乐
  7. 如何制作基于 Arduino 的自动开门
  8. 家庭监视器
  9. 如何制作 Arduino 蓝牙控制汽车
  10. 如何在 Arduino 中使用 Modbus
  11. Arduino 教程:迷你钢琴
  12. 如何在家里使用 Arduino Nano 制作迷你示波器