目录
3.1 实验题目
- 本次实验题目为:基于Arduino开发板的电位器控制LED灯实验
3.2 实验目的
- 通过基于Arduino开发板的电位器控制LED灯实验,学习如何使用电位器(变阻器)读取模拟输入,并通过程序控制LED灯的亮度。
3.3 实验原理
- 电位器产生的模拟信号通过Arduino的模拟输入引脚读取,然后通过程序映射到LED灯的亮度,实现电位器控制LED的亮度。
3.4 实验步骤
- 将电位器的三个引脚连接到5V电源、GND和Arduino的模拟输入引脚。
- 将LED通过电阻连接到Arduino的数字输出引脚。
- 使用Arduino IDE编写程序,读取电位器的值,并将其映射到LED的亮度。
- 上传程序到Arduino开发板。
- 观察LED的亮度随电位器旋钮的旋转而变化。
3.5 实验仪器
完成本次实验所需的元器件如表 3所示。
元器件 | 数量 | 备注 |
Arduino开发板 | 1个 | / |
串口线 | 1条 | / |
面包板 | 1个 | / |
LED灯 | 1个 | / |
1KΩ电阻 | 1个 | / |
250KΩ电位器 | 1个 | / |
杜邦线 | 若干 | / |
3.6 电路设计
如图 3所示,为本次实验的电路设计图。
3.7 程序设计
以下是结合本次实验的电路设计图编写的实验程序,可以直接复制到Arduino单片机中进行烧录,烧录完成后即可实现本次实验要求达到的效果。
int ledPin=10;
int readValue=0;//保存读到的模拟值
int ledValue=0;//保存LED灯占空比
void setup()
{
pinMode(ledPin,OUTPUT);//数字口要选择带~号的具有pwm功能的输出口
}
void loop()
{
readValue=analogRead(A0);//读取A0模拟口的数值(0-5V对应0-1204取值)
ledValue=map(readValue,0,1024,0,255);//将0到1024之间的数据映射成0到255之间的数据
analogWrite(ledPin,ledValue);//PWM最大取值255
}
3.8 实验总结
随着电位器旋钮的旋转,LED的亮度逐渐改变。旋钮旋转到不同位置时,LED的亮度相应地调整。
通过这个实验,我学到了如何使用电位器读取模拟输入,并通过程序映射到LED的亮度。实验中,我遇到了一些问题,例如电路连接错误或映射函数的理解不清晰,但通过仔细检查和学习相关知识,我成功解决了这些问题。这个实验为我理解模拟输入和PWM输出提供了实际经验,并拓展了我在Arduino开发中的应用能力。