Arduino -8位LED灯显示电位器位置电路设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARDUINO -8位LED灯显示电位器位置电路设计实验报告
2018年12月
Arduino -8位LED灯显示电位器位置电路设计实验报告
一、实验目的
通过电路设计、编程、硬件连接调试等实现用8位LED灯显示电位器的位置的简单功能
二、硬件设备
笔记本电脑、单片机、面包板、8个LED灯、电位器、杜邦线、下载线等。
三、所需软件
编程软件:官方标准开发软件arduino-1.8.8-windows
四、画连线图
图1共阳极连线图
五、控制程序
// 引脚定义
const int analogPin = A0; // 模拟输入
const int ledCount = 8; // led个数,静态常量,不可改动
int ledPins[] = { 1,2, 3, 4, 5, 6, 7,8 }; // 对应的led引脚
void setup()
{
// 循环设置,把对应的led都设置成输出
for (int thisLed = 0; thisLed < ledCount; thisLed++)
{
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop()
{
// 读取电位器的值
int sensorReading = analogRead(analogPin);
// 把对应的值转化成0-最大led个数,这里是8
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
// 循环对比输出到led:
for (int thisLed = 0; thisLed < ledCount; thisLed++)
{
if (thisLed < ledLevel)
{
digitalWrite(ledPins[thisLed], HIGH);
}
else
{
digitalWrite(ledPins[thisLed], LOW);
}
}
}
六、连接调试
将程序保存。连接实物,搭建硬件平台,将程序下载到单片机中,如图2所示。调节电位器到不同的位置,观察LED的量灭情况。(另附视频于附件中)
图2 实物连线图
七、实验结果
如图3,将电位器从最左端顺时针旋转到最右端,8位LED小灯依次亮起;在最左端,LED小灯全灭状态,在最右端,8位LED小灯全部亮起,达到实验目的。
图3 实验效果图