查看: 1268|回复: 0

Arduino 入门教程 实验七 抢答器设计实验

[复制链接]

22

主题

22

帖子

169

积分

超级版主

Rank: 8Rank: 8

积分
169
发表于 2015-7-1 11:19:42 | 显示全部楼层 |阅读模式
本实验就是将上面的按键控制小灯的实验扩展成3 个按键对应3个小灯和一个复位按键,占用7个数字I/O 接口。
1、实验器件
按键开关:4个
LED灯:3个
220Ω电阻:3个
10KΩ电阻:4个
面包板:1块
面包板跳线:1
2、实验连线
连线原理图:




3、参考源程序
int redled=8;     // set red LED as “output”
int yellowled=7;  // set yellow LED as “output”
int greenled=6;   // set green LED as “output”
int redpin=5;     // initialize pin for red button
int yellowpin=4;  // initialize pin for yellow button
int greenpin=3;   // initialize pin for green button
int restpin=2;   // initialize pin for reset button
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()  // repeatedly read pins for buttons
{
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()// execute the code until red light is on; end cycle when reset button is pressed
{
  while(digitalRead(restpin)==1)
  {
   digitalWrite(redled,HIGH);
   digitalWrite(greenled,LOW);
   digitalWrite(yellowled,LOW);
  }
  clear_led();
}
void YELLOW_YES()// execute the code until yellow light is on; end cycle when reset button is pressed
{
  while(digitalRead(restpin)==1)
  {
  digitalWrite(redled,LOW);
  digitalWrite(greenled,LOW);
  digitalWrite(yellowled,HIGH);
  }
  clear_led();
}
void GREEN_YES()// execute the code until green light is on; end cycle when reset button is pressed
{
  while(digitalRead(restpin)==1)
  {
  digitalWrite(redled,LOW);
  digitalWrite(greenled,HIGH);
  digitalWrite(yellowled,LOW);
  }
  clear_led();
}
void clear_led()// all LED off
{
  digitalWrite(redled,LOW);
  digitalWrite(greenled,LOW);
  digitalWrite(yellowled,LOW);
}
4、实验结果
第一个按下按键后,对应的LED灯亮,第二个和第三个按下按键后,无效;按复位键,三个灯灭,回到起始状态。
A 抢答成功:绿灯亮
B抢答成功:红灯亮
C抢答成功:黄灯亮
5、相关产品链接
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5449108244.18.LO0Cdk&id=40701941132



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表