Arduino 中用于从传感器读取模拟和数字数据的函数

简介: Arduino 提供了多种函数,用于从传感器读取模拟和数字数据。模拟数据通过 `analogRead()` 函数读取,数字数据则使用 `digitalRead()` 函数。这些函数简单易用,适用于各种传感器,帮助开发者轻松获取环境信息。
  1. 数字数据读取函数

    • 在Arduino中,读取数字引脚的状态可以使用digitalRead()函数。
    • 函数原型digitalRead(pin),其中pin是要读取的引脚编号,这个编号是Arduino板上的物理引脚编号。例如,在Arduino Uno板上,数字引脚编号范围是0 - 13。
    • 返回值:该函数返回值为HIGH(高电平,通常代表逻辑1)或者LOW(低电平,通常代表逻辑0)。
    • 示例代码
      int ledPin = 13;   // 将引脚13定义为LED引脚
      int buttonPin = 2;  // 将引脚2定义为按钮引脚
      void setup() {
      pinMode(ledPin, OUTPUT);
      pinMode(buttonPin, INPUT);
      }
      void loop() {
      int buttonState = digitalRead(buttonPin);
      if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);
      } else {
        digitalWrite(ledPin, LOW);
      }
      }
      
    • 在这个示例中,首先在setup()函数中设置ledPin为输出引脚,buttonPin为输入引脚。然后在loop()函数中,通过digitalRead(buttonPin)读取按钮引脚的状态。如果按钮被按下(引脚为高电平),则点亮连接在ledPin上的LED;如果按钮未按下(引脚为低电平),则熄灭LED。
  2. 模拟数据读取函数

    • 对于模拟数据的读取,Arduino使用analogRead()函数。
    • 函数原型analogRead(pin),这里的pin是要读取的模拟输入引脚编号。在Arduino Uno板上,模拟输入引脚编号通常是A0 - A5。
    • 返回值:该函数返回一个0 - 1023之间的整数值,这个值与输入的模拟电压成比例。例如,对于一个0 - 5V的模拟输入范围,0V对应的返回值是0,5V对应的返回值是1023。
    • 示例代码
      int analogPin = A0;  // 选择模拟引脚A0
      int sensorValue;
      void setup() {
      Serial.begin(9600);
      }
      void loop() {
      sensorValue = analogRead(analogPin);
      Serial.println(sensorValue);
      delay(100);
      }
      
    • 在这个示例中,在setup()函数中初始化串口通信,波特率为9600。然后在loop()函数中,通过analogRead(analogPin)读取模拟引脚A0的电压值,并将这个值存储在sensorValue变量中。接着通过Serial.println(sensorValue)将这个值发送到串口监视器,并且通过delay(100)函数暂停100毫秒,这样就可以不断地读取并发送模拟数据。
相关文章
|
2月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
69 3
|
算法 芯片 异构计算
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
|
8月前
|
传感器
示例十一、声音传感器
示例十一、声音传感器
41 1
|
C++
第七章 输入/输出与中断【微机原理】3
第七章 输入/输出与中断【微机原理】3
161 0
|
芯片
第七章 输入/输出与中断【微机原理】2
第七章 输入/输出与中断【微机原理】2
152 0
第七章 输入/输出与中断【微机原理】1
第七章 输入/输出与中断【微机原理】1
82 0
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
114 0
|
C语言 芯片
单片机|I/O输出功能
单片机|I/O输出功能
124 0
|
传感器
LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)
本篇博文将实现LabVIEW控制Arduino采集多路DS18B20温度数值,关于LabVIEW控制Arduino在基础篇已经讲解过很多种类温度传感器的采集方法。
LabVIEW控制Arduino采集热敏电阻温度数值(基础篇—13)
利用热敏电阻和LIAT中的热敏电阻函数节点,通过Arduino Uno控制板的模拟端口采集与热敏电阻串联电阻的分压值上传给LabVIEW软件,并除以温度系数以获得温度值,实现一个温度计的功能。

热门文章

最新文章