4.1 Arduino介绍
智慧小屋整体硬件架构
Arduino是什么
Arduino是一款使用简单,集硬件,软件环境于一身的开源开发平台,旨在为智能硬件爱好者,交互艺术设计师以及电子软件工程师,提供简单易用的开发体验
Arduino包括一个硬件平台 Arduino Board,和一个开发工具 Arduino IDE,两者都是开源的,既可以获得Arduino开发板的电路图,也可以获得Arduino IDE的源代码
Arduino的起源
- 2005年,Massimo Banzi是意大利lvrea一家高科技设计学校的老师
- 他的学生们经常抱怨找不到便宜好用的微控制器
- 西班牙籍芯片工程师David Cuartielles在这所学校做访问学者,他们一起讨论了这个问题
- 两人决定设计自己的电路板
- Arduino诞生了
Arduino的生态发展--开源
Arduino采用Creative Commons(CC)许可,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品
经过十几年的发展,Arduino已经在全球已经售出超过100万件,成为了创客运动、开源硬件的标志
在全球的创客门共同完善与努力下,Arduino形成了硬件、软件完整丰富的开发生态
Arduino的生态发展--丰富的硬件平台
- 官方推出了几十种不同性能、应用的硬件平台
- 全球其他开发者自行设计的更是不计其数
Arduino的生态发展--完善的软件开发资源
- 丰富完整的代码开发资源
- 标准化、易于使用、文档详尽
用Arduino能做什么
基于Arduino硬件+软件生态,让不同专业背景的人员更加方便的进行产品设计、原型开发、创意实现
比如说,用arduino,你可以实现:
- 您想当邮箱有新邮件时,电话会发出警报通知您吗?
- 想要一件闪闪发光的绒毛玩具吗?
- 想要一套按下快捷键就可以进行实验测试蜂音器吗?
- 想为您的儿子自制一个《银河战士》手臂炮吗?
- 想自制一个心率监测器,将每次骑脚踏车的记录存进存储卡吗?
- 想过自制一个能在地面上绘图,能在雪中驰骋的机器人吗?
“即使不懂电脑编程,也能用Arduino做出很酷的东西,比如对感测器作出回应,闪烁灯光,还能控制马达
--Massimo Banz
在arduino官方网站上,提供了很多项目案例
https://create.arduino.cc/projecthub
为什么选择Arduino
世界上有众多的微处理器和对应的硬件平台,Arduino与他们相比,有以下特点
- 简单、清晰的编程方式。电子产品的开发者并不都是电子工程师或程序员,他们甚至包括画家和建筑师(他想为自己的家设计能自动开合的百叶窗)。Arduino并没有使用天书一般的汇编语言,或者复杂难懂的C语言,而是创造了另一种简单、清晰的编程语言。经过简单的学习,便能够开始出色的设计
- 开源的软件+开放的硬件。让你有机会制造无限量的复制品或者创造“进化版”。全球的创客共同完善,提供了异常丰富的资源、开发示例
4.2 Arduino硬件平台
arduino开源控制板
Arduino硬件平台--板载资源介绍
Arduino硬件平台--硬件原理图介绍
- 数字端口:用于0-1逻辑的电平输入,其中以-开头的数字端口,为PWM端口,可以实现脉冲宽度调制
- 模拟端口:A0-A5,完全具备上面数字端口的功能,另外还具备10位的分辨率(整型0-1023)来作为输入读取电压大小
Arduino硬件平台--数字端口
Arduino硬件平台--ADC
模数转换器
即ADC(Analog to Digital Converter),是一种将模拟量转换为数字量的电子器件。Arduino中使用了10位分辨率的逐次逼近式模数转换器(SAR-ADC)
模数转换器的工作原理
模拟量可以通过一次次的比较获得信息,控制电路向逐次逼近寄存器SAR successive approximation register)中写入猜的值,数模转换器将猜想的值转换成对应的电压,送入电压比较器,与输入电压进行比较,比较结果反馈给控制电路,控制电路根据结果调整写入SAR的值,缓冲寄存器会将SAR中的值记录下来,输出转换结果
Arduino硬件平台--PWM端口
脉宽宽度调制式(PWM)开关型稳压电路,是在控制电路输出频率不变的情况下,通过电压反馈调整其占空比,从而达到稳定输出电压的目的
数字端口中带-的端口可以作为PWM信号,实现脉冲宽度调制
Arduino硬件平台--UART协议
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上
数字端口中的0号和1号端口可作为UART的TX和RX
Arduino硬件平台--SPI协议
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线
数字端口中的10-13号端口可作为SCK,MISO、MOSI、SS信号实现SPI协议通信
Arduino硬件平台--12C协议
I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换
模拟端口中的A4、A5以及右上方的两个端口可以作为SCL,SDA信号端口实现12C协议的通信
如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送
如果主机要接收从器件的数据,首先由主器件寻址从器件,然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送
4.3 传感器介绍
什么是传感器
传感器一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求
能感受规定的被测量并按照一定的规律(数学函数法则)转换成可用信号的器件或装置,通常由敏感元件和转换元件组成
传感器的作用
单靠人们自身的感觉器官,在研究自然现象和规律以及生产活动中它们的功能远远不够。传感器是人类五官的延长
传感器是获取自然和生产领域中信息的主要途径与手段
在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数
传感器一般由敏感元件、转换元件、变换电路和辅助电源四部分组成
BME280传感器
BME280是一款环境传感器,可感知环境温度、湿度和大气压强,支持12C和SPI接口,兼容3.3V/5V电平
尺寸小,功耗低、精度高且稳定性好,适用于环境监测、天气预测、海拔高度监测和物联网等应用场景
WEATHER click子板
WEATHER click以BME280为传感芯片,配置了包括12C上拉电阻,供电滤波电容以及电源指示灯等一系列外围电路
СCS811传感器
CCS811是一种数字气体传感器,集成了CCS811传感器和8位MCU(带模数转换器(ADC)),用来检测室内的空气质量,包括二氧化碳(CO2)和广泛的挥发性有机化合物气体(VOCs)。支持12C接口,工作电压为1.8V
3.6V尺寸小,功耗低,灵敏度高,加热快,智能算法计算TVOC/eCO2数值,输出12C信号,直接与主系统通信,适用于环境监测、物联网等应用场景
Air quality 3 click子板
Air quality 3 click以CCS811为传感芯片,配置了包括12C上拉电阻,供电滤波电容以及电源指示灯等一系列外围电路
MQ-5传感器
MQ-5是一款可燃气体传感器,它所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sno2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-5传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器
可燃气体传感器子板
可燃气体传感器子板基于MQ-5传感器,增加了电压比较电路,使得传感器有数字量输出。另外还添加了电源
指示灯,数字信号输出指示灯等外围电路
DO输出为TTL电平输出,可直接接单片机
AO输出模拟量,输出电压为0-5V,浓度越高电压越高
土壤湿度传感器
土壤湿度传感器是判断土壤中水分含量的多少来判定土壤的湿度大小。如图所示,当土壤湿度传感器探头悬空时,三极管基极处于开路状态,三极管截止输出为0;当插入土壤中时由于土壤中水分含量不同,土壤的电阻值就不同,三极管的基极就提供了大小变化的导通电流,三极管集电极到发射极的导通电流受到基极控制,经过发射极的下拉电阻后转换成电压
士壤湿度传感器子板
它具有双路输出,分别为模拟量输出和数字量输出
DO输出为TTL电平输出,可直接接单片机
AO输出模拟量,湿度越大电压越高
蓝色电位器可用于阈值的调节,当浓度高于设定浓度时DO输出低电平,DO输出指示灯亮
光敏电阻
光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应。光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低,亮电阻值可小至1K2以下。光敏电阻对光线十分敏感,其在无光照时,呈高阻状态,暗电阻一般可达1.5MS2。光敏电阻的特殊性能,随着科技的发展将得到极其广泛应用
光敏传感器子板
4.4 WiFi通信模块
无线通信模块WiFi模块
- wifi协议
- wifi应用
- wifi模组硬件电路
Wi-Fi是什么
Wi-Fi是无线保真的缩写,Wi-Fi的英文全称为wireless fidelity
Wi-Fi是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用2.4G UHF或5G SHF ISM射频频段
Wi-Fi是一个无线网络通信技术的品牌,由Wi-Fi联盟所持有。目的是攻善基于IEEE 802.11标准的无线网路产品之间的互通性。有人把使用IEEE 802.11系列协议的局域网就称为无线保真。甚至把Wi-F等同于无线网际网路(Wi-F是WLAN的重要组成部分)
为什么用Wi-Fi
- 其一,无线电波的覆盖范围广。可以实现较大区域的覆盖
- 其二,传输速度比较快,符合个人和社会信息化的需求
- 其三,无须布线。WiFi最主要的优势在于不需要布线,可以不受布线条件的限制
什么是Wi-Fi模块
Wi-Fi模块内置无线网协议IEEE802.11b.g.n协议以及TCP/P协议栈
传统的硬件设备嵌入Wi-F模块可以直接利用Wi-Fi联入互联网,是实现无线智能家居、M2M等物联网应用的重要组成部分
Wi-Fi在物联网场景中的应用
WiFi模组--EMW3080模块
EMW3080是上海庆科(MXCHIP)推出的嵌入式WiFi模块,高度集成ARM CM4F,WLAN MAC/Baseband/RF,最高主频133MHz,内置256KB SRAM,2M FLASH,3.3V单电源供电
应用场景:智能家居/家电、智能照明、智能安防、医疗保健
硬件接口:UART,SPI,I2C、PWM,GPIO,等
EMW3080运行MiC03.0物联网操作系统,支持Micoder 1.0开发系统,通过MiCO集成的TCP/IP协议栈、多种安全加密算法、庆科EasyLink/阿里Alink1.1/Joinlink 3.0/华为Hilink/中移动One Net/国美Gome/苏宁等多种智能配网,以及海外亚马逊AWS/Ayla/微软/IBM/Google/Apple HomeKit等各类智能云端接入协议,向用户直接提供快速、稳定、安全的端到云链接
WiFi模组--WiFi通信子板硬件构成
图中为WiFi子板及其原理图
TXS0102的引入将EMW3080通讯使用的3.3VTTL电平转换为兼容其他电平的格式
除电平转换芯片外,外围电路引出了RESET按键和EasyLink按键(用于启动Wi-Fi模块配网模式),设置了LED3指示子板的运行情况