Arduino ADC

ADC代表模数转换器,用于将模拟输入电压转换为数字形式。
在Arduino UNO板中,有一个多通道10位ADC。这里,10位意味着0-3.3V或0-5V的输入电压被映射成范围0到1023的数字值。Arduino UNO上共有6个ADC引脚。这些引脚是A0~A5。为了最简单地理解这一点,我们将使用电位计和Arduino UNO板创建一个电路。在这个电路中,我们将使用电位计向Arduino UNO提供模拟电压。

带Arduino UNO的电位器电路图
Arduino ADC
在Arduino编程中,我们将使用analogRead()函数读取模拟电压并将其转换为数字。
语法是:analogRead(Pin_name)。必须指定想从中读取模拟电压的引脚。
下面是从电位计读取模拟电压的示例代码。
int ang_pin=A0; //指定模拟量引脚
void setup()
{
  pinMode(ang_pin,INPUT); //设置为输入模式
  Serial.begin(9600);
}
void loop()
{
  int ang_data=analogRead(ang_pin); //读取模拟量并转换
  Serial.print("Analog Data:");
  Serial.print(ang_data); //输出数据 0-1023
  Serial.print(",");
  Serial.println(ang_data * 5.0 / 1024); //输出电压值
  delay(500);
}
将数据打印到串行监视器上,最后给出500毫秒的延迟。
Arduino ADC
在串行监视器中能看到,输出的数据在0到1023之间。因此,ADC将0至5伏之间的电压,转换为了0至1023间的数值。假设输入电压是1伏,那么它的等效数字值将是204。你会在串行监视器上看到204。类似地,如果输入电压为2伏,你会看到408。
- 本文为本站原创文章,转载请保留出处。
- 文章链接:https://www.xpstem.com/article/10630

2022-05   阅读(514)   评论(0)
 标签: 创客 Arduino

涨知识
UART

UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。

评论:
相关文章
ESP32 Arduino 开发框架

Arduino开发环境下适用于ESP32芯片系列开发板的应用开发框架。


【ESP32 C++教程】Unit1-2 C++类基础知识

本小节主要介绍C++ 类相关的基础知识,包括类的定义、继承、多态,范围作用域等。


【ESP32 C++教程】Unit1-1 开发环境准备

本讲主要介绍VSCode Arduino开发环境的搭建,及与Arduino IDE开发环境的比较。


Arduino-ESP32与ESP-IDF的版本对应表

Arduino-ESP32与ESP-IDF的版本对应表。


ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


Arduino 数据结构: 队列Queue

Queue 库提供了一个通用的 C++ 动态队列实现,专为在 Arduino 项目中使用而定制。


小鹏浇花套件单机版程序V1.0.0

本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。


Arduino 数据结构: ArrayList

ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。


ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


理解 MSBFIRST(最高有效位)和 LSBFIRST(最低有效位)

在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。