简易抢答器(老CASE,新器材)
2015-02-073.6万
精华项目
AI 快速预览详细
简易抢答器是一个通过LED、蜂鸣器和按钮组成的4路信号抢答器,适用于知识竞赛和文体娱乐活动。该项目使用了DFRduino UNO R3作为主控板,并配备了数字大按钮模块、数字LED发光模块和数字蜂鸣器模块。通过简单的编程,实现了直观的灯光和声音反馈。这个项目适合家长和老师引导孩子进行STEM教育,锻炼孩子的动手能力和逻辑思维能力。
|
【作品介绍】 在知识竞赛、文体娱乐活动(抢答赛活动)中,为了能准确、公正、直观地判断出抢答者的座位号,主办方通常会使用抢答器。而今抢答器可以通过数据来说明裁决结果的准确性、公平性。使比赛大大增加了娱乐性的同时,也更加公平、公正。我们今天就通过使用LED、蜂鸣器器和按钮来组建一个4路信号抢答器。 【作品展示】 ![]() ![]() ![]() 孩子玩的很嗨皮。 视频展示 http://www.tudou.com/programs/view/LEeM4HzsA5w/ 【作品器材】
![]() 今天使用了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屏,让主持人可以轻易的看到抢答的结果。而不用把脖子伸的老长去抢答器的前面看哦。 |
-
IMG_20150207_154517.jpg (424.11 KB, 下载次数: 13673)


















小抢答器很好玩的感觉,就是线长一点就好啦~
你说抢答器,加个语音播放完全没有问题的,这个可以有,这个必须也得有,哈哈
[font=微软雅黑, Verdana, Arial]I2C LCD1602液晶模块(兼容Arduino Gadgeteer)[/font][font=微软雅黑, Verdana, Arial]https://www.dfrobot.com.cn/goods-626.html[/font]
[font=微软雅黑, Verdana, Arial]话说这东西和传感器拓展板,结合起来使用时非常的方便。通过[/font][font=微软雅黑, Verdana, Arial]gadgeteer接口,两头一插,轻易搞定。[/font]