|
|
Arduino -8位LED灯显示电位器位置电路设计实验报告
- 实验目的
通过电路设计、编程、硬件连接调试等实现用8位LED灯显示电位器的位置的简单功能
- 硬件设备
笔记本电脑、单片机、面包板、8个LED灯、电位器、杜邦线、下载线等。
- 所需软件
编程软件:arduino
- 画连线图
图1 共阳极连线图
- 控制程序
int LED1=8;
int LED2=9;
int LED3=10;
int LED4=11;
int LED5=12;
int LED6=13;
int n;
void setup()
{ //设置各个引脚的初始状态
for(n=8;n<=13;n++)
{
pinMode(n, OUTPUT);
}
}
void loop()
{
turn1();//顺序点亮,顺序熄灭
clean(); //灭掉所有灯
turn2();//6灯齐闪
clean();//灭掉所有灯
turn3();
clean();//灭掉所有灯
}
void turn1() //顺序点亮,顺序熄灭
{
for(n=8;n<=13;n++)
{
digitalWrite(n,HIGH);
delay(300);
}
for(n=8;n<=13;n++)
{
digitalWrite(n,LOW);
delay(300);
}
}
void turn2()//6灯齐闪3次
{ for(int x=0;x<=2;x++)
{
for(n=8;n<=13;n++)
{
digitalWrite(n,HIGH);
}
delay(300);
for(n=8;n<=13;n++)
{
digitalWrite(n,LOW);
}
delay(300);
}
}
void turn3()//两个两个一起闪3次
{
for(int x=0;x<=2;x++)
{
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
for(n=10;n<=13;n++){
digitalWrite(n,LOW);
}
delay(300);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);
delay(300);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
for(n=8;n<=11;n++){
digitalWrite(n,LOW);
}
delay(300);
}
}
void clean()
{ for(n=8;n<=13;n++)
{
digitalWrite(n,LOW);
}
delay(300);
}
- 连接调试
将程序保存。连接实物,搭建硬件平台,将程序下载到单片机中,如图2所示。调节电位器到不同的位置,观察LED的量灭情况。
图2 实物连线图
- 实验结果
如图3,本次项目分为3种模式,第一种:依次亮,依次灭;第二种:全亮,全灭;第三种:两两亮,两两灭;
图3 实验效果图