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

必需的组件

您将需要以下组件 - 

  • 1 × Breadboard 面包板

  • 1 × Arduino Uno R3

  • 1 × 5K variable resistor (potentiometer) 5K可变电阻器(电位器)

  • 2 × 跳线

程序

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

电位器

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

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

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

草图

在计算机上打开Arduino IDE软件。 在Arduino语言编码将控制你的电路。 通过单击新建打开一个新的草图文件。

Arduino代码

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/

// the setup routine runs once when you press reset:

void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

// the loop routine runs over and over again forever:

void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

代码说明

在下面给出的程序或草图中,您在设置功能中做的第一件事是开始串行通信,以9600位/秒,在您的主板和您的计算机之间用线 -

Serial.begin(9600);

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

int sensorValue = analogRead(A0);

要将值从0-1023更改为对应于电压的范围,引脚正在读取,您需要创建另一个变量,一个float,并做一点计算。 要在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上的电压。

新闻动态 联系方式 广告合作 招聘英才 安科实验室 帮助与反馈 About Us

Copyright © 2013 - 2019 Ancii.com All Rights Reserved京ICP备18063983号-5 京公网安备11010802014868号