0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何从输入传感器读取数据以及如何使用串行监视器

454398 来源:网络整理 作者:佚名 2019-11-04 08:43 次阅读

步骤1:接线分压器

如何从输入传感器读取数据以及如何使用串行监视器

第一步是连接Arduino以读取由光敏电阻产生的电阻确定的电压。您可以根据示意图简单地为电路板布线(线的颜色无关紧要,但有助于确定目的)。

Arduino上的A0-A5引脚使您可以读取或写入模拟信号传感器,例如光敏电阻,旋钮(电位计)和温度传感器。这是Arduino网站上模拟引脚的描述:

Arduino板包含一个6通道,10位模数转换器。这意味着它将把0到5伏之间的输入电压映射为0到1023之间的整数值。这将产生读数之间的分辨率:5伏/1024单位或每单位.0049伏(4.9毫伏)。

光敏电阻,也称为光敏电阻(LDR)或光电池,其工作原理是根据检测到的光强度来限制通过它的电压量。电阻随着光输入的增加而减小-换句话说,光越多,穿过光敏电阻的电压就越大。

为了利用光敏电阻,您将创建一个分压器 strong》-一种无源线性电路,可将输入电压分配给两个或多个组件(类似于Y型分配器)。

要创建本课程所需的分压器,您将:

将Arduino 5V引脚(输入电压)的电压连接到电路(使用面包板)。

将输入电压连接到静态电阻器(10k Ohm)

建立从静态电阻器出来的分压器:

一条通往模拟引脚的路径( A0)

通向可变电阻器(光敏电阻)的一条路径

完成从动态电阻器到地的电路。

随着光敏电阻的电阻增加(较低的光强度),更多来自10k欧姆电阻的输入电压将被阻塞并转移到A0引脚。这意味着进入光敏抗蚀剂的光强度越小,它产生的电阻就越大,这又将更多的电压转移到A0引脚(电压必须流到某个地方)。同样,进入光敏电阻的光越强,它产生的电阻就越小,这又意味着要转移到A0引脚的电压就更少。

简而言之,到A0引脚的电压就越大,

以下是具体的接线说明(请参阅本课程的面包板图像):

光敏电阻

将光敏电阻器如图所示插入面包板。

电阻器

从光敏电阻器的一侧跨几行连接一个10k-Ohm电阻器。

电线

按图所示连接电线:

红色:

将5V引脚连接到面包板上的红色/正侧栏。

将红色/正侧栏连接到连接了电阻器引线但未连接光敏电阻的行(这是分压器静态电阻器部分的输入电压)。

黄色:将黄色电线从静态电阻器的另一端连接(该电线应与静态电阻器引线和一个光敏电阻引线)连接到Arduino的A0引脚(这是分压器的一条路径,另一条路径穿过光敏电阻)。

黑色:

将容纳另一根引线的行从光敏电阻连接到面包板上的黑色/负侧栏。

将面包板的黑色/负侧栏连接到Arduino的GND引脚。这样就完成了电路。

注意:您可以将5V引脚直接连接到与静态电阻的单独引线相同的行,并将GND直接连接到光敏电阻的单独引线,但是我喜欢养成将Arduino的5V和GND引脚连接到侧轨的习惯。这将在以后的课程中派上用场。

步骤2:编写代码

使用Arduino IDE创建一个新草图。新草图有两种残存方法。

void setup() {

// put your setup code here, to run once:

}

void loop() {

// put your main code here, to run repeatedly:

}

在设置方法之前,您需要为连接到光敏电阻的模拟引脚声明一个变量。

//Photoresistor Pin

int analogPin = 0;

void setup() {

// put your setup code here, to run once:

}

正如您在上一课中所回顾的那样,设置方法在固件启动时运行一次。在本课程中,目标是将来自光敏电阻的电压值写入串行监视器。为此,您将使用Serial.begin方法启动串行监视器,并传入波特率(每秒位数)。

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

}

下一步,您将编写代码以读取原始数据从A0传入(请记住,它将是0到1023之间的一个值,即1024步或单位),并将其转换为电压读数(0.0V至5.0V)。

void loop() {

// put your main code here, to run repeatedly:

// read the raw data coming in on analog pin 0:

int lightLevel = analogRead(analogPin);

// Convert the raw data value (0 - 1023) to voltage (0.0V - 5.0V):

float voltage = lightLevel * (5.0 / 1024.0);

// write the voltage value to the serial monitor:

Serial.println(voltage);

}

第3步:上传固件

在上传固件之前,最好验证一下目标板和连接的端口(如果您不记得这一点,请检查上一课)。

按“上载”按钮编译固件并将其发送到Arduino。

步骤4:打开串行监视器

将草图编译并上传到Arduino之后,单击Arduino IDE右上方的放大镜图标。这将打开串行监视器。

步骤5:在串行监视器中读取电压

固件正在运行且串行监视器已打开,您将看到从光敏电阻读取的数据(注意:在上图中,我使用了Arduino Uno,而不是Yun)。当固件正在运行并且您在串行监视器中看到数据时,请尝试覆盖光敏电阻(从而减少光并增加光敏电阻的电阻,并将更多电压推至引脚A0)或在光敏电阻上发光(从而增加光敏电阻)。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监视器
    +关注

    关注

    0

    文章

    763

    浏览量

    32832
  • 输入传感器
    +关注

    关注

    0

    文章

    3

    浏览量

    6408
收藏 人收藏

    评论

    相关推荐

    ADV7179输出PAL-D视频至监视器为什么默认彩条有阴影?

    ,RGB上都有)。请问可能的原因是什么、以及如何改进设计?ADV7179输出接口通过RCA和同轴线缆接监视器
    发表于 11-23 07:45

    在配置位中启用了监视器( WDT) 函数,监视器将自动启动是为什么?

    如果在配置位中启用了监视器( WDT) 函数, 监视器将自动启动。 默认的时钟源为内部低速 10 kHz 时钟。 重置时间 = 超时延迟时间 = 218 1026 /10k= 26.3秒
    发表于 08-24 06:36

    带有土壤电容传感器的Arduino植物监视器

    电子发烧友网站提供《带有土壤电容传感器的Arduino植物监视器.zip》资料免费下载
    发表于 06-29 09:30 1次下载
    带有土壤电容<b class='flag-5'>传感器</b>的Arduino植物<b class='flag-5'>监视器</b>

    模具监视器报警了怎么处理?图灵慧眼教程# 模具监视器#

    监视器
    jf_06850557
    发布于 :2023年06月16日 13:41:25

    模具监视器是什么?

    模具监视器是一种能够监测模具加工过程的设备。它通常被安装在模具加工机床上,在模具制造过程中实时监控模具的性能和状态。模具监视器利用传感器或其他检测装置收集模具的温度、压力、形变、振动等数据
    发表于 06-16 13:23

    串行监视器和上传到NodeMCU ESP8266的问题如何解决?

    这个学期我们在学校使用 ESP8266。在执行每周任务时,我遇到了这个问题: 当代码上传到 ESP8266 并且串行监视器打开时,我收到了这个错误: \'COM4
    发表于 06-06 13:03

    无法串行监视器控制ESP8266怎么解决?

    连接 Arduino 时,Arduino IDE Lybrary 的串行监视器上就绪。在我使用了一些来自互联网的草图之后它工作正常,但是一周后我想从那里的串行监视器命令 ESP8266
    发表于 05-31 06:10

    结合LCD读取PMS7003传感器,PMS传感器只读一次的原因?

    我有一个草图,其中使用端口 D6 和 D8 作为串行端口 Plantower PMS7003 传感器读取数据。在同一个草图中,我将
    发表于 05-30 14:02

    ESP32连接到WiFi时,LDR和湿度传感器不正常是怎么回事?

    我正在使用 ESP32 开发板。我有一个代码只是数据传感器,没关系,在串行监视器中显示了勇气。当我连接到 WiFi 时出现问题,因此任何端口都设置为“0”,然后 LDR 和湿度传感器
    发表于 05-30 08:46

    串行监视器中出现Stacktrace错误怎么解决?

    我解码了我在串行监视器中获得的 ESP8266 堆栈跟踪: 代码:全选Decoding stack results 0x40211de4: operator new[](unsigned int
    发表于 05-29 07:18

    如何将PIR传感器连接到Nodemcu板?

    我正在尝试将 PIR 传感器连接到我的 Nodemcu 板。但是,串行监视器仅显示一个。我几乎什么都试过了,还有电路板的 3.3v 到传感器
    发表于 05-23 07:33

    在我的串行监视器上使用简单的AT COMMANDS?

    我正在尝试在我的串行监视器上使用简单的AT COMMANDS 使用 php 脚本将数据发送到我的 sql,但我的 ESP8266 没有收到 +IPD 回复。除此之外,数据没有到达我的
    发表于 05-19 08:15

    ESP8266-01在串行监视器中显示垃圾怎么处理?

    串行监视器中输出大量垃圾,而 Blynk 应用程序表示 ESP 未连接到网络。从那时起我就尝试过闪烁空草图或示例中的其他一些东西,无论我做什么,串行监视器都会显示大量垃圾。我试过改变模
    发表于 05-10 12:35

    A02yyuw超声波传感器与Esp8266问题求解

    我最近使用了 A20yyuw 超声波传感器。我一直在通过与串行监视器上的 esp8266 接口来测试传感器,它得到“错误”读数,所以我打印了它每次都得到相同值的值,即使我改变了
    发表于 05-10 09:52

    LPC55S06-EVK如何使用HS-SPI读取压力传感器

    我是一个新手,第一次接触嵌入式系统,所以对我来说很简单……我正在摆弄压力传感器,尝试使用 SPI 接口读取数据。我正在努力使用 HS-SPI(高速 SPI)串行通信外设
    发表于 04-25 07:03