Arduino-抢答器

该实验介绍了如何使用Arduino创建一个简单的抢答器,通过按键控制不同颜色的LED灯亮起。当按下特定颜色的按键时,对应LED灯亮起,直至按下复位键熄灭。实验涉及按键输入、LED输出及循环扫描技术。

抢答器实验

实验器件:

■ 按键开关:4 个

■ 红色LED灯:1 个

■ 黄色LED灯:1 个

■ 绿色LED灯:1 个

■ 220欧电阻:7 个

■ 面包板:1 个

■ 多彩杜邦线:若干

实验连线

将代码上传到开发板。

程序代码

int redled=8; //红色LED 输出

int yellowled=7; //黄色LED输出

int greenled=6; //绿色LED输出

int redpin=5; //红色按键引脚

int yellowpin=4; //黄色按键引脚

int greenpin=3; //绿色按键引脚

int restpin=2; //复位按键引脚定义

int red;

int yellow;

int green;

void setup()

{

pinMode(redled,OUTPUT);

pinMode(yellowled,OUTPUT);

pinMode(greenled,OUTPUT);

pinMode(redpin,INPUT);

pinMode(yellowpin,INPUT);

pinMode(greenpin,INPUT);

}

void loop() //按键循环扫描

{

red=digitalRead(redpin);

yellow=digitalRead(yellowpin);

green=digitalRead(greenpin);

if(red==LOW)RED_YES();

if(yellow==LOW)YELLOW_YES();

if(green==LOW)GREEN_YES();

}

void RED_YES()//一直执行红灯亮,直到复位键按下,结束循环

{

while(digitalRead(restpin)==1)

{

digitalWrite(redled,HIGH);

digitalWrite(greenled,LOW);

digitalWrite(yellowled,LOW);

}

clear_led();

}

void YELLOW_YES()//一直执行黄灯亮,直到复位键按下,结束循环

{

while(digitalRead(restpin)==1)

{

digitalWrite(redled,LOW);

digitalWrite(greenled,LOW);

digitalWrite(yellowled,HIGH);

}

clear_led();

}

void GREEN_YES()//一直执行绿灯亮,直到复位键按下,结束循环

{

while(digitalRead(restpin)==1)

{

digitalWrite(redled,LOW);

digitalWrite(greenled,HIGH);

digitalWrite(yellowled,LOW);

}

clear_led();

}

void clear_led()//清除LED

{

digitalWrite(redled,LOW);

digitalWrite(greenled,LOW);

digitalWrite(yellowled,LOW);

}

实验结论

当红灯按键按下时,红色LED灯被点亮,按其他按键不会点亮其他LED灯。按下复位按键,LED灯熄灭。

按下黄灯按键,黄灯点亮。按其他按键不会点亮其他LED灯。按下复位按键,LED灯熄灭。

按下绿灯按键,绿灯点亮。按其他按键不会点亮其他LED灯。按下复位按键,LED灯熄灭。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻筠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值