arduino入门教程基础-模拟读取串口

这个例子向你展示了如何使用电位计(变阻器)读取来自物理世界的模拟输入。电位计是一种简单的机械装置,当轴转动时,它提供不同量的电阻。通过电压流经你的开发板,形成模拟输入,开发板可以测量电位计产生的电阻量作为模拟值。在这个例子中,在建立Arduino或Genuino与运行Arduino软件(IDE)的电脑之间的通信后,你将能监测到你的电位计状态。

硬件要求

-Arduino或Genuine开发板

-10K欧姆电位计(变阻器)

回路

用三根线从电位计连到你的开发板。第一根线经过电位计外部引脚接地。第二根线经过电位计另一个外部引脚接5伏特电压。第三根线经过电位计中间引脚接模拟引脚A0.

通过转动电位器的轴,你就改变了滑动器两侧的电阻量,它连接到电位计的中心销上。这也改变了中心引脚的电压。当中心和连接到5伏那侧的电阻接近于零时(另一侧的电阻接近10K欧姆),中心引脚的电压接近5伏。当电阻反转,中心引脚的电压接近0伏或接地。你正在读取的输入就是模拟电压。

Arduino和Genuino开发板有一个内置回路,称作模拟到数字转换器或ADC,用于读取可变电压并转换为0到1023之间的数字。当轴朝一个方向一直转动,转到0伏引脚,输入的值就是0.当轴朝相反方向一直转动,转到5伏引脚,输入的值就是1023. analogRead()返回0到1023之间的数字,与引脚上的电压成比例。

示意图

代码

以下实例中,你在setup()函数中要做的唯一的事就是以每秒9600位的数据建立开发板与电脑之间的通信,命令为:

Serial.begin(9600);

下一步,在你的主循环代码中要设置一个变量,存储来自电位计中的电阻值(介于0到1023之间,最好使用int数据类型)。

int sensorValue = analogRead(A0);

最后,你要把信息打印到串口监视器窗口上。在代码最后输入命令:

Serial.println(sensorValue);

现在,当你打开Arduino软件(IDE)中的串口监视器(点击软件右上角绿色工具栏上的透镜图标,或者使用快捷键Ctrl+Shift+M),你可以看到0到1023之间变化的稳定数据流,与滑动器的位置对应。当你改变电位计,这些数字几乎会立即响应。

/*
  AnalogReadSerial
  Reads an analog input on pin 0, 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.

  This example code is in the public domain.
*/

// 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);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}

 

 

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

标签:

分享到:

扫一扫在手机阅读

扫一扫 在手机阅读、分享本文

上一篇: 下一篇:
全部回复1人评论1,465人参与
  1. 1楼
    企业咨询

    来访,支持下

    2017-02-17 02:34:48 回复

电子邮件地址不会被公开。 必填项已用*标注

loading