arduino与传感器 Arduino教程┃数字传感器和模拟传感器的区别
Arduino教程┃数字传感器和模拟传感器的区别
传感器是学习Arduino必备的工具,它是Arduino的五官,甚至比人类意义上的五官更为优秀,那经常有人说的数字传感器、模拟传感器是什么呢?它们二者的区别是什么呢?
一、什么是数字传感器、模拟传感器?
简单的来说输出数字量的传感器就是数字传感器,输出模拟量的传感器就是模拟传感器。那什么是数字量,什么又是模拟量呢?
灯泡的亮/灭两种状态
例如:当我们描述一个灯泡是否通电,我们一般会说,灯亮或者灯灭,像这样,只能返回两种状态的量,我们称为数字量。而如果有人说,这个灯好暗,你可以调亮一点吗?那这个时候,我们所描述的就是一个区间的变化量,这就是模拟量。像这样的案例在生活中还有很多,例如你去乡村游玩,看到一口池塘,你远远的看着的时候,可能会想,那个池塘有没有水呢?这个时候,你需要的就是一个数字传感器,帮助你判断有或者无水即可,而等你到了池塘旁边,你可能会想,这个池塘水有多深?水有多少呢?这个时候你就需要一个模拟传感器来帮助你测量水深以及水量。
也就是说,如果一个传感器只能告诉你有或者无,在程序当中,“有”用1、true表示,“无”用0、false表示,那么我们就说这个传感器就是数字传感器;而如果一个传感器能告诉你一个连续变化的量,在程序当中原始返回值是0-1023,那么我们就说这个传感器是模拟传感器。我们也可以说数字传感器是特殊的模拟传感器,它只能返回两个值:0或1,如果用逻辑表达式表示就是false或true。
二、为什么要区分数字传感器、模拟传感器?
为什么要分清楚数字传感器、模拟传感器呢?因为如下图的Arduino UNO主板所示:
Arduino UNO主板介绍(来源:百度图片)
上方标明了digital,管脚上的标识是0-13,这就是数字传感器要连接的区域;下方标明了analog,管脚上的标识是A0-A5,有的只有数字0-5,那就是模拟传感器连接的区域,如果你接错了区域,就不会获取到正确的返回值。
三、如何分辨数字传感器、模拟传感器?
那如何来辨识是数字传感器还是模拟传感器呢?一个最简单的办法就是看传感器的管脚标识,如果是除了VCC和GND管脚之外,剩下的是“AO”,那就是模拟传感器,如果是“DO”,那就是数字传感器,当然由于生产标准不统一,有的厂家生产出来的就是标明是”IO”、“IN”、“OUT”、“S”等标识,这就需要我们去测试了,当然你也可以观看初始化工作室制作的认识各种传感器的视频了解。
常见的数字传感器有:震动传感器、按钮传感器、碰撞传感器、触摸传感器、超声波传感器,常见的模拟传感器有:声音传感器、颜色传感器、雨滴传感器、水位传感器等,你可能奇怪,为什么把超声波传感器放到数字传感器里,它不是返回的是一个变化的距离值吗?这个就要请你阅读我的另一篇文章有关于超声波的原理讲述,你要知道的就是这个距离值不是超声波传感器直接返回的,而是通过数字量返回值计算出来的。当然,还有一些传感器即可以输出数字量,也可以输出模拟量,这个请你要注意,例如初始化工作室曾经分享过的声音、雨滴等传感器都是这样的。为避免广告之嫌,我就不上图了,请到某宝搜索相关传感器的名称即可找到,后面请加上“Arduino”关键词,例如“超声波传感器 Arduino”,要不然搜索到的很多就是工业用传感器了。
四、数字传感器、模拟传感器程序编写有什么区别?
数字传感器与模拟传感器在程序编写上有什么不一样呢?我们来看Arduino IDE中的代码:
数字传感器输入:digitalRead(0)
模拟传感器输入:analogRead(A0)
数字传感器输出:digitalWrite(0,HIGH)
模拟传感器输出:analogWrite(3,0)
识记这些命令很简单,digital是数字,analog是模拟,Read是读取,Write是写入。如下图所示就是Mixly当中的模块与命令的对应图,你可以使用这个软件由模块编程过渡到代码编程,当程序复杂到一定程度的时候,代码的可读性远远超过了模块的可读性,所以真正的大神还是要去敲代码的。
模块与代码对应图
以上就是初始化工作室理解的“什么是数字传感器、模拟传感器”,以及“为什么要分清数字传感器、模拟传感器”、“如何识别数字传感器、模拟传感器”、“常见的数字传感器、模拟传感器有哪些”、“数字传感器、模拟传感器的编程命令有什么区别”,如果有不正确的地方,请各位大神在评论区留言指教。我专注于乐高与Arduino的学习与创意 ,如果需要更多相关课程,请点击“关注 ”按钮关注我,谢谢。
arduino+超声波传感器=超声波雷达(详细图文教程)
超声波雷达简介:
arduino功能真的很强大,很多传感器都可以用arduino制作出很有趣的东西出来,今天将用arduino开发板和超声波传感器做一款超声波雷达,测试的距离是40CM,有障碍物的时候,扫面界面会显示红色,并显示范围和距离
元器件清单
1、arduino开发板
2、超声波传感器(HC-SR04)
3、舵机(SG90)
4、导线
传感器介绍
一、超声波传感器
超声波传感器模块正面
超声波传感器背面
主要技术参数
1:使用电压:DC---5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7: 高精度 可达0.2cm
8: 接线方式:VCC、trig(控制端)、
echo(接收端)、 GND
模块特征
HC-SR04超声波测距模块具有测距距离精确,能和SRF05,SRF02等超声波测距相媲美,测量距离 ** 2cm~450cm (小编实测:10cm~300cm)。工作原理——1)采用IO触发测距,给至少10us的高电平信号。2)模块自动发送8个40KHz的方波,自动检测是否有信号返回。3)有信号返回,通过IO输出一高电平,高电平持续时间就是超声波从发射到返回的时间。只需要提供一个10uS以上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式: uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S) /2;建议测量周期为60ms以上,以防止发射信号对回响信号的影响。
注:
1、此模块不宜带电连接,若要带电连接,则先让模块的GND端先连接,否则会影响模块的正常工作。
2、测距时,被测物体的面积不少于05平方米且平面尽量要求平整,否则影响测量的结果。
二、舵机
舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度。)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。
型号SG90舵机
硬件电路
电路连接图
注意事项:
1、超声波传感器模块正负和舵机正负不要接反了
2、舵机的pwd接arduino引脚12
3、超声波传感器模块
trig(控制端)接arduino引脚2
echo(接收端)接arduino引脚3
软件部分
一、所需软件:
1、aduino IDE
2、 Processing
二、aduino 程序烧写
这里就不具体说怎么烧写arduino程序,网上教程很多,可以参考下,如果确实不会,可以留言
程序代码会在留言版贴出链接
三、打开Processing
启动界面
修改端口
点击运行
打开后就是这样
如果白屏的话,需要切到编辑器,点击左上角的终止键,此时一般会在下方的红条上给出错误信息,按照错误信息修改(一般是串口错误导致)
相关问答
传感器 模块怎么接 arduino 模块?连接传感器模块到Arduino模块需要进行以下步骤:1.确定传感器模块的引脚定义。了解传感器模块的引脚定义,包括引脚编号、连接方式和功能等。2.确定Arduino...
树莓派是否能使用 Arduino传感器 ?当然可以通过gpio完善一下:题主需要知道:是没有arduino传感器这一说的,各种传感器都会输出数据,各种主控都可以自由读取这些数据,只存在Arduino专用扩展板...
压力 传感器 怎么接 arduino 单片机?步骤1:使用一根鳄鱼电缆(如果有,则为红色,因为红色是正极颜色)将Lilypad的‘+’垫连接至传感器。传感器没有极化,因此连接在哪一侧都没有关系。对于模拟...
arduino 灰度 传感器 调节方法?将调节器逆时针方向旋转,返回模拟量变大;将调节器顺时针方向旋转,返回模拟量变小;可以一直调节直到你需要的数值为止。若需要准确的模拟量,可以用程序在液晶...
Arduino UNOR3能不能用SensorShieldV5.0 传感器 扩展板?应该可以,我用的是sensorsheild4能插上就没问题。能插上就表示是专门设计兼容的应该可以,我用的是sensorsheild4能插上就没问题。能插上就表示是专...
arduino 麦克风收到的分贝怎么控制RGB?一种基于Arduino控制的根据分贝变色的rgb灯,包括外壳、LED全彩灯、用于采集环境中分贝值的分贝感应器、ArduinoUno控制板和用于给ArduinoUno控制板供电的电...