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

抢答器实验

实验器件:

■ 按键开关:4 个

■ 红色LED灯:1 个

■ 黄色LED灯:1 个

■ 绿色LED灯:1 个

■ 220欧电阻:7 个

■ 面包板:1 个

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

实验连线
在这里插入图片描述

将代码上传到开发板。

程序代码(直接打开对应例程即可)


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灯熄灭。

}

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值