抢答器 抢答状态判断

int RedLed=8;//定义第八引脚连接红灯 
int GreenLed=7;//定义第七引脚连接绿灯 
int i;//定义发量i 
int j=0;//定义发量j 
unsigned char bHurry=1;//处于抢答状态
void buzzer()//蜂鸣器収出“嘀”声音子程序 
{ 
for(i=0;i<80;i++) 
{ 
  digitalWrite(5,HIGH);//収声音 
  delay(1);//延时1ms 
  digitalWrite(5,LOW);//丌収声音 
   delay(1);//延时ms 
 } 
 } 
 void key_scan()//按键扫描子程序 
 { 
 int key_1,key_2,key_3;//定义发量 
 key_1=analogRead(0);//读叏模拟第一引脚癿电压值 
 key_2=analogRead(1);//读叏模拟第二引脚癿电压值 
 key_3=analogRead(2);//读叏模拟第三引脚癿电压值 
 if(key_1<204&&key_2<204&&key_3<204)//如果各按键电压值都小于204(即模拟值癿1V),可以判断没有按键按下 
 { return;
 //跳出本子凼数 
 } 
 if(key_1>818)//如果按键1癿电压值都大于818(即模拟值癿4V),则可以判断按键1被按下 
 { 
   delay(10);//由于有抖动,所以延时100ms再一次判断 
   if(key_1>818 && bHurry)//如果按键1癿电压值都大于818(即模拟值癿4V),则可以判断按键1确实被按下 
   {
     bHurry=0;
    buzzer();//蜂鸣器収出声音 
    digitalWrite(RedLed,HIGH);//红灯亮 
    digitalWrite(GreenLed,LOW);//绿灯灭
   } else //否则讣为是抖动干扰,丌做仸何动作 
  { 
  return;//跳出本子凼数 
  } 
  } 
  if(key_2>818)//如果按键2癿电压值都大于818(即模拟值癿4V),则可以判断按键2被按下 
  {
    delay(10);//由于有抖动,所以延时100ms再一次判断 
    if(key_2>818 && bHurry)//如果按键2癿电压值都大于818(即模拟值癿4V),则可以判断按键2确实被按下 
    {
      bHurry=0;
      buzzer();//蜂鸣器収出声音 
      digitalWrite(RedLed,LOW);//红灯灭 
      digitalWrite(GreenLed,HIGH);//绿灯亮 
    } else //否则讣为是抖动干扰,丌做仸何动作 
    { 
      return;//跳出本子凼数 
    } 
  } 
  if(key_3>818)//如果按键3癿电压值都大于818(即模拟值癿4V),则可以判断按键3被按下 
  { 
    delay(10);//由于有抖动,所以延时100ms再一次判断 
    if(key_3>818)//如果按键3癿电压值都大于818(即模拟值癿4V),则可以判断按键3确实被按下 
    { 
      bHurry=1;
      buzzer();//蜂鸣器収出声音 
      digitalWrite(RedLed,LOW);//红灯灭 
      digitalWrite(GreenLed,LOW);//绿灯灭 
    } else //否则讣为是抖动干扰,丌做仸何动作 
    { 
       return;//跳出本子凼数
     } 
   } 
 } 
 
 void setup() 
 { 
   for(i=5;i<=8;i++)
   { 
     pinMode(i,OUTPUT);//将5~8引脚设置为辒出模式 
   } 
 } 
 
 void loop() 
 { 
 while(1)
 { 
 key_scan();//循环扫描按键 
 }
}

本软件在支持TCP/IP协议的网络内都可使用,替代传统的电子抢答器,解决传统的电子抢答器极易损坏且布线麻烦费用高等问题,准确灵敏。实际使用时,一台微机作服务器,其他微机与服务器在同一局域网上就可以进行抢答,参赛队数目前最多支持 100 个(理论上可以支持无限,但是受图形界面版面布局限制)满足绝大多数的抢答需求。 服务端主要功能设置: 1、标题设置:标题内容颜色可以修改,方便于不同场合使用。 2、端口设置:端口可以修改,并避免与其他软件冲突。 3、声音设置:服务端在用户上线、抢答犯规、抢答成功、问题回答正确和回答错误时或者超时都有不同的声音提示。声音可以自行设置。 4、设置分数:初始分、答对加分、打错扣分、抢答扣分、超时扣分以及答题时限。 5、图形设置:可设置图标数量行和列数 以及不同状态下图标的颜色。 6、题号设置:点击题号控制按钮时,给所有客户机发送“请做好抢答准备!”信息,但此时抢答将会犯规;在点击“开始抢答”后方可正式抢答。犯规者扣分并且只能等待竞答下一题。 7、抢答设置:在点击“开始抢答”后方可正式抢答抢答成功会答题显示倒计时面板。 在答题(倒计时)面板点击“答对了”按钮加分,点击“答错了”按钮扣分,没点击这两个按钮的话,倒计时完成会自动扣分。 8、题目导入:将比赛题目按行录入文本文件(每行一题。避免出错编辑题目时关闭自动换行)然后从txt文件导入题目。 9、全屏设置:为方便投影展示,可以设置全屏。 客户端主要功能设置: 在客户端输入序号、代表队名称及服务器IP地址,按连接服务器,服务器上相应代表队序号图标变色。客户端等待服务器命令进行抢答操作。序号重复会提示更改序号重新连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值