(五)arduino入门:通过电位器控制LED

一、本节介绍

在上一个实验中,您已经学会了如何通过PWM编程控制LED,这是有趣的,虽然听起来很抽象。在本课程中,您将学习如何通过电位计来更改LED的亮度。

二、材料准备

  • 1 * Arduino Uno开发板
  • 1 *面包板
  • 若干杜邦线
  • 1 *电阻(220Ω)
  • 1 * LED
  • 1 *电位器
  • 1 * USB数据线

三、原理讲解

模拟VS数字

线性电位器是模拟电子元件。那么模拟值和数字值之间有什么区别呢?简单地说,数字意味着开/关,高/低电平只有两个状态,即0或1.但是模拟信号的数据状态是线性的,例如从1到1000; 信号值随时间而变化,而不是指示确切的数字。模拟信号包括光强度,湿度,温度等。

在本实验中,使用电位器或电位器来改变电路中的电流,因此LED的亮度将相应地改变。而由于电池是模拟装置,目前的变化很顺利,因此LED逐渐变得更亮或更暗,而不是经过一个明显的逐步过程。

我们这里的意思是模拟信号的数字化,这是接近模拟信号的过程。由于电位计输入模拟信号,因此应连接到模拟端口,即A0-A5,而不是数字端口。

四、实验步骤

步骤1:建立电路

image https://bbs.qutaojiao.com/assets/images/1-Q5im5aI0pX5lHPUy.png

原理图

image https://bbs.qutaojiao.com/assets/images/1-PUiYEAnhelMnXEH8.png

如您所见,电位器连接到SunFounder Uno板的引脚A0,可以测量0V至5V的电压。相应的返回值为0到1024.电压变化的测量精度相对较高。

步骤2:程序

步骤3:编译代码

步骤4:将程序上传到Arduino Uno板

旋转电位器的轴,你应该看到LED的亮度变化。

image https://bbs.qutaojiao.com/assets/images/1-aDUUfjo6b0eYozaj.jpeg

本节课代码:

//******************************************
//由电位计控制
//旋转电位器的轴,您应该看到LED亮度的变化。
//网址:趣讨教http://www.qutaojiao.com/category/course/arduino
//2017.10.14
/************************** ****************/
const int analogPin = A0;//模拟输入引脚连接到模拟引脚A0
const int ledPin = 9; //引脚连接到引脚9
int inputValue = 0;//存储传感器
int outputValue = 0;//存储输出值的变量
/******************************************/
void setup()
{
}
/******************************************/
void loop()
{
  inputValue = analogRead(analogPin);//读取传感器的值
  outputValue = map(inputValue, 0, 1023, 0, 255); //从0-1023转换成与从0到255的数字成比例的数字
  analogWrite(ledPin, outputValue); //转动led依赖于输出值
}
/*******************************************/
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论