ADC是什么?

ADC是模拟数字转换器的缩写。ADC用于将模拟输入电压转换为数字形式。每个微控制器都必须有ADC,因为所有的微控制器只能在数字输入和输出电压下工作。因此,ADC将模拟电压转换为数字电压,并将其传递给微控制器。在Arduino UNO板中,有一个多通道10位ADC。这里,10位表示0-3.3 v或0- 5v的输入电压映射为0- 1023的数字值。在Arduino UNO上共有6个ADC引脚。这些引脚是A0, A1, A2, A3, A4和A5。为了以最简单的方式理解这一点,我们将使用电位器和Arduino UNO板创建一个电路。在这个电路中,我们将使用电位器为Arduino UNO提供模拟电压。

电位器的引脚图

电位器的引脚图

Arduino UNO电位器电路图

Arduino UNO电位器电路图

在Arduino编程中,我们将使用analogRead()函数读取模拟电压并将其转换为数字电压。语法为:analogRead(Pin_name)。在括号内,你必须提到你想从哪里读取模拟电压的引脚。下面是从电位器读取模拟电压的示例代码。

Arduino代码接口电位器与Arduino UNO

int pot_pin = A0;void setup() {pinMode(pot_pin,INPUT);Serial.begin (9600);} void loop() {int pot_data=analogRead(pot_pin);系列。打印("壶数据:");以pot_data);延迟(500);}

工作的代码

int pot_pin = A0;

首先,创建一个变量名为pot_pin来存储连接中间pin的pin号

void setup() {pinMode(pot_pin,INPUT);Serial.begin (9600);}

在void setup()函数中,首先设置pot_Set A0引脚作为输入,因为Arduino将使用该引脚从电位器读取数据。然后使用serial .begin(96000)命令,启动波特率为9600的串口通信。这是在串行监视器上显示电位器数据所必需的。

void loop() {int pot_data=analogRead(pot_pin);

在void loop()函数中,创建另一个名为pot_data的变量来存储Arduino从电位器接收到的数据。为此,我们将使用analogRead()函数。

系列。打印("壶数据:");以pot_data);延迟(500);}

将电位器数据打印到串行监视器上,最后给出500毫秒的延迟。

输出窗口

您可以在串行监视器中清楚地看到,我们在串行监视器上获得的数字值介于0到1023之间。电位计的连接电压介于0和5伏之间。因此,ADC将获得0到5伏之间的值,并将其转换为0到1023的范围。假设输入电压为1伏,则其等效数字值为204。串行监视器将显示204。类似地,如果输入电压为2伏,您将获得串行监视器的等效数字值408。这样,0到5伏之间的所有值都映射到0到1023。

作者

评论都关门了。

Ezoic报告这个广告
Baidu