Arduino项目03.Arduino 读取模拟电压

此示例将向你展示如何读取模拟引脚0上的模拟输入。输入从analogRead()转换为电压,并打印输出到Arduino软件(IDE)的串口监视器。

必需的组件

你将需要以下组件:

  • 1 × Breadboard 面包板
  • 1 × Arduino Uno R3
  • 1 × 5K可变电阻(电位器)
  • 2 × 跳线

程序

按照电路图连接面包板上的组件,如下图所示。

123
456

电位器

电位器是一种简单的机电传感器。它将来自输入操作器的旋转或线性运动转换为电阻的变化。这种变化是(或可以)用于控制任何东西,从高保真音响系统到巨大的集装箱船的方向。

我们知道电位器最初被称为变阻器(本质上是一个可变的绕线电阻)。现在可用的电阻器的种类现在相当惊人的,而初学者(特别是)可能很难确定哪种类型适合于给定的任务。一些不同的电阻器类型,都可以用于相同的任务,使得确定工作更难。

pIYBAF1eBUOAXXTOAAB-0b8xr50304
27a975e4ae143e9f

左边的图像显示电阻器的标准原理图符号。右边的图像是电位器。

草图

在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。

Sketch

Arduino代码

void setup() {
   // 初始化串行通信速率为9600bit/s:
   Serial.begin(9600);
}

void loop() {
   // 读取模拟引脚A0的输入数据
   int sensorValue = analogRead(A0);
   // 将模拟信号转换成电压
   float voltage = sensorValue * (5.0 / 1023.0);
   // 打印到串口监视器
   Serial.println(voltage);
}

代码说明

在下面给出的程序或草图中,你在设置功能中做的第一件事是在你的电路板和你的电脑之间以9600比特每秒开始串行通信,使用以下代码:

Serial.begin(9600);

在代码的主循环中,你需要建立一个变量来存储来自电位器的电阻值(其范围在0到1023之间,非常适合int数据类型):

int sensorValue = analogRead(A0);

要将值从0-1023更改为与引脚正在读取的电压相对应的范围,你需要创建另一个变量,一个浮点数并进行一些计算。要缩小0.0和5.0之间的数字,将5.0除以1023.0,再乘以sensorValue:

float voltage= sensorValue * (5.0 / 1023.0);

最后,你需要将此信息打印到串行窗口。你可以用最后一行代码中的Serial.println()命令:

Serial.println(voltage)

现在,通过单击顶部绿色栏右侧的图标或按Ctrl+Shift+M打开Arduino IDE中的串口监视器。

串行监视器

结果

你会看到一个从0.0到5.0的稳定的数字流。当你转动电位器时,这些值会改变,对应于引脚A0上的电压。

发布者:suiyublg,转转请注明出处:https://huibian.net/1403-2/

(0)
suiyublg的头像suiyublg
上一篇 2017年4月13日 16:43
下一篇 2017年4月15日 16:47

相关推荐

  • Arduino教程13.Arduino 时间函数

    Arduino提供四种不同的时间操作函数。它们是: 序号 函数和描述 1 delay() 函数delay()函数的工作方式非常简单。它接受单个整数(或数字)参数。此数字表示时间(以毫秒为单位)。 2 delayMicroseconds() 函数delayMicroseconds()函数接受单个整数(或数字)参数。一毫秒内有一千微秒,一秒内有一百万微秒。 3 …

    2017年3月29日
    27194
  • Arduino传感器02.Arduino 温度传感器

    温度传感器LM35系列是精密集成电路温度器件,输出电压与摄氏温度成线性比例。 LM35器件优于以开尔文校准的线性温度传感器,因为用户不需要从输出中减去大的恒定电压以获得便利的摄氏缩放。LM35器件不需要任何外部校准或调整,即可在室温下提供±1/4°C的典型精度,在-55°C至150°C的温度范围内提供±3°C的典型精度。 技术规格 必需的组件 你将需要以下组…

    2017年4月21日
    19900
  • Arduino教程17.Arduino 布尔运算符

    假设变量A为10,变量B为20,则: 运算符名称 运算符简写 描述 例子 and(与) && 称为逻辑运算符与。如果两个操作数都是非零,那么条件为真。 (A && B)为真 or(或) || 称为逻辑OR运算符。如果两个操作数中的任何一个非零,则条件变为真。 (A || B)为真 not(非) ! 称为逻辑运算符非。用于反转其…

    2017年3月23日
    17400
  • Arduino教程11.Arduino 字符串

    字符串用于存储文本。它们可用在LCD或Arduino IDE串口监视器窗口中显示文本。字符串也可用于存储用户输入。例如,用户在连接到Arduino的键盘上键入的字符。 在Arduino编程中有两种类型的字符串: 在本章中,我们将学习Arduino草图中的字符串,对象和字符串的使用。在本章末尾,你将学习在草图中使用哪种类型的字符串。 字符串字符数组 我们要学习…

    2017年3月27日
    28000
  • Arduino教程32.Arduino millis()函数

    此函数用于返回Arduino板开始运行当前程序时的毫秒数。这个数字在大约50天后溢出,即回到零。 millis()函数语法 millis () ; 此函数从程序开始处返回毫秒。 例子 unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print(“Tim…

    2017年3月29日
    18500

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
欢迎大家来到大雄学编程!