查看“开源智能插座/zh”的源代码
←
开源智能插座/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称:Microduino开源智能插座 *目的:手机控制插座通断 *难度:低 *耗时:2小时 *制作者: *简介: 智能插座主要由控制模块和电路部分组成,用户可以使用手机连接蓝牙模块([[Microduino-BT/zh]])并发送命令、接收电路状态,核心控制模块([[Microduino-Core/zh]])对数据进行分析之后控制继电器对电路进行控制。 [[File:123.png||300px|center]] ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-BT/zh]] ||1||蓝牙通信 |} *其他设备 {|class="wikitable" |- |模块||数量||功能 |- |底壳+电路板||1||核心板 |- |外壳||1||下载程序 |- |长螺丝 ||1||固定外壳与底壳 |- |短螺丝 ||1||固定底壳与电路板 |- |M3螺丝刀 ||1||拧螺丝 |} ==实验原理== [[File:Chazuotheory.jpg||600px|center]] *电路控制原理 智能插座的电源控制分为两部分,分别是电压转换和继电器控制两部分。 首先介绍一下电压转换部分,由于家庭中的电源多为220伏特的交流电,而Microduino-Core工作在5伏特的直流电压环境下,这部分的功能就如同一个变压器,像手机的充电插头一样转换了电压。 另一部分是继电器控制,继电器是当输入电压的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。由于Microduino-Core核心控制引脚输出的电压很小,不能直接给电器供电,因此需要通过控制继电器从而间接控制家庭电源。 *无线通信原理 本套件使用了蓝牙无线通信模块Microduino-BT,由于Microduino的蓝牙模块很好的屏蔽了底层的协议,所以关于蓝牙协议这里不再赘述,使用它只需确认蓝牙串口的接法,默认是D2,D3。,给出一张蓝牙通讯所使用的串口图,所有的串口连接方法都涵盖在该图中: [[File:Microduino-BT-2Big1.jpg||600px|center]] *主要器件 [[Microduino-BT/zh]] ==文档== 智能插座代码:【'''[[media:MicroduinoBluControlOutlet-master.zip|插座代码]]'''】 智能插座Github:[https://github.com/Microduino/MicroduinoBluControlOutlet MicroduinoBluControlOutlet] ==调试过程== *程序下载 将Microduino Core、Microduino USBTTL堆叠在一起.用数据线将写好的程序通过Microduino USBTTL上传到Microduino Core上。 注意:最好不要将所有模块堆叠在一起之后再上传程序 在弹出的对话框中找到MicroduinoBluControlOutlet.ino并双击打开 [[File:bluecontrol.jpg||500px|center]] 之后点击左上角的"√"进行编译,点击上边栏的工具,确认板卡(Microduino-Core)处理器(Atmega328P@16M,5V)和端口号(COMX)。三项都如图确认无误之后点击"→"按钮下载程序到开发板上 [[File:Chooseboard.jpg||500px|center]] *搭建 先使用三个4mm螺丝将电路板固定在底壳上 [[File:Chazuo1.jpg||500px|center]] 将Microduino-BT与Microduino-Core插接好并插接在智能插座的底板上 [[File:Chazuo2.jpg||500px|center]] 将智能插座外壳扣入底壳并使用8mm长螺丝旋入,固定上下外壳,至此智能插座部分搭建完成 [[File:Chazuo3.jpg||500px|center]] 将智能插座插入家中的插座。手机充电器插在智能插座上,并按下开关钮,可以看到指示灯亮起,手机开始充电。调试智能插座。图中: ①为开关按钮 ②是上电指示灯 ③是智能插座通断指示灯 [[File:Chazuo4.jpg||500px|center]] *手机端APP 首先使用手机扫描二维码,下载蓝牙App,下载完成后打开 [[File:Chazuo2d.jpg||500px|center]] 点击SCAN,搜索周围蓝牙设备,发现并点击Microduino [[File:Chazuoandroid1.jpg||500px|center]] 等待1-2秒,待屏幕上出现ready字样可以开始操作智能插座 [[File:Chazuoandroid2.jpg||500px|center]] 点击屏幕中间的按钮开关就可以控制智能插座的通断了,同时插座上的按键也可以控制插座的通断,手机APP上可以实时同步开关的状态 [[File:Chazuoandroid3.jpg||500px|center]] ==注意问题== *与电接触很危险,注意用电安全!一切安装操作都不能接电!安装好接电后就算智能插座是关闭状态,也一定不要触摸电源插口! *如果蓝牙采用了蓝牙原理图中的Serial10跳线法,在用Microduino-Core和Microduino-USBTTL组合烧录程序时,不要将蓝牙模块也叠上去,会引起串口冲突,正确的做法是将程序烧录完毕后,拔下Microduino-USBTTL,再将蓝牙与Microduino-Core模块叠放在插座底板上。 ==程序说明== *主程序部分 <source lang="cpp"> void loop() { // 如果串口有数据就读取串口中的数据,串口每次传输一个字符,因此要进行转换 while (my_Serial.available() > 0) { tmp += char(my_Serial.read()); delay(2); } //如果从串口中读取的内容不为空,进行状态判断 if (tmp.length() > 0) { if(tmp == "on") //如果收到的内容为on { Serial.println("power on"); //串口显示:上电 digitalWrite(outletPin, HIGH); //将开关指示灯点亮 swith = true; } else if(tmp == "off") //如果收到的内容为off { digitalWrite(outletPin, LOW); //关闭开关指示灯 Serial.println("power off");//串口显示:关闭 swith = false; } tmp = ""; } if(key_get(Button_Pin, 0)) //用于物理按钮,当每次按键按下并松开后 { delay(300); swith = !swith; //翻转开关状态 } if(change != swith) //如果开关状态有变化 { change = swith; //用change记录本次操作的开关状态 if(swith) //如果是开状态 { digitalWrite(outletPin, HIGH); //点亮指示灯 my_Serial.println("ON"); //告知蓝牙模块开启智能插座 } else { digitalWrite(outletPin, LOW); //关闭指示灯 my_Serial.println("OFF"); //告知蓝牙模块关闭智能插座 } } } </source> ==视频==
返回至
开源智能插座/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息