ARDUINO UNO R3中的ATMEGA16U2-MU的33引脚是干嘛的,新手求教

Arduino UNO R3 入门套件教程- 单核***作者分享的百度云盘资源 -百度云搜索-盘资源
<meta name="description" content="Arduino UNO R3 入门套件教程是百度云用户分享的网盘资源,在百度网盘、百度云盘可以收藏,分享和下载">
特多盘资源&&&&我们只提供百度网盘资源搜索,抓取百度网盘的链接而不保存任何实质资源,仅供学习交流。
当前位置:>>>Arduino UNO R3 入门套件教程
Arduino UNO R3 入门套件教程
资源分类:
资源类型:百度云
浏览次数:519次
下载次数:291
分享用户:
文件大小:1K
发布日期: 21:40
资源类别:
收藏分享:
他还分享了其他资源
百度网盘分享用户推荐
该栏目下其他资源
你可能还喜欢
其它排行榜
特多盘资源() All Rights Reserved广告合作关于本站
免责声明:本站仅提供百度网盘资源搜索服务,不存放任何实质内容。如有侵权内容请联系百度云盘,百度数据源资源删除后本站的链接将自动失效。登录后留言
*联系电话:
*联系邮箱:
您现在选择匿名登录,请谨慎以事实文明留言评价,如果需要举报,请点击顶部右上角的“举报纠错”。查看: 3175|回复: 50
史上最详细的Arduino uno R3接入机智云教程
主题帖子积分
本帖最后由 Genius 于
17:44 编辑
本文出自机智云论坛,版权所有@bigfanofloT,转载请注明出处/thread-.html前言:本文使用 UNO板卡和无线WIFI模块实现了通过手机APP远程监测单片机系统采集的数据和控制一个LED的亮灭,读者将体验到使用机智云智能硬件自助开发平台的MCU代码自动生成工具生成工程,简化开发的强大功能。
一、硬件准备&&名称
&&&&Arduino UNO R3板卡
&&&&正点原子ESP8266 WiFi模块
&&&&10K电位器&&
&&&&轻触按键
&&&&电阻510欧姆
&&&&发光二极管
&&&&杜邦线
接线图如下:
A0读取模拟电压输入;
Key1接到D6;
Key2接到D7;
LED接到D4;
1-接线图.png (248.27 KB, 下载次数: 79)
09:30 上传
实物图如下:
2-实物图.jpg (259.89 KB, 下载次数: 81)
09:30 上传
视频演示:
二、Arduino和机智云简介&&
Arduino是一个开发各类设备,让你比台式电脑更能充分感知和控制物理世界的生态系统。它是一个基于一系列单片机电路板的开源物理计算平台,一个编写用于Arduino和Genuino开发板的软件开发环境和一个拥有活跃开发者和用户社区。Arduino不仅仅是一个单片机、IDE(集成开发环境)或开源库。它本着让使用者快速上手的态度,将传统单片机开发中复杂的硬件设计、繁琐的寄存器配置和杂乱的硬件驱动全部简化,并使用C/C++作为编程语言,优雅地将C/C++的类、多态、继承和重载渗入到硬件开发中。本次使用的是型号为Arduino UNO R3的开发板。
3-illu-arduino-UNO.png (36.05 KB, 下载次数: 33)
09:30 上传
技术规格如下表:&&微处理器&&&&&&&&工作电压&&&&5V&&&&输入电压(推荐)&&&&7-12V&&&&输入电压(限值)&&&&6-20V&&&&数字输入/输出引脚&&&&14路(其中6路可用于PWM输出)&&&&PWM数字I/ O引脚&&&&6&&&&模拟输入引脚&&&&6&&&&每路输入/输出引脚的直流电流&&&&20 mA&&&&3.3V引脚的直流电流&&&&50 mA&&&&闪存存储器&&&&32KB,其中引导程序占用0.5KB&&&&SRAM&&&&2 KB (ATmega328P)&&&&EEPROM&&&&1 KB (ATmega328P)&&&&时钟频率&&&&16 MHz&&&&长&&&&68.6 mm&&&&宽&&&&53.4 mm&&&&重&&&&25 g&&
Arduino开发环境搭建:
参考官方教程即可:
& && &&&机智云平台是致力于物联网、智能硬件云服务的开放平台。机智云专注于提供智能云服务及物联网的软硬件解决方案,帮助传统硬件厂商产品升级,快速实现硬件智能化。要实现硬件的智能化,除了硬件本身外,还需要实现:智能云平台、手机APP、联网模块,每一个领域都需要专业的团队来支撑。机智云提供完整的解决方案,让厂商或开发者只需要专注于自身产品硬件。以最小的成本和风险实现硬件智能化,获得产品最大的增值。
4-机智云平台架构.png (36.18 KB, 下载次数: 33)
09:30 上传
三、让设备具备联网能力& &
&&ESP8266无线WiFi模块是一个串口透传模块,我们把它连接到Arduino UNO R3板卡的串口即可,注意Tx、Rx要交叉连接。
5-通信机制.png (70.64 KB, 下载次数: 27)
09:30 上传
上图是机智云智能硬件设备接入原理,为了实现和机智云服务器的交互,必须先给无线WIFI模块烧录机智云开发的固件,烧写教程查看此帖:
四、Let’s Go!& && & 准备工作做好后,我们就可以开始奇妙的开发之旅啦~
Step1:在机智云开发者中心创建一个产品,给它起个名字,选择WiFi方案,然后点击保存按钮,这样你的产品就在机智云那里“登记”了。
6-创建产品.png (97.52 KB, 下载次数: 39)
09:30 上传
Step2:接着我们创建数据点,数据点即设备产品的功能的抽象,用于描述产品功能及其参数,本次我们需要实现监测Arduino板卡读取的模拟电压和控制LED的亮灭2个功能,因此要建立2个数据点。点击新建按钮;
7-新建数据点.png (71.32 KB, 下载次数: 77)
09:30 上传
Step3:首先建立控制LED亮灭的数据点,要在手机APP上远程控制LED的亮灭,可抽象为手机APP通过网络推送一个二进制量(只有0和1两个值)给设备端。
8-数据点1.png (92.21 KB, 下载次数: 71)
09:30 上传
然后修改下显示名称,这个显示名称是显示在手机APP上的;
9-数据点2.png (77 KB, 下载次数: 71)
09:30 上传
点击确定按钮,然后点击应用使更改生效;
10-数据点3.png (79.61 KB, 下载次数: 72)
09:30 上传
Step4:同样的建立在手机APP上显示Arduino板卡采集的模拟电压值数据点。此功能可抽象为设备端通过网络推送一个数值量给手机APP。
11-数据点4.png (118.95 KB, 下载次数: 29)
09:30 上传
点击确定保存更改;
12-数据点5.png (106.66 KB, 下载次数: 70)
09:30 上传
点击应用使更改生效;
13-数据点6.png (94.03 KB, 下载次数: 29)
09:30 上传
最后,我们得到如下2个数据点;
14-数据点7.png (82.01 KB, 下载次数: 29)
09:30 上传
Step5:数据点建立好后,在MCU开发栏目,选择独立MCU方案,硬件平台为ArduinoUNOR3,点击生成代码包即可生成工程。
15-选择方案.png (109.45 KB, 下载次数: 29)
09:30 上传
稍等几秒,很快就能生成完毕;
16-生成工程.png (60.91 KB, 下载次数: 29)
09:30 上传
工程生成好后,我们下载它;
17-生成OK.png (63.06 KB, 下载次数: 72)
09:30 上传
Step6:解压下载的工程,找到Gizwits文件夹,把它复制/移动到ArduinoIDE安装目录下的libraries文件夹下。例如我的是D:\Arduino\libraries
18-复制库.png (143.04 KB, 下载次数: 71)
09:30 上传
Step7:接下来找到工程目录下的examples文件夹,里面有2个文件夹networkConfig和simpleTry,进去后有同名的Arduino文件,后缀名为.ino。
19-工程目录.png (25.37 KB, 下载次数: 27)
09:30 上传
使用ArduinoIDE打开这2个文件:
20-打开工程.png (78.23 KB, 下载次数: 28)
09:30 上传
simpleTry.ino是本次项目工程,里面有程序框架,以及告知了用户在哪里填充接入机智云的代码;networkConfig.ino是配置入网的例程,因为常见的智能硬件产品是没有键盘和显示屏的,因此需要一种技术来让它获取路由器的SSID和密码,首选是通过手机APP辅助。这里简单的介绍一下方法,通过一个按键来触发设备进入配网模式,然后手机APP把SSID和密码广播给设备,原理如下图:
21-配网.png (237.04 KB, 下载次数: 81)
09:30 上传
这里需要说明的是,机智云开发的配网方案有2种,取名为AirLink和SoftAP,设备第一次联网是要进行配置的,以后它就记住了这个路由器的SSID和密码,无需配置,除非更改了SSID、密码等情况发生,就需要重新进行配网操作。Step8:我们把networkConfig.ino中的部分代码拷贝到本次项目的工程simpleTry.ino中,注意凡是串口打印调试的都要注释掉,因为我们的Arduino UNO R3只有一个串口,要用来和WiFi模块通信。需要根据注释填充2个数据点代码,1是手机端控制LED亮灭,2是板卡采集模拟电压推送到手机APP,具体的接口都给出了详细的注释,我们直接填充就可以啦~
如下图(下载高清大图查看效果更好哦~),左边为我们下载的工程文件simpleTry.ino,右边为修改好后的,作为一个对比,蓝色方框为与配网有关的代码,是从networkConfig.ino拷贝来的,红色方框为与远程点灯有关的代码,橙色方框为与推送模拟电压到手机APP有关代码。
22-代码修改详细对比高清大图.jpg (1009.52 KB, 下载次数: 119)
09:30 上传
Step9:修改好后,编译并烧录代码到Arduino UNO板卡;
23-烧录代码.png (45.35 KB, 下载次数: 69)
09:30 上传
Step10:下载机智云调试APP,调试步骤参考视频或者官网文档中心;
24-移动调试APP下载.png (105.19 KB, 下载次数: 85)
09:30 上传
工程源码:游客,如果您要查看本帖隐藏内容请本文PDF:
(2.02 MB, 下载次数: 186)
09:43 上传
点击文件名下载附件
下载积分: 威望 1 , 金钱 1 , 贡献 1
本帖被以下淘专辑推荐:
& |主题: 3, 订阅: 0
1、机智云QQ群:G1群: G2群: G3群:
机智云爱好者-APP开发群:
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
主题帖子积分
中级会员, 积分 370, 距离下一级还需 130 积分
中级会员, 积分 370, 距离下一级还需 130 积分
从昨天下午一直弄到现在终于好了。
总结一下:
1.按照楼主的硬件连接方式,不好搜到设备设置wifi,可以选择官方的串口调试模拟连接,wifi连上云端在吧模块连接到板子上。
2.主要是烧写问题,烧写完成不知道到底有没有成功,一直想办法测试,最后参考《串口工具与机智云APP配合使用指南》这个确认烧写成功。
3.最新的固件我没成功,最后烧的旧固件。
主题帖子积分
注册会员, 积分 114, 距离下一级还需 86 积分
注册会员, 积分 114, 距离下一级还需 86 积分
这个和云端的数据点是对应的,你修改自己的代码,以生成loop里面注释掉的提示为准 ...
那按照帖子修改simpleTry 的内容后,是不是只需要在protocol.h的typedef enum 中**两个变量,即simpleTry&&中用到的VALUE_ADCVALUE,EVENT_LED_ONOFF就可以了?
不需要去protocol.h里找,loop函数里面注释掉的部分告诉了你怎么改,你看看我那个对比图&
主题帖子积分
注册会员, 积分 114, 距离下一级还需 86 积分
注册会员, 积分 114, 距离下一级还需 86 积分
simpleTry 修改后error: 'VALUE_ADCVALUE' was not declared in this scopesimpleTry.ino:196:27: error: 'EVENT_LED_ONOFF' was not declared in this scope编译有误。故在 protocol.h的typedef enum 添加定义,报错更多。请问楼主除了修改simpleTry还改了其他地方吗?入门小白请赐教
这个和云端的数据点是对应的,你修改自己的代码,以生成loop里面注释掉的提示为准&
主题帖子积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
主题帖子积分
注册会员, 积分 138, 距离下一级还需 62 积分
注册会员, 积分 138, 距离下一级还需 62 积分
主题帖子积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
请问下,开启LED后,过几分钟就自已关闭了,是怎么回事呢?
主题帖子积分
请问下,开启LED后,过几分钟就自已关闭了,是怎么回事呢?
1、机智云QQ群:G1群: G2群: G3群:
机智云爱好者-APP开发群:
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
主题帖子积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
谢谢回复,问题已找到,是我把arduino供电插在电脑USB上了,电脑休眠就没电压了。
主题帖子积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
在请教一个问题。我新建的设备从定义了做了数据点,然后修改程序后下载到arduino里,怎么配置网络还是以前的数据点,K1,K2的作用是什么,按了K2后模块没有清除原来的配置,我该怎么来配置WIFI呢?谢谢!!
你仔细看看哦,按k2不能清除原来配置的&
主题帖子积分
在请教一个问题。我新建的设备从定义了做了数据点,然后修改程序后下载到arduino里,怎么配置网络还是以前 ...
你仔细看看哦,按k2不能清除原来配置的
1、机智云QQ群:G1群: G2群: G3群:
机智云爱好者-APP开发群:
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
主题帖子积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
金牌会员, 积分 1938, 距离下一级还需 1062 积分
你仔细看看哦,按k2不能清除原来配置的
请问怎么清除原来的WIFI配置呢?谢谢
主题帖子积分
注册会员, 积分 85, 距离下一级还需 115 积分
注册会员, 积分 85, 距离下一级还需 115 积分
你仔细看看哦,按k2不能清除原来配置的
主题帖子积分
新手上路, 积分 24, 距离下一级还需 26 积分
新手上路, 积分 24, 距离下一级还需 26 积分
感谢分享。很棒。
主题帖子积分
注册会员, 积分 176, 距离下一级还需 24 积分
注册会员, 积分 176, 距离下一级还需 24 积分
很有用!!
主题帖子积分
中级会员, 积分 370, 距离下一级还需 130 积分
中级会员, 积分 370, 距离下一级还需 130 积分
非常感谢,
主题帖子积分
新手上路, 积分 9, 距离下一级还需 41 积分
新手上路, 积分 9, 距离下一级还需 41 积分
我就看看看
主题帖子积分
注册会员, 积分 130, 距离下一级还需 70 积分
注册会员, 积分 130, 距离下一级还需 70 积分
编译出错啊,真的很醉啊
编译时,你把ESP8266模块和板卡断开。编译应该就能通过了&
什么错误?截图看下,你把下载的文件里面的Gizwits文件夹拷贝到Arduino IDE安装路径了吗&
主题帖子积分
编译出错啊,真的很醉啊
什么错误?截图看下,你把下载的文件里面的Gizwits文件夹拷贝到Arduino IDE安装路径了吗
1、机智云QQ群:G1群: G2群: G3群:
机智云爱好者-APP开发群:
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
主题帖子积分
高级会员, 积分 685, 距离下一级还需 315 积分
高级会员, 积分 685, 距离下一级还需 315 积分
果断收藏先,有时间再看~~
主题帖子积分
中级会员, 积分 477, 距离下一级还需 23 积分
中级会员, 积分 477, 距离下一级还需 23 积分
good,好好学习
主题帖子积分
金牌会员, 积分 1418, 距离下一级还需 1582 积分
金牌会员, 积分 1418, 距离下一级还需 1582 积分
非常非常的详细,楼主整理的辛苦了
站长推荐 /6
本文主要介绍了机智云自助接入流程,并通过实操案例:《机智云调试APP控制云端虚拟设备》,来帮助您快速理解机智云平台的接入原理,即使您现在还没有开发任何设备,也可以快速上手。
开源框架包含Wi-Fi类智能硬件app通用功能的一套源码。只要使用机智云协议的产品,开发者可以直接用该框架的源码实现快速开发配套app,从而满足app开发周期短、成本低的要求。
Gokit3是GoKit产品系列的第三代,支持MCU、SoC、BLE、语音、模式切换等特性。目前支持的SoC方案模组有ESP8266、Hi3518E模组、宇音天下模组等。适于初学者和高级用户。
内含Arduino UNO WIFI 联网教程、固件烧写、二次开发、视频学习案例等。
如果要从Arduino开始,或者从IoT入手,这就是你需要的电路板。
零编码生成智能硬件APP代码
意味着:随着机智云和亚马逊账号的打通,接入机智云的智能设备都可以轻松实现Amazon Echo控制功能您的位置: >
  无线传感器网络是物联网底层网络的重要技术形式,它综合了传感器技术、信息处理技术和无线通信等技术。无线传感器网络节点作为无线传感网络的基本组成部分,它的性能优劣及实用性关系到整个网络的工作效率和工作成本,因此高性能低成本的无线传感节点成为无线传感网络设计的关键。目前传统的无线传感节点主要有两种类型:一种是封装好直接购买可用的节点如Micaz、TelosB节点;另一种是在特定芯片如CC2430、CC2530上自主设计制作的节点。前一种节点性能佳,但价格较贵且可定制性差,后一种节点,虽价格便宜,但开发工作量大,且可扩展的接口少。
  Arduino是近年来快速流行起来的一种控制器,其硬件电路的核心是一个AVR芯片,整块电路板在功能上与单片机开发板类似,但是Arduino板要比单片机开发板在功能上强大很多。ZigBee是一种短距离无线通信技术,它可以很好地解决物联网中最后100 m的通信问题,并且已经广泛地应用于智能交通、智能医疗、智能家居和工业自动化当中。本文针对现有的无线传感网络节点的发展现状,从硬件角度着手,设计了一种基于Arduino的ZigBee无线传感节点,它将Arduino软硬件开源、接口丰富、容易上手、价格低廉、可根据应用需求实现个性化系统设计等特性与ZigBee技术传输延时较低、复杂度低、容量高、功率消耗极低、成本低廉等特性结合到一起,实现更具有实用性和更适用于物联网的无线传感网络节点。
  1 硬件整体设计
  无线传感网络节点硬件电路包括处理器模块、传感器模块、无线通信模块及电源模块。其中,电源部分为整个节点提供能量,其余3个均是耗能模块。本文采用Arduino Uno R3功能板的电路作为硬件设计的基础电路板,并结合实际需求在该电路基础上进行组成部件的删减和功能模块的增加。Arduino Uno R3是Arduino USB接口系列的最新版本。其上的所有参考设计均是基于AVR芯片ATmega328的,二者的管脚是兼容的。
  节点的各个模块中,处理器模块采用单片机ATmega328P&PU作为CPU对传感数据进行采集、处理和传输,单片机ATmega16U2-MU作为转换芯片实现USB接口数据与处理器串口数据的对接。传感器模块设为接口模式,没有直接选定传感器并将该传感器连接到电路中。传感器模块接口包括数字信号接口和模拟信号接口。无线通信模块采用Digi公司生产的XBee ZB模块,XBee ZB模块通过RX、TX串口与单片机进行数据通信。电源模块采用电池供电和USB供电协作模式,为了避免电池供电和USB供电同时接入电路产生冲突,采用 FDN34 0P场效应管来实现电池供电和USB供电模式的自动切换。此外,节点还通过硬件辅助的形式控制传感模块和无线通信模块的工作状态,以降低节点的工作能耗。无线传感网络节点硬件系统结构框图如图1所示。
  2 模块设计
  2.1 处理器模块
  节点硬件系统处理器模块的元器件选型主要是基于Arduino Uno R3功能板。Arduino Uno R3电路板的主控芯片是ATmega328P&PU,USB转串口芯片是ATmega16U2-MU。单片机ATmega328P&PU是一款高性能低功耗的AVR微控制器,它的工作电压是1.8~5.5 V,片上包含32 kB的Flash、1 kB的EEPROM以及2 kB的SRAM,有6个模拟输入接口,有14个数字输入输出接口且数字接口中有6个PWM模拟输出接口,晶振频率是16 MHz。这款单片机能够完全满足传感节点的处理器需求。该单片机的外围电路中,需要在5 V电源与管脚reset之间连接一个110欧姆的电阻,因为Arduino Uno R3提供自动复位设计,可以通过在主机上运行相应程序进行自动复位,但本节点的复位模式设计为外部电路触发复位模式,所以需在管脚reset位置进行电路修改。另外,需要在ATmega328P&PU的XTAL1、XTAL2引脚之间接尺寸小、可靠性能佳的陶瓷振荡子CSTCE16MOV53-R0,而不是接普通的16 M晶振。负责USB一串口数据转换功能的AVR芯片ATmega16U2-MU内置有支持USB2.0的USB控制装置,它支持数据的全速转换,有控制、批量、中断以及同步这4种工作模式。ATmega 16U2-MU外接16 MHz晶振,以此给芯片的内部PLL提供参考时钟,使得内部PLL可以为USB全速转换提供需要的48 MHz&0.25%参考时钟。ATmega16U2-MU的PD2(RXD1)引脚接单片机ATmega3 28P&PU的TXD输出串口,PD3(TXD1)接单片机ATmega 328P&PU的RXD输入串口,以提供TTL电压水平的串口收发信号。另外,ATmega16U2-MU芯片的D-引脚接USB接口的数据线D-,D+ 引脚接USB接口的数据线D+。
  2.2 传感器模块
  为了增强无线传感节点的复用性,传感器模块电路设计中,未包含传感器元件,而是采用接口形式连接传感器元件,并为其提供工作电路。物联网中常用的传感器元件按输出信号类型可分为模拟传感器和数字传感器,因此节点传感器接口需包含这两种数据接口。节点传感器数字信号接口和模拟信号接口直接由处理器模块核心芯片ATmega328P&PU的数字输入输出口和模拟输入口引出。ATmega328P&PU共有14个数字输入输出接口,本节点的设计中,TXD、 RXD数字接口作串口,有两路数字接口作串口状态灯控制口,有一路数字接口作无线通信模块工作模式控制口,有一路数字接口作传感器工作模式控制口,还有一路数字接口作电源能量监测控制口,因此节点传感器模块中的传感器数字接口共有7个,模拟数字接口共有6个。常用的传感器模块如DHT11温湿度模块、 HX711称重传感器模块、BH1750FVI光照度传感器模块等,均可通过该通用接口与节点进行连接。
  为了降低无线传感节点的能耗,本节点设计传感器数据进行周期性采集,即传感器在采集一段时间的环境信息后进入休眠状态,再经过固定的休眠时间后返回到工作状态,从而降低传感器元件对电源能量的消耗。这里的传感器工作模式切换设计为单片机接口控制传感器模块电源通断模式。单片机接口控制电源通断功能通过三极管S8550驱动电路作开关、继电器HK4100F作负载来实现。三极管S8550是一种常用的普通三极管,它是一种低电压、大电流、小信号的PNP型硅材料三极管。继电器HK4100F是一种价格低廉的6管脚电子控制器件,实际上是一种利用较小电流来控制较大电流的&自动开关&,它能够在电路中提供自动调节、安全保护和转换电路等功能,主要由铁芯、线圈、衔铁和触点簧片组成。当电路在线圈两端加上一定电压后。线圈会流过一定的电流,从而产生电磁效应,于是衔铁在电磁吸引力的作用下克服弹簧的反弹拉力与铁芯吸合,从而使继电器的内部动触点与静触点(常开触点)导通;当线圈两端断电后,线圈的电磁吸引力消失,衔铁会在弹簧的反作用力下回到原来的位置,从而使继电器的内部动触点与原来的静触点(常闭触点)导通,由此实现了外部电路的导通和切断。
  单片机接口控制传感器模块电源通断具体的电路连接情况为,三极管S8550的基极经4.7 k&O电阻与单片机ATmega328P&PU的一路数字接口连接,发射极与继电器HK4100F内部线圈的一个外部引脚连接,集电极接地。继电器 HK4100F常闭触点的外部引脚接地,常开触点的外部引脚接传感器的工作电源正极。当单片机引脚输出高电平时,三极管截止,继电器线圈两端无电位差,继电器衔铁释放,常闭触点导通,即传感器电源关闭;当单片机引脚输出低电平时,三极管饱和导通,继电器衔铁吸合,常开触点闭合,即传感器电源开启。三极管截止瞬间,继电器线圈中的电流无法突变为零,两端会产生一个电压较高的感应电动势,有可能会击穿三极管,因此需要在继电器线圈两端并联一个常见的反向耐电压为100 V的小信号二极管1N4148,以释放瞬间感应电动势,如此,既保护了三极管,也消除了感应电动势对其他电路的干扰。单片机接口控制HK4100F线圈通断电路原理如图2所示。
  2.3 无线通信模块
  本节点的无线通信模块采用的是美国Digi公司生产的XBee ZB模块,该模块按照ZigBee协议设计并把ZigBee协议内置进片内Flash,其内部包含有全部的工作外围电路以及完整的ZigBee协议栈,虽然体型小,但却是一个功能完善的ZigBee收发器(具备接收器和发射器),它的工作模式是双向半双工式,可交替地发送或接收数据昀。XBeeZB模块只需少量的功耗便可进行可靠的远端数据传输。该模块的室内传输距离为40米,室外传输距离为120米,发射功率为3 dBm,具有AT和API两种配置模式且拥有专门的PC端配置软件X&CUT,可直接在PC端对模块进行发射功率、信道等网络拓扑参数的配置,使用起来简单快捷。XBee ZB模块通过DOUT和DIN与处理器模块中的单片机串口进行通信,DOUT接单片机ATmega32 8P&PU的RXD引脚,DIN接TXD引脚。该模块的工作模式共有5种,分别是空闲模式、发送模式、接收模式、命令模式和睡眠模式。当XBee ZB模块没有接收或发送数据时,模块进入空闲模式;当串行接收缓冲区内的串行数据已接收并打包准备好时,模块自动退出空闲模式准备发送数据,进入发送模式;当天线接收到一个合法的RF数据包时,该数据将会转送到串口发射缓冲区内,模块进入接收模式;当命令模式字符序列形成时,模块进入命令模式;当接收到休眠触发时,模块进入睡眠模式,XBee ZB仅支持终端节点睡眠模式触发,且有管脚休眠和周期休眠两种触发模式。睡眠模式可大大降低模块的能耗,XBee ZB模块的管脚休眠触发机制是:当休眠控制管脚Sleep_RQ处于高电平状态时,模块开启睡眠模式;管脚处于低电平状态时,模块关闭睡眠模式。本节点设计使用单片机数字输出口控制来实现XBeeZB模块的正常工作模式与睡眠模式之间的切换,电路连接上,ATmega328P&PU的一路数字接口引脚与 XBee ZB模块的Sleep_RQ管脚连接以控制Sleep_RQ管脚的电平状态,再以软件程序进行辅助,设置XBee ZB模块进行周期性休眠,从而降低节点无线通信模块的能耗。节点无线通信模块电路连接框图如图3所示。
  2.4 电源模块
  节点正常工作所需要的电压有5 V和3.3 V。Arduino Uno R3电路中有3种供电方式,并且能够自动选择供电方式,这3种供电方式分别是:外部直流电源通过电源插座供电、USB接口供电以及电池连接电源连接器的 GND和VIN引脚供电,其中,电源插座供电和电池供电的输入电压范围为7~12 V。本节点在Arduino Uno R3供电原理基础上选择锂电池供电和USB接口供电两种模式共同提供5 V工作电压,节点电路的另一路工作电压3.3 V则由稳压管LP2985&33DBVR通过对5 V电压进行转换获得。电源模块电路中5 V电压供电方式的自动选择通过场效应管FDN340P实现,FDN340P是一种P沟道增强型绝缘栅场效应晶体管,具有输入电阻高、噪声小、功耗低、动态范围大、无二次击穿现象、安全工作区域宽等特点。节点电源供电电路中,一路锂电池输入VIN连接到稳压管NCPG的输入端,另一路经二分之一分压电路分压后连接到电压比较器的正输入端V+,电压比较器的负输入端V-连接的参考电压为3.3 V。电压比较器的输出Vo与场效应管FDN340P的栅极连接,USB电源线与场效应管FDN340P的漏极相连接,场效应管的源极作为电压输出端并与5 V电源线连接。当电源模块仅有锂电池供电时,5 V电源直接由稳压管NCPG输出;当电源模块仅有USB供电时,V+V-,Vo输出高电位,FDN340P的栅极和源极之间的电位差为0,场效应管关断,USB供电截止,仅锂电池供电。另外,USB电源线信号并不与FDN340P场效应管的漏极直接连接,而是在二者之间连接了一个自恢复保险丝MF&MSMF050&2(500mA),MF&MSMF050&2是一种可重置的保险丝,它能够为电路提供过电保护,当通过保险丝的电流超过500 mA时,保险丝断开连接,从而保护了USB电路。电源模块供电电路框图如图4所示。
  实际应用中,节点的供电电源多是锂电池,节点的正常工作依赖于锂电池,因此电池余量的对实时监测就显得格外重要。本节点使用DS2438智能锂电池监测芯片作为监测锂电池电池剩余容量的硬件装置。DS2438为电池组提供了一系列有用的功能,包括有唯一的标识电池组的序列号,有内置的数字温度传感器因此电池组不再需要接热敏电阻,有测量电池电压和电流的内置A/D转换器,有记录电池电流流入流出总量的集成电流累加器,有运行时间记录器,还有40字节的非易失EEPROM,主要用于储存电池的一些重要参数如
  电池化学类型、电池容量、电池充电方式以及电池组装日期。DS2438芯片能够自动采集当前电池的充放电状态、温度、电流、电压以及剩余电量等数据,并存放到片上存储器中。本节点中,DS2438芯片的DQ引脚与单片机的一路数字接口相连接,当芯片满足工作条件时,开始进行电池信息采样,等到DS2438 芯片采样完成后,单片机再读取DS2438的片上电流累加寄存器(ICA)中的数值并进行相应的数据处理,即可得到无线传感节点供电锂电池的当前剩余电量值。
  3 结束语
  节点设计实现了以Arduino开源平台为基础以ZigBee技术进行数据传输的无线传感节点硬件系统。并分别给出了硬件系统处理器模块、传感器模块、无线通信模块以及电源模块各部分的设计方法,从硬件选型到具体设计思路都一一作了阐述。该硬件系统具备低能耗、可连接通用传感器、有电源电压检测功能等特点。此设计方案成本低廉、性能较高、经济适用,符合设计初衷,且具有良好的应用前景,可应用于物联网中,为监测物联网环境参数提供了高性能低成本的无线传感节点设计方案。
非常好我支持^.^
不好我反对
相关阅读:
( 发表人:方泓翔 )
评价:好评中评差评
技术交流、我要发言
发表评论,获取积分! 请遵守相关规定!提 交
Copyright &
.All Rights Reserved

我要回帖

更多关于 arduino uno 的文章

 

随机推荐