什么是ADC?

ADC代表模拟转换器。ADC用于将模拟输入电压转换为其数字形式。每个微控制器都必须具有ADC,因为所有微控制器都仅在数字输入和输出电压上工作。因此,ADC采用模拟电压并将其转换为数字,并将其提供给微控制器。在Arduino Uno板中,有一个多通道10位ADC。这里,10比特意味着将0-3.3V或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,输入);Serial.Begin(9600);void循环(){int pot_data = analogread(pot_pin);serial.print(“罐数据:”);serial.println(pot_data);延迟(500);}

代码工作

int pot_pin = a0;

首先,创建一个变量名POT_PIN,以存储连接中间引脚的PIN号码

void setup(){pinmode(pot_pin,输入);Serial.Begin(9600);}

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

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

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

serial.print(“罐数据:”);serial.println(pot_data);延迟(500);}

将电位器数据打印到串行显示器上,并延迟500毫秒。

输出窗口

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

作者

评论被关闭。