本文主要是介绍Arduino-抢答器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
抢答器实验
实验器件:
■ 按键开关: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灯熄灭。
这篇关于Arduino-抢答器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!