查看: 1065|回复: 0

blinker物联网教程——5、认识传感器

[复制链接]

该用户从未签到

发表于 2021-3-18 17:07 | 显示全部楼层 |阅读模式
本帖最后由 海神 于 2021-6-7 11:02 编辑

简介

传感器传感器是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。如果我们将主控板(这里是wifiduino)比作是人的大脑,那么传感器就相当于人的眼睛、耳朵、鼻子等能感知外界环境的器官。
市面上传感器的种类也是不胜枚举,我们这里主要将传感器分为两类,数字传感器和模拟传感器。这些传感器的使用都大同小异,只需要知道它是输出数字值还是模拟值,然后对应使用digitalRead()或者analogRead()函数读取即可。
本节我们主要介绍数字传感器与模拟输入传感器

常见的数字传感器

按键模块按键模块是一种集成的控制类元器件模块,同时也是一个数字输入模块。模块采用贴片插接座,拥有防反接功能。OpenJumper按键开关是一个数字输入的开关信号,使用digital read (Pin)来读取对应引脚上的数字量0或者1,然后用来做判断或者存入某个变量中。
m19.png
红外避障传感器:红外避障传感器经常被用于公共卫生间便池自动冲水系统中,红外避障传感器主要由一个红外发射器和红外接收器组成。为了避免自然界其他红外光的干扰,传感器中的红外发射器发出经过处理过的周期为38K hz的红外波,模块中的接收器也只能接受38k的红外波。给红外避障传感器通电后,发射器发射的红外光波经过障碍物发射回来,被接收器接收到后,模块便会输出一个0V的低电平(数字0),在默认没有触发的状态下输出3.3V高电平(数字1)。这样便可以将传感器感测到有障碍物这事情告知给主控器(wifiduino)。
kit0400401.jpg.png

常见的模拟传感器

旋钮电位器:电位器是一个可调电阻,其原理如图所示。通过旋转旋钮改变2号脚位置,从而改变2号脚到两端的阻值。实验中,我们需要将电位器13脚分别接到5VGND,再通过模拟输入引脚读取电位器2号脚输出的电压,根据我们旋转电位器的情况,2号脚的电压会在0V5V间变化。
协议型的传感器
kit0400503.png kit0400504.png
DHT11温湿度传感器:除了一些简单的数字和模拟传感器之外,我们还经常会遇到一些协议型的传感器,例如我们用来测量温湿度的DHT11传感器,我们是需要通过特定的协议才能正常读取到它的温湿度值。而我们提到的协议主要分为IIC协议、SPI协议、串口UART协议等等。

常见的执行器

舵机:舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前,在高档遥控玩具,如飞机、潜艇模型,遥控机器人中已经得到了普遍应用。舵机其实是一种电机,它使用一个反馈系统来控制电机的转动位置,所以舵机适用于那些需要角度不断变化并可以保持的控制系统里。例如我们玩过的航模飞机,舵机被用来控制飞行轨迹。在遥控汽车中舵机被用来控制转向。在船模中,舵机同样被用来控制船舵从而控制航行方向,在外面常见的机器人玩具中,机器人运动的关节也由舵机组成。舵机有标准舵机与连续旋转舵机之分,这里我们使用的是转动角度为180°的标准舵机。同时舵机还有模拟舵机与数字舵机之分。这里我们使用数字式舵机。
cgq1.png
传感器扩展板

当我们的wifiduino主板需要连接比较多的电路模块或者传感器的话,明显就wifiduino主板上的接口VCC和GND引脚会显得不够用。
wifiduino传感器扩展板用于堆叠在wifiduino主板中,将主板的IO口扩展出来的同时,为每个IO口添加了一个供电,这样我们可以更加方便的连接传感器模块或者其他扩展硬件模块。
wifiduino传感器扩展板 也兼容wifiduino32和arduino UNO等控制器。

Wifidiuino传感器扩展板引脚定义
cgq2.png
3路单通道IIC接口(他们是同一个IIC引出接口)
16路舵机驱动接口 (通过IIC协议驱动)
6路模拟输入接口 (wifiduino只有一路模拟输入A0
13路数字输入输出接口(wifiduino一部分接口是共用的,只有11路的输入输出接口)
1路串口接口(T连接至wifuinoD1  R连接至wifuinoD0

IO供电选择
通过跳帽A选择IO扩展接口的供电为3.3V或者5V,这是考虑到有些传感器模块是需要3.3V供电,而有的是需要5V供电。 跳帽选择后,所有IO扩展接口的供电只能为同一种电压。

16路舵机接口供电选择
为了解决输出接口不足问题,wifiduino传感器扩展板还提供了16路的I/O扩展接口,他们是通过IIC芯片扩展出来的,需要使用IIC协议来驱动这16I/O口输出状态。而这16个接口同时匹配了单独的电源供电。而这个电源供电也可以通过跳帽B选择,可以选择VIN也可以选择VCC
选择VIN,那么这16路接口的供电来致堆叠在扩展板下方的主板的VIN接口(供电由主板的DC口进入),VIN输入后经过稳压到5V(最大输出电流2A)给16路接口供电。
选择VCC,那么这16路接口的供电来自主板IO的供电,也就是上一跳帽的供电选择,如果跳帽选择的3.3V那么这16路供电输出就是3.3V,如果跳帽选择的是5V,那么这16路供电输出的就是5V。而这3.3v或者5v都是来自于主板提供的供电。



blinker物联网教程目录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

esp32s2 在Arduino IDE调试USB CDC
esp32s2 在Arduino IDE调
各位大佬好,最近尝试弄清如何使用esp32s2的usb功能。然后在Github上找的代码,放到自
一直想做个飞行器,但是出了电小问题
一直想做个飞行器,但是出
这是主函数的源码 extern uint8_t PWM_PIN[8]; void initOutput();//初始化函数 void
Arduino mega2560 usb串口01被modbus master库占用,无法下载程序
Arduino mega2560 usb串口
Arduino mega2560 用来测试modbus master通信,因未发现串口可选择,直接下载了串口(
DIY炫彩灯带,竟如此简单,更有硬件开发工具免费领!
DIY炫彩灯带,竟如此简单
什么是涂鸦Arduino SDK? Arduino 是全球最流行的开源硬件平台,涂鸦官方推出的 Ardui
.h .cpp源代码转.ino草图
.h .cpp源代码转.ino草图
在Github上下载了源码,是.h 和.cpp文件,请问一下,如何才可以转成可以在arduinoIDE
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表