【Arduino】ADC模拟量输入

【Arduino】ADC模拟量输入Arduino 自己的硬件 ArduinoUno 模拟输入功能有 10 位精度 即可以将 0 3 3V 的电压信号转换为 0 1023 的整数形式表示

大家好,欢迎来到IT知识分享网。

目录

1、模拟信号

2、ADC输入

analogRead()函数

analogReadMillivolts

 analogReadResolution

3、示例


1、模拟信号

        生活中,接触到的大多数信号都是模拟信号,如声音、温度的变化等。如图1所示,模拟信号是用连续变化的物理量表示的信息,信号随时间作连续变化。在模拟输入引脚是指带有ADC(Analog-to-Digital Converter,模数转换器)功能的引脚。非常常见的外设,用于将模拟信号(如电压)转换成数字信号。以便可以读取和处理。

        Arduino自己的硬件Arduino Uno模拟输入功能有10位精度,即可以将0~3.3V的电压信号转换为0~1023的整数形式表示。ESP8266也是只有10位,而ESP32,默认12位分辨率,可以接受0~3.3V电压信号转换成0~4095的整数形式表示。

        下图是ESP8266 min-D1开发板引脚定义,仅有A0引脚支持ADC输入,

Pin

说明

ESP-8266 内部引脚

TX

TXD

TXD

RX

RXD

RXD

A0

Analog input, max 3.3V input

A0

D0

IO

GPIO16

D1

IO, SCL

GPIO5

D2

IO, SDA

GPIO4

D3

IO, 10k Pull-up

GPIO0

D4

IO, 10k Pull-up, BUILTIN_LED

GPIO2

D5

IO, SCK

GPIO14

D6

IO, MISO

GPIO12

D7

IO, MOSI

GPIO13

D8

IO, 10k Pull-down, SS

GPIO15

G

Ground

GND

5V

5V

外部电源

3V3

3.3V

3.3V

RST

Reset复位

RST

        ESP32-S3 集成了两个 12 位 SAR ADC,每个ADC有10个通道,共支持 20 个ADC输入

【Arduino】ADC模拟量输入

2、ADC输入

analogRead()函数

        此函数用于用于获取给定引脚/ADC通道的ADC原始值

analogRead(pin)

        pin: 读取的模拟输入引脚的名称,被指定的引脚必须是模拟输入引脚,该值未校准。

analogReadMillivolts

        该函数用于获取给定引脚ADC通道的ADC原始值,并将其转换为mV校准结果。

uint32_t analogReadMilliVolts(uint8_t pin);

pin :读取的模拟输入引脚的名称。

 analogReadResolution

        此函数用于设置返回值的分辨率。默认值为 12 位(范围为 0 到 4095) 对于除 ESP32S3 之外的所有芯片,默认为 13 位(范围从 0 到 8191)。 当设置不同的分辨率时,读取的值将被移动以匹配给定的分辨率

范围是 1 – 16 。如果未使用此函数,则将使用默认值

void analogReadResolution(uint8_t bits); //bits设置模拟读取分辨率 //注意:对于 ESP32,分辨率介于 9 到 12 之间,它会改变 ADC 硬件分辨率。否则值将被转移。

3、示例

模拟量接线注意:

测量模拟量引脚A0电压,通过analogRead()函数读取,关系:0-1023<—->0-3.3V

void setup() { //定义波特率 Serial.begin(); } void loop() { // 从A0针脚读取模拟量的数值 int sensorValue = analogRead(A0); //将模拟量转为电压,(模拟量0-1023,对应的电压是0-3.3V) float voltage =sensorValue*(3.3/1023.0) /发送到串口监视器输出 Serial.println(voltage); delay(1); }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/147521.html

(0)
上一篇 2025-04-06 20:45
下一篇 2025-04-06 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信