Arduino入门篇 第八课:抢答器实验

抢答器实验

实验器件:

■ 按键开关:4 个

■ 红色LED灯:1 个

■ 黄色LED灯:1 个

■ 绿色LED灯:1 个

■ 220欧电阻:7 个

■ 面包板:1 个

■ 多彩杜邦线:若干
Arduino入门手淘搜:524263

实验连线
Arduino入门篇 第八课:抢答器实验_第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   Arduino入门手淘搜:524263
{
	digitalWrite(redled,LOW);
	digitalWrite(greenled,LOW);
	digitalWrite(yellowled,LOW);
}

实验结论

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

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

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

}

你可能感兴趣的:(Arduino,入门篇,单片机,嵌入式硬件)