hnyzcj 发表于 2015-2-7 21:12:16

简易抢答器(老CASE,新器材)

本帖最后由 hnyzcj 于 2015-2-7 21:15 编辑

【作品介绍】
       在知识竞赛、文体娱乐活动(抢答赛活动)中,为了能准确、公正、直观地判断出抢答者的座位号,主办方通常会使用抢答器。而今抢答器可以通过数据来说明裁决结果的准确性、公平性。使比赛大大增加了娱乐性的同时,也更加公平、公正。我们今天就通过使用LED、蜂鸣器器和按钮来组建一个4路信号抢答器。
【作品展示】






孩子玩的很嗨皮。
视频展示
http://www.tudou.com/programs/view/LEeM4HzsA5w/

【作品器材】

序号名称数量
1DFRduino UNO R3https://www.dfrobot.com.cn/goods-521.html
2IO 传感器扩展板 V7.1https://www.dfrobot.com.cn/goods-791.html
3数字大按钮模块(4)https://www.dfrobot.com.cn/goods-865.html
4数字LED发光模块(Arduino兼容)https://www.dfrobot.com.cn/goods-72.html
5数字蜂鸣器模块(Arduino兼容)https://www.dfrobot.com.cn/goods-86.html
6盒子自己做的费了不少事



今天使用了DF的工程本,瞬间有种“攻城狮”的赶脚,哈哈,嘚瑟一下。


【制作步骤】
1.弄个盒子,作为抢答器,必须要有个像样的盒子,最起码看起来像个抢答器,嘿嘿,那就弄个如下图


怎么弄出来的……此处省去100字吧。恩,就这样吧。
2.作品设计图纸,草稿纸上没有做蜂鸣器,晚上才加上的。看看这工程本,就是有感觉,啧啧。

3.为了让LED在面板安装的位置大致合适,决定对其划线打孔。




画出大致的位置,并在孔位做上标记。下面开始打孔了,不过由于孔位较大,微转已经无法满足需要。从通用教师扒出来的工具






然后,然后,开始不停的打孔,由于第一次使用,孔位打的那个是,上上下下,


4.安装器材,将LED,按钮,主控板,安装在上面,就是这样下图自己看看,
LED从左向右依次为数字口:4,5,6,7
按钮从左向右依次为数字口:8,9,10,11
噹噹噹噹噹


【项目连线】
LED从左向右依次为数字口:4,5,6,7
按钮从左向右依次为数字口:8,9,10,11

蜂鸣器数字口:3
【程序代码】
int yellowLed = 4;                // 选择灯的引脚
int blueLed = 5;   // 选择灯的引脚
int redLed = 6;   // 选择灯的引脚
int whiteLed = 7;   // 选择灯的引脚
int yellowPin =8;               // 传感器连接引脚3
int bluePin =9;               // 传感器连接引脚3
int redPin =10;               // 传感器连接引脚3
int whitePin =11;               // 传感器连接引脚3


void setup() {
pinMode(yellowLed, OUTPUT);      // 定义灯的引脚为输出引脚
pinMode(blueLed, OUTPUT);      // 定义灯的引脚为输出引脚
pinMode(redLed, OUTPUT);      // 定义灯的引脚为输出引脚
pinMode(whiteLed, OUTPUT);      // 定义灯的引脚为输出引脚
pinMode(yellowPin, INPUT);   // 定义按键引脚为输入引脚
pinMode(bluePin, INPUT);   // 定义按键引脚为输入引脚
pinMode(redPin, INPUT);   // 定义按键引脚为输入引脚
pinMode(whitePin, INPUT);   // 定义按键引脚为输入引脚
}


void buzzer()//蜂鸣器发出“嘀”声音子程序
{      
int i;
for(i=0;i<180;i++)      
   {
       digitalWrite(3,HIGH);//发声音
      delay(1);//延时1ms
       digitalWrite(3,LOW);//不发声音
      delay(1);//延时ms
      }
}


void loop()
{
int val1 = digitalRead(yellowPin);//读取输入值
int val2 = digitalRead(bluePin);//读取输入值
int val3 = digitalRead(redPin);//读取输入值
int val4 = digitalRead(whitePin);//读取输入值
//int val5 = digitalRead(inputPin);//读取输入值
if(val1==LOW&&val2==LOW&&val3==LOW&&val4==LOW)
    {
      return;//跳出本子函数
   }

   if (val1 == HIGH&&val2==LOW&&val3==LOW&&val4==LOW) {            // 检查输入是否为高,这里高为没有按下
   buzzer();
   digitalWrite(yellowLed, HIGH);// 灯关闭状态
    digitalWrite(blueLed, LOW);// 灯关闭状态
    digitalWrite(redLed, LOW);// 灯关闭状态
    digitalWrite(whiteLed, LOW);// 灯关闭状态
}
else{
    if (val2 == HIGH&&val1 == LOW&&val3==LOW&&val4==LOW) {            // 检查输入是否为高,这里高为没有按下
   buzzer();
    digitalWrite(yellowLed, LOW);// 灯关闭状态
    digitalWrite(blueLed, HIGH);// 灯关闭状态
    digitalWrite(redLed, LOW);// 灯关闭状态
    digitalWrite(whiteLed, LOW);// 灯关闭状态
}






else{
   if (val3 == HIGH&&val1 == LOW&&val2==LOW&&val4==LOW) {            // 检查输入是否为高,这里高为没有按下
   buzzer();
    digitalWrite(yellowLed, LOW);// 灯关闭状态
    digitalWrite(blueLed, LOW);// 灯关闭状态
    digitalWrite(redLed, HIGH);// 灯关闭状态
    digitalWrite(whiteLed, LOW);// 灯关闭状态
}


else{
   if (val4 == HIGH&&val1==LOW&&val2==LOW&&val3==LOW) {            // 检查输入是否为高,这里高为没有按下
   buzzer();
    digitalWrite(yellowLed, LOW);// 灯关闭状态
    digitalWrite(blueLed, LOW);// 灯关闭状态
    digitalWrite(redLed, LOW);// 灯关闭状态
    digitalWrite(whiteLed, HIGH);// 灯关闭状态
}


else{
   return;//跳出本子函数
}
}
}
}

}



【总结】
这个CASE实际上并不复杂,有兴趣的朋友可以对其进行改造。例如在抢答器的上部加LCD屏,让主持人可以轻易的看到抢答的结果。而不用把脖子伸的老长去抢答器的前面看哦。



hnyzcj 发表于 2015-2-8 21:21:43

本帖最后由 hnyzcj 于 2015-2-8 21:52 编辑

今天加了个LCD显示抢答的灯。让主持人不必变长颈鹿

I2C LCD1602液晶模块(兼容Arduino Gadgeteer)https://www.dfrobot.com.cn/goods-626.html
话说这东西和传感器拓展板,结合起来使用时非常的方便。通过gadgeteer接口,两头一插,轻易搞定。

大连林海 发表于 2015-2-10 13:44:05

heinau 发表于 2015-2-9 14:01
楼主的草图画的好端正整齐啊~
小抢答器很好玩的感觉,就是线长一点就好啦~ ...

草图很有感觉,而且用的是DF的工程本 更是有感觉

hnyzcj 发表于 2015-2-9 13:49:29

Youyou 发表于 2015-2-8 22:42
再加入个语音播放模块,这样视觉听觉触觉都齐了。
你说抢答器,加个语音播放完全没有问题的,这个可以有,这个必须也得有,哈哈

hnyzcj 发表于 2015-2-7 21:21:40

本帖最后由 hnyzcj 于 2015-2-7 21:30 编辑

自己占自己沙发了。哈哈

大连林海 发表于 2015-2-7 21:21:45

我来占据沙发 虽然简易 但是很实用哦。以后用了这个 学校什么比赛就不用愁了 。赞:P

hnyzcj 发表于 2015-2-7 21:22:23

大连林海 发表于 2015-2-7 21:21
我来占据沙发 虽然简易 但是很实用哦。以后用了这个 学校什么比赛就不用愁了 。赞 ...

哈哈,还可以扩展。

大连林海 发表于 2015-2-7 21:22:59

再继续添加一些功能 把功能逐渐完善起来:loveliness:

tyjjr 发表于 2015-2-8 21:45:40

不错顶楼主

hnyzcj 发表于 2015-2-8 21:48:11

tyjjr 发表于 2015-2-8 21:45
不错顶楼主

哈哈,你的极光还没有改好。估计要等下个月了。

tyjjr 发表于 2015-2-8 21:52:01

hnyzcj 发表于 2015-2-8 21:48
哈哈,你的极光还没有改好。估计要等下个月了。

靠你了~

hnyzcj 发表于 2015-2-8 21:52:55

tyjjr 发表于 2015-2-8 21:52
靠你了~

我顶多算个“山寨”版的极光。

tyjjr 发表于 2015-2-8 21:55:17

hnyzcj 发表于 2015-2-8 21:52
我顶多算个“山寨”版的极光。

是better版~

hnyzcj 发表于 2015-2-8 22:00:44

本帖最后由 hnyzcj 于 2015-2-8 22:01 编辑

tyjjr 发表于 2015-2-8 21:55
是better版~
不是,是蓝牙版.Bluno Nano主控板 首款集成蓝牙4.0的Arduino nano 兼容主控板

tyjjr 发表于 2015-2-8 22:01:44

hnyzcj 发表于 2015-2-8 22:00
不是,是蓝牙版

哦?通过蓝牙采集行车信息?

hnyzcj 发表于 2015-2-8 22:02:18

tyjjr 发表于 2015-2-8 22:01
哦?通过蓝牙采集行车信息?
没有,手动版。就是通过蓝牙按钮控制包后面的灯的指示左和指示右。

hnyzcj 发表于 2015-2-8 22:04:10

tyjjr 发表于 2015-2-8 22:01
哦?通过蓝牙采集行车信息?

已经布置下去给学生了,让他们寒假,折腾一下。

tyjjr 发表于 2015-2-8 22:17:05

hnyzcj 发表于 2015-2-8 22:02
没有,手动版。就是通过蓝牙按钮控制包后面的灯的指示左和指示右。

会实用很多~

tyjjr 发表于 2015-2-8 22:17:25

hnyzcj 发表于 2015-2-8 22:04
已经布置下去给学生了,让他们寒假,折腾一下。

期待你们的成果         

Youyou 发表于 2015-2-8 22:42:50

再加入个语音播放模块,这样视觉听觉触觉都齐了。

hnyzcj 发表于 2015-2-9 07:22:07

Youyou 发表于 2015-2-8 22:42
再加入个语音播放模块,这样视觉听觉触觉都齐了。

语音本来想加的,但是用的是TX,RX,而蓝牙正好也要用那个口的。所以,就……

heinau 发表于 2015-2-9 14:01:13

楼主的草图画的好端正整齐啊~
小抢答器很好玩的感觉,就是线长一点就好啦~
页: [1] 2
查看完整版本: 简易抢答器(老CASE,新器材)