Arduino Mixly智能家居
产品介绍:
智能家居是未来的发展趋势。通过远程智能化技术来控制设备的方式已越来越贴近于人们的生活。智能家居也越来越受大家的喜爱和重视,而智能家居系统就是以提高家庭居住环境为目的的,它融合了计算机,网络通信,自动控制等现代科学技术,Arduino 智能家居除了能远程操控之外,还可以实现自动控制功能:窗帘自动切换,下雨自动关窗,天黑自动打开灯等;供电系统使用太阳能方式给锂电池进行充电;进而形成的集功能性的、智能性、服务性为一体的舒适实用、安全便利、绿色环保的智能系统。
Arduino智能家居套件我们提供有Arduino C/Mixly和Scratch图形编程的教程,满足不同年龄段的人。跟随我们享受DIY的乐趣!
2.相关资料下载
资料和实验器材获取:点这里
3.课程实验
第1课LED闪烁
1.1 项目介绍:
前面我们已经组装好了智能家居。接下来的项目我们就要由简单到复杂,一步一步探索Mixly的世界了。LED,即发光二极管的简称。由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。因化学性质又分有机发光二极管OLED和无机发光二极管LED。
为了实验的方便,我们将LED发光二极管做成了一个LED模块,在这个项目中,我们用一个最基本的测试代码来控制LED,亮一秒钟,灭一秒钟,来实现闪烁的效果。你可以改变代码中LED灯亮灭的时间,实现不同的闪烁效果。LED模块信号端S为高电平时LED亮起,S为低电平时LED熄灭。
1.2 模块相关资料:
工作电压: |
DC 3.3-5V |
|
工作电流: |
< 20mA |
|
最大功率: |
0.1W |
|
控制接口: |
数字口(数字输入) |
|
工作温度: |
-10°C ~ +50°C |
|
LED显示颜色: |
黄色 |
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
LED模块 |
3P 转杜邦线母*1 |
1.4模块接线图:
注意:这里体现的是实验使用到的模块接线图,若前面已经组装好智能家居并不用拆掉
1.5 实验程序:
可以直接打开我们编写好的程序:点击文件下的打开然后找到Mixly教程的第一课程序
也可以自己通过拖动代码块来编写代码程序,操作步骤如下:
①点击左侧基本块区,在控制栏目里面拖出初始化图标
②点击输入/输出栏,拖出数字输出代码块,放入初始化里面,设置管脚为5,电平为低,关闭LED。
③再单独复制一个数字输出代码块,设置管脚为5,电平为高,点亮LED
④在控制栏目里拖出延时模块,设置为1000毫秒
⑤再复制一个数字输出代码块,设置管脚为5,电平为低,熄灭LED
⑥再来一个延时1000毫秒
********************************完整的代码如下********************************
上传程序:选择正确串口,波特率是:9600;控制板选择Arduino uno板;然后点击上传程序,程序上传成功会提示上传成功。
1.6实验结果:
将示例代码上传到主板,上传成功后,外接电源供电,将电源板上的拨码开关拨到ON端,再将船型开关上的“1”端按下,同时黄色LED亮1000毫秒,灭1000毫秒,循环交替。
1.7 代码说明:
|
设置引脚5输出高电平 |
|
设置引脚5输出低电平 |
|
延时1000毫秒 |
第2课 呼吸灯
1.1 项目介绍:
前面课程中,我们详细的介绍了通过测试代码控制LED亮灭,实现闪烁的效果。这节课我们使用PWM来控制LED亮度不断地变化,模拟我们呼吸的效果。
PWM是使用数字手段来控制模拟输出的一种手段。使用数字控制产生占空比不同的方波(一个不停在高电平与低电平之间切换的信号)来控制模拟输出。一般来说端口的输出电压只有两个0V与5V。如果想要改变灯的亮度怎么办呢个?有同学说串联电阻,对,这个方法是正确的。但是,如果想要得到不同的亮度,且在不同亮度之间来回变动怎么办呢?不可能不停地切换电阻吧。这种情况下就需要使用PWM了,那它是怎么控制的呢?
对于keyes UNO PLUS开发板的数字端口电压输出只有高与低两个,对应的就是0V与5V的电压输出,可以把低电平定义为0,高电平定义为1,1秒内让keyes UNO PLUS开发板输出500个0或者1的信号。如果这500个全部为1,那就是完整的5V,如果全部为0,那就是0V。如果010101010101这样输出,刚好一半,端口输出的平均电压就为2.5V了。这个和放映电影是一个道理,咱们所看的电影并不是完全连续的,它其实是每秒输出25张图片。在这种情况下,人的肉眼是分辨不出来的,看上去就是连续的了。PWM也是同样的道理,如果想要不同的电压,就控制0与1的输出比例控制就可以了。当然这和真实的连续输出还是有差别的,单位时间内输出的0,1信号越多,控制的就越精确。(输出电压=(开启时间/脉冲时间)*最大电压值)
在下图中,绿线之间代表一个周期,其值也是PWM频率的倒数。换句话说,如果keyes UNO PLUS开发板的PWM频率是500Hz,那么两绿线之间的周期就是2毫秒。
脉冲宽度调制(PWM)有多种应用:灯亮度调节、电机调速、发声等。 以下是PMW的四个基本参数:
(1)脉冲宽度的振幅(最小/最大)
(2)脉冲周期(1秒内脉冲频率的倒数)
(3)电压水平(如:0V-5V)
(4)keyes UNO PLUS开发板的PMW接口:D3 D5 D6 D9 D10 D11
1.2 模块相关资料:
工作电压: |
DC 3.3-5V |
|
工作电流: |
< 20mA |
|
最大功率: |
0.1W |
|
控制接口: |
数字口(数字输入) |
|
工作温度: |
-10°C ~ +50°C |
|
LED显示颜色: |
黄色 |
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
6812模块 |
3P 转杜邦线母*1 |
1.4模块接线图:
注意:这里体现的是实验使用到的模块接线图,若前面已经组装好智能家居并不用拆掉
1.5 实验程序:
可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第2课 呼吸灯\Project_2_PWM |
Project_2_PWM.mix |
也可以自己通过拖动代码块来编写代码程序,操作步骤如下:
①初始化D5引脚上的LED为低电平
③从控制栏目里面拖出以下模块,设置i从0到255,步长为1,就执行方块中的命令(代码)
④从输入/输出栏目里面拖出模拟输出管脚,设置为5,赋值为变量i
⑤拖出一个延时模块,时间设置为5毫秒
⑥从控制栏目里面拖出以下模块,设置i从255到0,步长为-1,就执行方块中的命令(代码)
⑦再拖出一个模拟输出管脚模块,设置为5,并且赋值为变量i
⑧再拖出一个延时模块,时间设置为5毫秒
********************************完整的代码如下********************************
1.6实验结果:
将示例代码上传到主板,上传成功后,外接电源供电,将电源板上的拨码开关拨到ON端,再将船型开关上的“1”端按下,黄色LED灯逐渐变暗。然后又逐渐变亮,循环交替,如人体呼吸一样。
1.7 代码说明:
|
i从0到255,每次加1,间隔5ms |
|
i从255到0,每次减1,间隔5ms |
第3课 6812RGB彩灯
1.1 项目介绍:
我们这个套价中,还有一个Keyes DIY电子积木 6812 RGB模块,这个SK6812 RGB 模块只需要一个引脚就能控制,这是一个集控制电路与电路于一体的智能外控LED光源。每个LED原件其外型与一个5050LED灯珠相同,每个元件即为一个像点,我们这个模块上有四个灯珠即四个像素,实验中,我们分别使不同的灯亮出不同的颜色。
1.2 模块相关资料:
从原理图中我们可以看出,这四个像素点灯珠都是串联起来的,其实不论多少个,我们都可以用一个引脚控制任一一个灯,并且让它显示任一种颜色。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
数据协议采用单线归零码的通讯方式,像素点在上电复位以后,S端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器。这个6812RGB通讯协议与驱动已经在底层封装好了,我们直接调用函数的接口就可以使用,简单方便,LED具有低电压驱动,环保节能,亮度高,散射角度大,一致性好,超低功率,超长寿命等优点。
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
LED模块 |
3P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第3课 6812GRB彩灯\Project_3 |
Project_3_RGB.mix |
这里使用到Mixly库函数,前面若没有导入库函数的,需要添加,添加方法请查看”开发环境配置”。
也可以自己通过拖动代码块来编写代码程序,如下:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
将示例代码上传到主板,上传成功后,外接电源供电,将电源板上的拨码开关拨到ON端,再将船型开关上的“1”端按下,按照接线图连接好线,上电后,我们可以看到模块上的四个灯珠分别亮红绿蓝白色;
1.7 程序说明:
|
接在13号引脚的RGB模块第一位灯珠亮红色 |
|
接在13号引脚的RGB模块第二位灯珠亮绿色 |
|
接在13号引脚的RGB模块第三位灯珠亮蓝色 |
|
接在13号引脚的RGB模块第四位灯珠亮白色 |
第4课 无源蜂鸣器播放音乐
1.1 项目介绍:
本实验用无源蜂鸣器播放音乐,无源蜂鸣器是通过PWM脉冲宽度调制脉冲进而调节音调,
PWM比较多用于调节LED灯的亮度或者调节无源蜂鸣器的频率,或者是电机的转动速度,电机带动的车轮速度也就能很容易控制了,在玩一些Arduino机器人时,更能体现PWM的好处。
音乐除了要“唱的准”,还要“节奏对”,每一个音符的持续时间,就是节拍啦。我们可以用延时多少来设置节拍的,例如:1拍,1秒即1000毫秒;1/2拍,0.5秒即500毫秒;1/4拍,0.25秒即250毫秒;1/8拍,0.125秒即125毫秒….,我们可以试一试组合不同的音调和节拍,看看会有什么不同的效果。
1.2 模块相关资料:
工作电压:3.3-5V(DC)
电流:50MA
工作温度:-10摄氏度 到 +50摄氏度
尺寸:31.6mmx23.7mm
接口:3PIN接口
输入信号:数字信号(方波)
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
无源蜂鸣器模块 |
3P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验程序一
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第4课无源蜂鸣器播放音乐\Project4_Buzzer_music |
Code1.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6 实验程序二
可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第4课无源蜂鸣器播放音乐\Project4_Buzzer_music |
Code2.mix |
********************************完整的代码如下********************************
1.7实验结果:
程序一:上传代码到开发板,蜂鸣器就发出do re mi fa so la si do的声音。
程序二:上传程序到开发板,就会听到无源蜂鸣器先播放“欢乐颂”接着“生日快乐”歌曲;
1.8 代码说明:
在音乐中有两个重要的因素:音调和节拍
:表示无源蜂鸣器信号端是接在D3,管脚设置为3,播放音调为NOTE_C4的声音,节拍为1/4拍。音调是由英文和数字组成的音名,选择不同的音名就能改变不同的音调啦。1(Do)、2(Re)、3(Mi)、4(Fa)、5(Sol)、6(La)、7(Si) 是音乐当中的唱名,就对应了音调下拉选项中NOTE_C、NOTE_D、NOTE_E、NOTE_F、NOTE_G、
1(Do) |
2(Re) |
3(Mi) |
4(Fa) |
5(Sol) |
6(La) |
7(Si) |
NOTE_C |
NOTE_D |
NOTE_E |
NOTE_F |
NOTE_G |
NOTE_A |
NOTE_B |
比如
从NOTE_C到NOTE_B,音调是越来越高的;同时把音调改成字母相同时,数字越大,音调越高。
音乐除了要“唱的准”,还要“节奏对”,每一个音符的持续时间,就是节拍,数字越大,持续的时间越长。这里的1拍表示持续时间是1000毫秒,
1/2拍表示持续时间是500毫秒,3/4拍表示持续时间是750毫秒,1/4拍表示持续时间是250毫秒,依次类推。
第5课 太阳能与USB充电锂电池电源模块
1.实验介绍:
本模块集成一片充放电芯片,通过PH2.0MM接口可以外接可充电电池,我们使用了单节锂电池。模块有一个micro USB充电口与一个太阳板充电口,通过任意一个口都可以对外接的锂电池进行充电。模块上也集成一个升压模块,可将电池电压升到6.6V。通过3P黄色弯排针G、V脚可以输出6.6V电压,排针的S脚可以读取电阻1/2分压后的电池电压,模块上的拨动开关就是3P弯针6.6V的电压输出开关。
2.模块规格参数:
充电接口 |
Micro USB 与 HP2.0MM太阳能板接口 |
太阳能板接口输入电压 |
4.4-6V |
电池恒压充电值 |
4.15-4.24V |
最大充电电流 |
800mA |
输出接口 |
3 P 2.54mm 弯针排针 |
输入电压 |
6.6V |
最大输出电流 |
1A |
外接电池 |
单节锂电池 |
环保属性 |
ROHS |
3.模块的原理图
4.模块的简单功能:
SOLAR4.8-6.0V 端是接太阳能板,太阳能通过太阳能板转化成电能,是电源输入端。
BAT端是接电池盒(可充电电池)的,是电源输出端,给电池充电,可将电能储存在电池内。
这个拨动开关是电源开关,拨到ON端是接通外接单节锂电池,这样单节锂电池的电压通过模块升压到6.5V从G、V引脚流向Plus 开发板,给开发板供电;反之,拨到OFF端是断开外接单节锂电池的电流。
通过microUSB线连接到USB接口和电脑是可以给外接单节锂电池充电的。
第6课 按键控灯
1.1 项目介绍:
按键模块按下我们的单片机读取到低电平,松开读取到高电平。在这一实验课程中,我们利用按键和RGB做一个扩展,当按键按下时即读取到低电平时我们点亮RGB灯,松开按键时即读取到高电平时我们熄灭RGB灯,这样就可以通过一个模块控制另一个模块了。
1.2 模块相关资料:
附原理图,按键有四个引脚,其中1和3是相连的,2和4是相连的,在我们未按下按键时,13与24是断开的,信号端S读取的是被4.7K的上拉电阻R1所拉高的高电平,而当我们按下按键时,13和24连通。信号端S连接到了GND,此时读取到的电平为低电平,即按下按键,传感器信号端为低电平;松开按键时,信号端为高电平。
1.3 实验组件:
|
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
3P 转杜邦线母*1 |
RGB灯*1 |
按键*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第6课 按键控灯\Project_6_Button |
Project_6_Button.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传测试代码成功,上电后,当我们按下智能家居⑪号位置的按键,RGB灯被点亮,松开按键,RGB灯熄灭。
打开串口监视器,波特率设置9600;可以看到按键的电平状态,按键被按下时输出0,未按下输出1;
1.7代码说明:
|
串口显示按键数据 |
|
判断语句:如果......否则...... 如果按键被按下执行点亮RGB灯程序 否则执行熄灭RGB灯程序 |
|
点击蓝色按钮把否则拖到如果下面就得到语句:如果......否则...... |
第7课 光控灯
1.1 项目介绍:
在这个套件中,有一个Keyes DIY电子积木 光敏电阻传感器,这是一个常用的光敏电阻传感器,它主要采用光敏电阻元件。该电阻元件电阻大小随着光照强度的变化而变化,该传感器就是利用光敏电阻元件这一特性,搭建电路将电阻变化转换为电压变化。光敏电阻传感器可以模拟人对环境光线的强度的判断,可广泛应用于各种光控电路,如对灯光的控制、调节等场合,也可用于光控开关。
实验中,我们将传感器信号端(S端)输入到arduino系列单片机的模拟口,感知模拟值的变化,在串口监视器上显示出对应的模拟值,当小于某个值时点亮LED灯。
1.2 模块相关资料:
工作电压: |
DC 3.3-5V |
|
工作电流: |
< 20mA |
|
最大功率: |
0.1W |
|
控制接口: |
输出信号:模拟信号 |
|
工作温度: |
-10°C ~ +50°C |
|
原理图分析:当没有亮光时,电阻大小为0.2MΩ,信号端(2点)检测的电压接近0,当随着光照抢度增大,光线传感器的电阻值越来越小,所以信号端检测的电压越来越小。 |
1.3 实验组件:
|
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
3P 转杜邦线母*2 |
黄色LED模块* 1 |
Keyes 光敏电阻传感器*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第7课 光控灯\Project_7_photocell |
Project_7_photocell.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
按照上图接好线,上传好程序,利用USB线上电后,设置波特率为9600,我们看到在串口显示器中打印出光敏传感器测到的值,光敏电阻传感器测到的值小于等于400时,则黄色LED亮;反之,黄色LED不亮。
1.7代码说明:
这个代码块从指定的模拟引脚A1 读取值。 Arduino 板包含一个多通道、10 位模数转换器。 这意味着它会将 0 和工作电压(5V 或 3.3V我们这里是5V)之间的输入电压映射为 0 和 1023 之间的整数值。例如,在 Arduino UNO 上,这会产生以下读数之间的分辨率:5 伏/1024 单位即每单位 0.0049 伏 (4.9 mV)。在基于 ATmega 的板卡(UNO、Nano、Mini、Mega)上,读取模拟输入大约需要 100 微秒(0.0001 s),因此最大读取速率约为每秒 10,000 次。
A1:要读取的模拟输入引脚的名称(大多数板上的A0到A5,我们plus板上的A0到A7,Mega2560上的A0到A15)。函数返回值为引脚上的模拟读数。虽然它受限于模数转换器的分辨率(0-1023 为 10 位或 0-4095 为 12 位)。
第8课 小风扇转动
1.1 项目介绍:
130电机控制模块采用HR1124S电机控制芯片。HR1124S是应用于直流电机方案的单通道H桥驱动器芯片。HR1124S的H桥驱动部分采用低导通电阻的PMOS和NMOS功率管。低导通电阻保证芯片低的功率损耗,使得芯片安全工作更长时间。此外HR1124S拥有低待机电流,低静态工作电流,这些性能使HR1124S易用于玩具方案。
该模块兼容各种单片机控制板,如arduino系列单片机。模块上自带的防反插红色端子间距为2.54mm,实验中,我们可通过输出到两个信号端IN+和IN-的电压方向来控制电机的转动方向,让电机转动起来。
1.2 模块相关资料:
工作电压: |
3.3-5V(DC) |
最大电流: |
200mA (DC5V) |
最大功率: |
1W |
控制接口: |
双数字口(数字输入) |
工作温度: |
-10°C ~+50°C |
环保属性: |
ROHS |
|
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
Keyes DIY电子积木 130电机模块*1 |
4P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第8课 小风扇转动\Project_8_Fan |
Project_8_Fan.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
烧录好测试程序,打开电源开关后,风扇顺时针转动3秒;停止1秒;逆时针转动3秒;循环交替。
1.7实验扩展:
小风扇转动的速度能不能调?当然能,上传程序”Project_8_Fan2”就可以看到小风扇的转速变慢了,我们只要修改
的数值就可以改变小风扇的转速了(0~255);
1.8代码说明:
将管脚设置为6、7,当6输出为低电平即INA输入低电平,7输出为高电平即INB输入高电平时(输入与输出是相对的,这个实验中对于我们单片机的引脚来说,单片机输出高低电平,自然模块就为输入了,即从单片机输出到模块;例如按键模块则相反,是模块输出到单片机),电机顺时针旋转;当6输出为高电平,7输出为低电平时,电机逆时针旋转;当两个管脚都设置为低电平时,电机停止转动。
第9课 控制舵机
1.1 项目介绍:
当我们在制作智能家居时,经常会将舵机和门、窗等固定在一起。这样,我们就可以利用舵机转动,带动门、窗等开或关,从而起到家居生活的智能化功能。在这课程中我们着重介绍下智能家居套件中的舵机的原理和使用方法。
舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。与马达不同,我们一般控制马达的转速和方向。而舵机更多的是控制指定的角度。常用的舵机可旋转的角度范围是0°到180°。舵机引线为3线,分别用棕、红、橙三种颜色进行区分,舵机品牌和生产厂家不同,会有些许差异,使用之前需查看资料。我们使用的是最常见的舵机,棕、红、橙分别对应“电源负极,电源正极,控制信号”。
1.2 舵机相关资料:
舵机的伺服系统由可变宽度的脉冲来进行控制,橙色的控制线是用来传送脉冲的。一般而言,PWM控制舵机的基准信号周期为20ms(50Hz),理论上脉宽应在1ms到2ms之间,对应控制舵机角度是0°~180°。但是,实际上更多控制舵机的脉宽范围是0.5ms 到2.5ms,具体需要自己实际调试下。
经过实测,舵机的脉冲范围为0.65ms~2.5ms。180度舵机,对应的控制关系是这样的:
高电平时间 |
舵机角度 |
基准信号周期时间(20ms) |
0.65ms |
0度 |
0.65ms高电平+19.35ms低电平 |
1.5ms |
90度 |
1.5ms高电平+18.5ms低电平 |
2.5ms |
180度 |
2.5ms高电平+17.5ms低电平 |
舵机的规格参数:
工作电压: |
DC 4.8V〜6V |
可操作角度范围: |
大约180°(在500→2500μsec) |
脉波宽度范围: |
500→2500 μsec |
外观尺寸: |
22.9*12.2*30mm |
空载转速: |
0.12±0.01 sec/60度(DC 4.8V) 0.1±0.01 sec/60度(DC 6V) |
||
空载电流: |
200±20mA(DC 4.8V) 220±20mA(DC 6V) |
||
停止扭力: |
1.3±0.01kg·cm(DC 4.8V) 1.5±0.1kg·cm(DC 6V) |
||
停止电流: |
≦850mA(DC 4.8V) ≦1000mA(DC 6V) |
||
待机电流: |
3±1mA(DC 4.8V) 4±1mA(DC 6V) |
||
重量: |
9±1g (without servo horn) |
||
使用温度: |
-30℃~60℃ |
1.3 实验组件:
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
180度舵机*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第9课 控制舵机\code |
Project_9_Servo1.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传测试代码成功,外接电源开关打开后,“智能家居的门”由0~90~180度来回转动,停顿时间500ms。
1.7代码说明:
|
接在管脚9的舵机转动180度,并延时500mS |
第10课 水滴警报
1.1 项目介绍:
这是一个常用的水滴水蒸气传感器。它的原理是通过电路板上裸露的金属花纹区检测水量的大小。水量越多,就会有更多的导线被联通,随着导电的接触面积增大,输出的电压就会逐步上升。除了可以检测水量的大小,它还可以检测空气中的水蒸气。即:水滴传感器是一种模拟传感器,可以作为一个简单的雨水探测器和液位开关。当传感器表面的湿度升高时,输出电压将升高,读取到的模拟值即增大。
该传感器兼容各种单片机控制板,如Arduino系列单片机。实验中,将传感器信号端输入到开发板的模拟口,感知模拟值的变化,并在串口监视器上显示出对应的模拟值,当数值达到某一数值时控制蜂鸣器发声。
1.2 模块相关资料:
工作电压: |
DC 3.3-5V |
|
工作温度范围: |
-10℃~+70℃ |
|
最大工作电流: |
5uA (DC5V,或者当水滴传感器两脚直接短接) |
|
控制接口: |
模拟输出 |
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
无源蜂鸣器模块 |
水滴水蒸气传感器模块*1 |
3P 转杜邦线母*2 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第10课 水滴警报\Project_10_Steam |
Project_10_Steam |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传好测试程序,打开Arduino智能家居的电源开关,打开串口显示窗口,设置波特率为9600,我们看到在串口显示器中打印水滴传感器测到的湿度模拟值,传感器表面的湿度升高时,输出电压将升高,读取到的模拟值即增大,当大于700时,无源蜂鸣器发声警报。
1.7 代码说明:
|
①.......初始化 ②.......波特率设置为9600 ③......声明全局变量item为整型 ④......获取水滴传感器的数据并赋值给item ⑤......串口显示item数值 ⑥......延时500mS ⑦......如果数值大于等于700,无源蜂鸣器发出滴滴声 ⑧......否则停止发声 |
第11课 人体红外传感器实验
1.1 项目介绍:
人体红外热释电传感器是一款基于热释电效应的人体热释电红外运动传感器,能检测运动的人体或动物身上发出的红外信号,配合菲涅尔透镜能使传感器探测范围更远更广。它主要采用RE200B-P传感器元件,当附近有人或动物运动时,人体红外热释电传感器能根据检测到的红外线,将红外线信号转化为数字信号并输出一个高电平。它可以应用于多种场合来检测人体的运动。传统的热释电红外传感器体积大,电路复杂,可靠性低。
现在我们推出这款一款新的热释电红外运动传感器,该传感器集成了数字热释电红外传感器和连接管脚。具有灵敏度高、可靠性强、超低功耗,体积小、重量轻,超低电压工作模式和外围电路简单等特点。
1.2 模块相关资料:
工作电压: |
DC 4.5-6.5V |
|
最大工作电流: |
50MA |
|
静态电流: |
<50uA |
|
控制接口: |
数字输出(高电平为3.3V ,低电平0V) |
|
控制信号: |
数字信号1/0 |
|
工作温度: |
-10 ~ 50 ℃ |
|
最大探测距离: |
4米 |
|
感应角度: |
<100°锥角 |
|
触发方式: |
L 不可重复触发/H 重复触发 |
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
人体红外热释传感器*1 |
黄色LED模块*1 |
130电机模块*1 |
|
|
|
||
4P 转杜邦线母*1 |
3P 转杜邦线母*2 |
USB线*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第10课 水滴警报\Project_10_Steam |
Project_10_Steam |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传好代码,打开串口监视器,设置波特率为9600,如果人体红外热释电传感器检测到人体在附近运动时,串口监视器上显示数字信号1,同时外接在数字引脚5的黄色LED将亮起,小风扇转起;如果未检测到人体在附近运动时,串口监视器上显示数字信号0,同时外接在数字引脚5的黄色LED不亮,小风扇停止转起。
第12课 MQ2模拟气体传感器实验
1.1 项目介绍:
气体传感器(MQ-2)可用于家庭用气体泄漏报警器、工业用可燃气体报警器以及便携式气体检测仪器,适宜于液化气、苯、烷、酒精、氢气、烟雾等的探测,被广泛运用到各种消防报警系统中。故因此,气体传感器(MQ-2)可以准确来说是一个多种气体探测器,同时还具有灵敏度高、响应快、稳定性好、寿命长、驱动电路简单等优点。
气体传感器(MQ-2)检测可燃气体与烟雾的浓度范围是300~10000ppm,对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感。在使用之前必须加热一段时间,这样输出的电阻和电压较准确。但是加热电压不宜过高,否则会导致内部的信号线熔断。
模拟气体(MQ-2)传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。处于200~300摄氏度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与空气中可燃气体和烟雾烟雾接触时,如果晶粒间界处的势垒收到烟雾的调至而变化,就会引起表面导电率的变化。利用这一点就可以获得烟雾或可燃气体存在的信息,空气中烟雾或可燃气体的浓度越大,导电率越大,输出电阻越低,则输出的模拟信号就越大。
此外,通过旋转电位器可以调整气体传感器(MQ-2)灵敏度。上电后,传感器上的一个指示灯亮绿灯,并且还可以调节蓝色的正方体电位器,使模块上另一个指示灯介于不亮与亮之间的临界点时,灵敏度最高。
1.2 模块相关资料:
工作电压: |
3.3-5V |
|
工作电流: |
160mA (DC5V) |
|
工作温度: |
0°C ~ 40°C |
|
控制接口: |
数字、模拟输出 |
|
检测浓度: |
300-10000ppm(可燃气体) |
|
浓度斜率: |
≤0.6(R3000ppm/R1000ppm C3H8) |
|
灵敏度: |
Rs(in air)/Rs(1000ppm异丁烷)≥5 |
|
敏感体表面电阻(Rs) |
2KΩ-20KΩ(in 2000ppm C3H8 ) |
1.3 实验组件:
|
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
MQ2传感器*1 |
无源蜂鸣器模块*1 |
3P 转杜邦线母*1 |
4P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第12课 模拟气体(MQ2)传感器实验\Project_12_Gas |
Project_12_Gas.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传好测试程序,打开Arduino智能家居的电源开关,打开串口显示窗口,设置波特率为9600,我们看到在串口显示器中打印MQ2传感器测到可燃性气体的数据,当大于500时无源蜂鸣器发出滴滴的声音(可以用打火机气体测试);未检测到可燃性气体时,无源蜂鸣器不发出声音。
第13课 XHT11温湿度传感器
1.1 项目介绍:
XHT11温湿度传感器(XHT11完全兼容DHT11)是一款含有已校准数字信号输出的温湿度复合传感器,其精度:湿度±5%RH, 温度±2℃;量程:湿度20-90%RH, 温度0~50℃。XHT11温湿度传感器应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。XHT11温湿度传感器包括一个电阻式感湿元件和一个NTC测温元件,非常适用于对精度和实时性要求不高的温湿度测量场合。
XHT11有三个引脚,分别为V,G,和S。S为数据输出的引脚,使用的是串行通讯。
1.2 模块相关资料:
工作电压: |
3.3V-5V(DC) |
|
最大工作电流: |
50mA |
|
最大功率: |
0.25W |
|
控制接口: |
数字双向单总线 |
|
温度范围: |
0-50℃(±2℃) |
|
湿度范围: |
20-90%RH(±5%RH) |
|
工作温度: |
-25℃~+60℃ |
XHT11温湿度传感器的单总线格式定义:
名称 |
单总线格式定义 |
起始信号 |
微处理器把数据总线(SDA)拉低一段时间至少 18ms(最大不得超过 30ms),通知传感器准备数据。 |
响应信号 |
传感器把数据总线(SDA)拉低 83µs,再接高 87µs 以响应主机的起始信号。 |
湿度 |
湿度高位为湿度整数部分数据,湿度低位为湿度小数部分数据 |
温度 |
温度高位为温度整数部分数据,温度低位为温度小数部分数据,且温度低位Bit8 为 1 则表示负温度,否则为正温度。 |
校验位 |
校验位=湿度高位+湿度低位+温度高位+温度低位 |
HT11温湿度传感器数据时序图:
用户主机(MCU)发送一次开始信号后,XHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,XHT11 发送响应信号,送出 40bit 的数据,并触发一次信采集。信号发送如图所示。
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
XHT11传感器*1 |
3P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第13课 XHT11温湿度传感器\Project_13_XHT11 |
Project_13_XHT11.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传测试代码成功,利用USB线上电后,打开串口监视器,设置波特率为9600。串口监视器显示当前环境中的温湿度数据,如下图:
第14课 LCD1602显示
1.1 项目介绍:
Keyes I2C 1602 LCD模块是可以显示2行,每行16个字符的液晶显示器模块。液晶显示器显示蓝底白字,自带I2C通信模块,使用时只需连接单片机I2C通信接口,大大节约了单片机资源。最初的1602 LCD需要7个IO端口来启动和运行,而Keyes I2C 1602 LCD模块内置Arduino IIC/I2C接口,节省了5个IO端口。和Arduino液晶库文件兼容,用起来很简单。
LCD非常适合打印数据和显示数字。可以显示32个字符(16x2)。在Keyes I2C 1602 LCD模块的背面有一个蓝色的电位器,可以转动电位器来调整对比度。连接时请注意,LCD的GND和VCC不能接反,否则会损坏LCD。
1.2 模块相关资料:
工作电压: |
DC5V |
I2C地址: |
0x27 |
控制接口: |
I2C |
工作电流: |
< 130mA |
工作环境温度: |
0°C ~ 45°C(推荐) |
驱动芯片: |
PCF8574T |
GND:一个接地的引脚 |
VCC:一个连接到+5V电源的引脚 |
SDA:一个连接到SDA(或A4)的引脚,用于IIC通信 |
|||
SCL:一个连接到SCL(或A5)的引脚,用于IIC通信 |
背光(蓝底白字) |
可调对比度 |
1.3 实验组件:
|
|
|
|
控制板* 1 |
扩展板* 1 |
Keyes LCD1602模块* 1 |
4P 转杜邦线母*1 |
1.4模块接线图:
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第14课 LCD1602显示\Project_14_1602_LCD |
Project_14_1602_LCD.mix |
也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
1.6实验结果:
上传好程序,打开Arduino 智能家居的电源开关,LED1602显示屏第一行显示keyes;第二行显示Hello,world!
1.7代码说明:
|
LCD IIC地址为0x27 |
|
LCD显示内容 |
第15课 温湿度仪表
1.1 项目介绍:
在冬季时,空气中的湿度很低,就是空气很干燥,再加上寒冷,人体的皮肤就容易过于干燥而裂,所以需要再用加湿器给家里的空气增加湿度,但是怎么知道空气过于干燥了呢?那就需要检测空气湿度的设备。前面我们已经学习了XHT11温湿度传感器和LCD1602显示器,这节课我们就使用这两者结合做一个实验,让温湿度在LCD1602显示,实现温湿度仪表功能。
1.2 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
XHT11传感器*1 |
3P 转杜邦线母*1 |
|
|
|||
Keyes LCD1602模块* 1 |
4P 转杜邦线母*1 |
1.3模块接线图:
1.4 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第15课 温湿度仪表\Project_15_XHT11 |
Project_15_XHT11.mix |
也可以自己拖动代码块编写程序:
寻找代码块(前面介绍过的这里不再重复)
********************************完整的代码如下********************************
1.5实验结果:
上传好示例程序,打开Arduino 智能家居的电源开关,就可以看到LCD1602显示器第一行显示湿度,第二行显示温度
第16课 蓝牙控制LED灯
1.1 项目介绍:
DX-BT24 5.1蓝牙模块是为智能无线数据传输而打造,采用英国DAILOG公司14531芯片,配置 256Kb 空间,遵循V5.1 BLE蓝牙规范。支持AT 指令,用户可根据需要更改串口波特率、设备名称等参数,使用灵活。本模块支持 UART 接口,并支持蓝牙串口透传,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能。
在实验中,我们默认为把蓝牙模块当做从机,手机当做主机。实验中我们在手机上安装对应的APP,在APP上连接蓝牙模块,然后通过手机APP控制智能家居的各元器件实现相应的功能和效果。为此我们还特别设计了分别支持安卓系统和mac系统的手机APP。
1.2 模块相关资料:
(1)参数
蓝牙协议:Bluetooth Specification V5.1 BLE
工作距离:在开放环境中,实现40m超远距离通讯
工作频率:2.4GHz ISM频段
通信接口:UART
蓝牙认证:符合FCC CE ROHS REACH认证标准
串口参数:9600、8数据位、1停止位、无效位、无流控
电源:5V DC
工作温度:–10至+65摄氏度
(2)应用领域:
DX-BT24 模块同时支持 BT5.1 BLE 协议,可以同具备 BLE 蓝牙功能的 iOS 设备直 接连接,支持后台程序常驻运行。主要用于短距离的数据无线传输领域。避免繁琐的线缆 连接,能直接替代串口线。BT24 模块成功应用领域:
※ 蓝牙无线数据传输; ※ 手机、电脑周边设备; ※ 手持 POS 设备;
※ 医疗设备无线数据传输; ※ 智能家居控制; ※ 蓝牙打印机;
※ 蓝牙遥控玩具; ※ 共享单车;
(3)接口说明:
①STATE:状态脚
②RX:接收脚
③TX:发送脚
④GND:接地脚
⑤VCC:电源脚
⑥EN:使能脚
1.3 实验组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
LED模块* 1 |
BT-24蓝牙*1 |
3P 转杜邦线母*1 |
1.4模块接线图:
注:蓝牙对好接口插上去即可
1.5 实验代码:
(1)可以直接打开我们编写好的程序:
文件路径 |
文件名 |
Scratch教程\3. 项目课程\第16课 蓝牙控制LED灯\Project_16_Bluetooth |
Project_16_Bluetooth.sb3 |
(2)也可以自己拖动代码块编写程序:
寻找代码块
********************************完整的代码如下********************************
特别注意::在上传测试代码时,不能连接蓝牙模块,需要把蓝牙模块取下,否则程序上传不成功。先上传测试代码,成功后再连接蓝牙和蓝牙模块,配对,连接APP。
1.6 APP下载和简介
(1)安卓系统手机蓝牙APP(国内):
下载链接:
http://8.210.52.206/keyes-IoT.apk
二维码下载:
下载安装后打开
,出现如下图界面。
控制板上传代码成功后,连接蓝牙,上电后,蓝牙模块上LED闪烁。开启手机蓝牙,点击左上角的SCANING按钮,进行蓝牙搜索和连接
点击连接,蓝牙BT24连接成功,显示如下图,蓝牙模块上的LED变为常亮。
(2)苹果系统手机(平板电脑)APP:
打开App Store。
在APP Store上搜索IoT keyes,点击获取,下载安装APP即可。
下载安装后打开
,出现如下图界面。
点击Connect,再点击BT24就可以连接上蓝牙了,此时蓝牙的红色指示灯为常亮。
在APP中有16个控制按键,当手机APP成功连接上BT-24蓝牙后,我们按下APP控制按键,每按下一个APP上的按键蓝牙发送一个控制字符,蓝牙模块就能接收到一个对应的控制字符,我们在编程时,根据对应按键控制字符设置智能家居各传感器或模块的对应功能。在这个实验中,我们先测试出16个按键对应的控制字符。
1.7实验结果:
上传好测试程序,如上打开APP连接上蓝牙,点击一下
点亮黄色LED灯,再点击一下熄灭LED灯。打开串口监视器,设置波特率为9600。按下手机APP上功能按钮,我们可以看到APP上功能按钮对应的控制字符,如下图:
经过测试,我们得出了手机APP上各个按钮对应的控制字符和各个按钮对应的功能,这里我们整理了一个表格如下:(说明:下图是安卓手机的APP一些操作说明界面(ios的界面基本一样))
按钮: |
功能:配对连接HM-10蓝牙模块 |
按钮: |
功能:断开蓝牙连接 |
按钮: |
控制字符:点一下发送“a”; 再点一下发送“b”。 |
按钮: |
控制字符:点一下发送“c”; 再点一下发送“d”。 |
按钮: |
控制字符:按住发送“e”; 松开发送“g”。 |
按钮: |
控制字符:按住发送“f”; 松开发送“g”。 |
按钮: |
控制字符:点一下发送“h”; 再点一下发送“S”。 |
按钮: |
控制字符:点一下发送“i”; 再点一下发送“S”。 |
按钮: |
控制字符:点一下发送“j”; 再点一下发送“S”。 |
按钮: |
控制字符:点一下发送“k”; 再点一下发送“S”。 |
按钮: |
控制字符:点一下发送“l”; 再点一下发送“m”。 |
拖动条: |
控制字符:拖动拖动条松开时发送“t 50 #”,字符‘t’表示起始字符;数字50表示舵机1的角度;字符‘#’表示终止字符。 |
按钮: |
控制字符:点一下发送“n”; 再点一下发送“o”。 |
拖动条: |
控制字符:拖动拖动条松开时发送“u 34 #”,字符‘u’表示起始字符;数字34表示舵机2的角度;字符‘#’表示终止字符。 |
按钮: |
控制字符:点一下发送“p”; 再点一下发送“q”。 |
拖动条: |
控制字符:拖动拖动条松开时发送“v 100 #”,字符‘v’表示起始字符;数字100表示led2的PWM值;字符‘#’表示终止字符。 |
按钮: |
控制字符:点一下发送“r”; 再点一下发送“s”。 |
拖动条: |
控制字符:拖动拖动条松开时发送“w 153 #”,字符‘w’表示起始字符;数字153表示小风扇的PWM值;字符‘#’表示终止字符。 |
第17课 智能家居完整版课程
1.1 项目介绍:
前面已经安装了智能家居套件的结构部分和学习了各传感器和模块的使用方法,在最后这个综合的实验中,我们来实现智能家居的所有功能。
1.2 实验主要组件:
|
|
|
|
|
控制板* 1 |
扩展板* 1 |
USB线*1 |
LED模块 |
6812模块 |
|
|
|
|
|
无源蜂鸣器模块 |
Keyes 光敏电阻传感器*1 |
Keyes130电机模块*1 |
180度舵机*2 |
Keyes水滴水蒸气传感器模块*1 |
|
|
|
|
|
Keyes人体红外热释传感器*1 |
KeyesMQ2传感器*1 |
KeyesXHT11传感器*1 |
Keyes LCD1602模块* 1 |
BT-24蓝牙*1 |
|
|
|
|
|
Keyes按键*2 |
充电模块*1 |
4P 转杜邦线母若干 |
3P 转杜邦线母若干*1 |
1.3接线图:
传感器模块名称 |
传感器模块引脚与传感器扩展板对应的接线 |
在椴木板上所处的对应位置 |
|
人体红外传感器模块 |
G/V/S |
G/V/2 |
⑩ |
无源蜂鸣器模块 |
G/V/S |
G/V/3 |
⑰ |
按键传感器模块1 |
G/V/S |
G/V/4 |
⑪ |
黄色LED模块 |
G/V/S |
G/V/5 |
⑨ |
小风扇模块 |
GND/VCC/IN+/IN- |
G/V/6/7 |
⑥ |
按键传感器模块2 |
G/V/S |
G/V/8 |
⑫ |
控制门的舵机1 |
棕色线/红色线/橙色线 |
G/V/9 |
① |
控制窗的舵机2 |
棕色线/红色线/橙色线 |
G/V/10 |
⑲ |
MQ-2烟雾传感器模块 |
GND/VCC/D0/A0 |
G/V/11/A0 |
⑭ |
XHT11模块 |
G/V/S |
G/V/12 |
⑤ |
GRB灯模块 |
G/V/S |
G/V/13 |
② |
LCD1602显示屏模块 |
GND/VCC/SDA/SCL |
GND/5V/SDA/SCL |
⑧ |
光敏传感器模块 |
G/V/S |
G/V/A1 |
⑥ |
水蒸气传感器模块 |
G/V/S |
G/V/A2 |
④ |
BT-24蓝牙模块 |
5V/G/RX/TX |
VCC/GND/TX/RX |
1.4 流程图
1.5 实验程序:
由于程序比较大,这里就不贴出来了,请打开我们提供的程序查看。
程序目录:
文件路径 |
文件名 |
Mixly教程\3. 项目课程\第17课 智能家居\Project_17_Smart_home |
Project _17_Smart Home.mix |
1.6代码说明:
(1)在上传代码时,不能连接蓝牙模块,需要把蓝牙模块取下,否则整个程序代码上传不成功。
上传测试代码成功后再插上蓝牙模块,配对,连接APP。
(2)APP的下载和使用参考第16课
1.7实验结果:
组装好智能家居,上传好上面的实验程序,太阳能电源板的开关拨到ON位置,按下船型开关的1,打开手机APP连接好蓝牙,按下APP的功能按键就可以控制智能家居了,功能如下:
(1)
按钮: |
功能:配对连接BT-24蓝牙模块 |
|
按钮: |
功能:断开蓝牙连接 |
|
按钮: |
控制字符:点一下发送“a”; 再点一下发送“b”。 |
功能:点一下,开启门前的RGB灯;再点一下,关闭门前的RGB灯。 |
按钮: |
控制字符:点一下发送“c”; 再点一下发送“d”。 |
功能:点一下,LCD屏显示温湿度; 再点一下,进入输入密码开锁模式。 |
按钮: |
控制字符:按住发送“e”; 松开发送“g”。 |
功能:点一下,播放一次生日快乐歌曲。 |
按钮: |
控制字符:按住发送“f”; 松开发送“g”。 |
功能:点一下,播放一首欢乐颂音乐 |
按钮: |
控制字符:点一下发送“h”; 再点一下发送“S”。 |
功能:点一下,开始接收光敏传感器检测到的数据,light处显示检测到的数据; 再点一下,关闭光敏传感器。 |
按钮: |
控制字符:点一下发送“i”; 再点一下发送“S”。 |
功能:点一下,开始接收气体传感器检测到的数据,gas处显示检测到的数据; 再点一下,关闭气体传感器。 |
按钮: |
控制字符:点一下发送“j”; 再点一下发送“S”。 |
这里没有功能,可自行扩展其他其他传感器 |
按钮: |
控制字符:点一下发送“k”; 再点一下发送“S”。 |
功能:点一下,开始接收水蒸气传感器检测到的数据,water处显示检测到的数据; 再点一下,关闭水蒸气传感器。 |
按钮: |
控制字符:点一下发送“l”; 再点一下发送“m”。 |
功能:点一下,开启门; 再点一下,关闭门。 |
拖动条: |
控制字符:拖动拖动条松开时发送“t 50 #”,字符‘t’表示起始字符;数字50表示舵机1的角度;字符‘#’表示终止字符。 |
功能:拖动条,控制门的转动大小,就是控制舵机1的角度,door处显示拖动条对应的值。 |
按钮: |
控制字符:点一下发送“n”; 再点一下发送“o”。 |
功能:点一下,开启窗户; 再点一下,关闭窗户。 |
拖动条: |
控制字符:拖动拖动条松开时发送“u 34 #”,字符‘u’表示起始字符;数字34表示舵机2的角度;字符‘#’表示终止字符。 |
功能:拖动条,控制窗户的转动大小,就是控制舵机2的角度,win处显示拖动条对应的值。 |
按钮: |
控制字符:点一下发送“p”; 再点一下发送“q”。 |
功能:点一下,开启室内LED; 再点一下,关闭室内LED。 |
拖动条: |
控制字符:拖动拖动条松开时发送“v 100 #”,字符‘v’表示起始字符;数字100表示led2的PWM值;字符‘#’表示终止字符。 |
功能:拖动条,控制室内LED的亮度,led2处显示拖动条对应的PWM值。 |
按钮: |
控制字符:点一下发送“r”; 再点一下发送“s”。 |
功能:点一下,开启小风扇; 再点一下,关闭小风扇。 |
拖动条: |
控制字符:拖动拖动条松开时发送“w 153 #”,字符‘w’表示起始字符;数字153表示小风扇的PWM值;字符‘#’表示终止字符。 |
功能:拖动条,控制小风扇的转速,fans处显示拖动条对应的PWM值。 |
煤气警报:当MQ2气体传感器检测到煤气泄漏时(数值>700,这里可以用打火机气体测试),蜂鸣器发声警报,小于100时停止发声。
下雨关窗:当水滴滴传感器检测数据大于800时,接在引脚10的舵机转动120度关窗,否则转到零度。
天黑开灯:当光敏传感器检测数据小于300并且人体红外传感器检测到有人时,RGB灯亮红色;否则熄灭RGB灯(注:数据小于300的条件下)。
输入密码开门:门上有1602LCD显示屏、两个按钮、舵机1,按按钮1输入密码,正确密码是: . - - . - .
(”.”的意思是点击按钮,” - ”的意思是长按按钮2S以上)输入一位显示屏就显示一个“*” 号,密码输入完成,按下按钮2,如果密码正确,显示屏显示open,舵机1转到100度,开门,5秒之后,人体红外传感器检测到没人时就会自动关门。如果密码错误,显示屏显示error,两秒后显示again之后可重新输入密码。还可以长按,按钮2,蜂鸣器会响,相当于门铃。
Arduino Mixly智能家居相关推荐
- 基于Arduino的智能家居系统设计
基于Arduino的智能家居系统设计 一.设计要求 1.利用DHT11温湿度检测模块和光敏电阻采集环境温度.湿度和光强信息: 2.通过Arduino开发板对DS1302时钟模块进行初始设置,并每隔一定 ...
- arduino灯光装置_基于Arduino的智能家居灯控系统设计
&能应用 ------ T X 阵 W S 2 8 1 2 全 彩 灯 带 R X 工 G N D r 0 引言 智能家居的概念虽然已经有了几十年,但进入我国并取 得一定发展还是最近几年的事, ...
- 基于物联网的室内环境检测云系统设计(树莓派RPI、Arduino、智能家居、RFID、APP)
题 目: 基于物联网的室内环境检测云系统设计 关键词: 树莓派RPI.Arduino.智能家居.物联网 目录 摘要 2 引言 3 系统方案 3 系统硬件设计 6 1)Arduino介绍 6 2)DHT ...
- 基于Arduino的智能家居语音识别系统设计
基于Arduino的智能家居语音识别系统设计 前言: 随着这两年深入中国本土企业,在移动智能终端市场疯狂抢食,英特尔早已"摸清"了中国厂商和市场的情况.现在顺势推出智能 ...
- 基于arduino的智能家居系统
先看这个: https://blog.csdn.net/gsh_hello_world/article/details/56277182 https://blog.csdn.net/gsh_hello ...
- 机智云AIoT+arduino单片机+智能家居系统及安防控制
摘要:提出了一种基于机智云物联网云平台和Arduino单片机控制的智能家居安防系统设计模式,主要研究智能家居系统在无线组网技术和下位机子系统的软硬件功能,经过理论验证.仿真实验.电路搭建到智能家居模型 ...
- 基于Arduino的智能家居系统【ESP8266WIFI模块 DHT11温湿度模块 继电器 加湿模块 APP远程控制 数据上传机智云】
- 智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino
智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ7620手势模块.L298N驱动板.arduino 目录 智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ762 ...
- 一、基于wifi控制的智能家居系统之项目简介和设计方案(硬件基于arduino+esp8266,软件Android+Web端+scoket服务器,实现语音控制)
由于是物联网工程的学生,会一点硬件,会一点Android开发,会一点Web开发,于是乎决定毕设的时候做一个简单一点的毕设,但是能够把所有的知识都应用,串联起来,将所学的知识实践. 一.项目功能介绍 项 ...
最新文章
- (C++) CSP 201803-1 跳一跳
- linux 内核位置无关,Linux内核启动阶段虚实地址映射
- 2018-2019-1 20165234 实验三 并发程序
- 绝对和相对误差(absolute relative error)
- DASH直播平台的搭建
- springboot 禁用 cookie / chrome 禁用 cookie
- [css] 什么是zoom?它有什么作用?
- PID控制器开发笔记之七:微分先行PID控制器的实现
- WebStorm 常用快捷键大全 - 归纳总结篇
- C# 二进制替换第一弹 byte 数组替换
- SpringMvc-MockMvc
- java向注册表单传递数据php_form表单传递数组数据、php脚本接收的实例
- 上交所、深交所证券代码编码规则
- idea 删除当一行或者选中行的快捷键
- image not loaded try to open it externally to fix format problem
- html tr隐藏 边框存在,CSS 设置tr的边框
- 点阵墨水屏的使用以及图像预处理
- 服务器主体信息截图,puppeteer实现线上服务器任意区域截图
- mapbox控件-@mapbox/mapbox-gl-draw使用(vue3)
- Nextcloud基本使用方法