上海羊羽卓进出口贸易有限公司

arduino与传感器 Arduino教程┃数字传感器和模拟传感器的区别

发布时间:2024-11-24 07:11:01

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控制板供电的电...

展开全部内容