首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ADC是什么?Arduino中ADC如何使用?

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

用于连接电位计和Arduino UNO的Arduino代码

int pot_pin=A0;

void setup()

{

pinMode(pot_pin,INPUT);

Serial.begin(9600);

}

void loop()

{

int pot_data=analogRead(pot_pin);

Serial.print("Pot Data:");

Serial.println(pot_data);

delay(500);

}

代码的工作

int pot_pin=A0;

首先,创建一个名为pot_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()函数。

Serial.print("Pot Data:");

Serial.println(pot_data);

delay(500);

}

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

输出窗

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220310A04OS800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券