[{"createTime":1735734952000,"id":1,"img":"hwy_ms_500_252.jpeg","link":"https://activity.huaweicloud.com/cps.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905","name":"华为云秒杀","status":9,"txt":"华为云38元秒杀","type":1,"updateTime":1735747411000,"userId":3},{"createTime":1736173885000,"id":2,"img":"txy_480_300.png","link":"https://cloud.tencent.com/act/cps/redirect?redirect=1077&cps_key=edb15096bfff75effaaa8c8bb66138bd&from=console","name":"腾讯云秒杀","status":9,"txt":"腾讯云限量秒杀","type":1,"updateTime":1736173885000,"userId":3},{"createTime":1736177492000,"id":3,"img":"aly_251_140.png","link":"https://www.aliyun.com/minisite/goods?userCode=pwp8kmv3","memo":"","name":"阿里云","status":9,"txt":"阿里云2折起","type":1,"updateTime":1736177492000,"userId":3},{"createTime":1735660800000,"id":4,"img":"vultr_560_300.png","link":"https://www.vultr.com/?ref=9603742-8H","name":"Vultr","status":9,"txt":"Vultr送$100","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":5,"img":"jdy_663_320.jpg","link":"https://3.cn/2ay1-e5t","name":"京东云","status":9,"txt":"京东云特惠专区","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":6,"img":"new_ads.png","link":"https://www.iodraw.com/ads","name":"发布广告","status":9,"txt":"发布广告","type":1,"updateTime":1735660800000,"userId":3},{"createTime":1735660800000,"id":7,"img":"yun_910_50.png","link":"https://activity.huaweicloud.com/discount_area_v5/index.html?fromacct=261f35b6-af54-4511-a2ca-910fa15905d1&utm_source=aXhpYW95YW5nOA===&utm_medium=cps&utm_campaign=201905","name":"底部","status":9,"txt":"高性能云服务器2折起","type":2,"updateTime":1735660800000,"userId":3}]
1. 抢答器简介
抢答器是通过设计电路,以实现如字面上意思的能准确判断出抢答者的电器。在知识竞赛、文体娱乐活动(抢答赛活动)中,能准确、公正、直观地判断出抢答者的座位号。更好的促进各个团体的竞争意识,让选手门体验到战场般的压力感。
很多人制作的抢答器只是大概判断出抢答的选手,如果遇到选手之间几乎同时抢答的情况,则无法判断先后。会使得准确性、公平性大打折扣。
完成本实验要用到的元件如下:灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口。
2. 硬件准备
元件名称数量
按键开关3
LED3
220Ω电阻3
1kΩ电阻3
3. 设计原理
按键没有按下时,按键对应的引脚处于悬空状态,此时电平悬空。采用下拉电阻的方式让按键未被按下时的电平处于低电平。当按下按键时,电阻处于高电平,选手所对应的灯亮起,蜂鸣器发声。同时向串口发送所在位置的信息。判断选手按下按键的先后。
4. 代码和仿真结果
int beep=2; int ledA=8; int ledB=9; int ledC=10; int buttonA=3; int buttonB=4;
int buttonC=5; void setup(){ Serial.begin(9600); pinMode(beep,OUTPUT);
pinMode(ledA,OUTPUT); pinMode(ledB,OUTPUT); pinMode(ledC,OUTPUT);
//设置电阻为上拉模式,当电平嵌入在高电平 pinMode(buttonA,INPUT_PULLUP);
pinMode(buttonB,INPUT_PULLUP); pinMode(buttonC,INPUT_PULLUP); } void loop(){
if(digitalRead(buttonA)==0){ //判断开关A的状态是为低电平 digitalWrite(ledA,HIGH);
//digitalWrite(beep,HIGH); tone(beep,700,10); //使用频率为700的波驱动蜂鸣器,持续发生10微秒
//delay(1); Serial.println("A"); } else{ digitalWrite(beep,LOW); delay(1); }
if(digitalRead(buttonB)==0){ //判断开关B的状态是为低电平 digitalWrite(ledB,HIGH);
//digitalWrite(beep,HIGH); tone(beep,700,10); //delay(1); Serial.println("B");
} else{ digitalWrite(beep,LOW); delay(1); } if(digitalRead(buttonC)==0){
//判断开关C的状态是为低电平 digitalWrite(ledC,HIGH); //digitalWrite(beep,HIGH);
tone(beep,700,10); //delay(1); Serial.println("C"); } else{
digitalWrite(beep,LOW); delay(1); } delay(20); digitalWrite(ledA,LOW);
digitalWrite(ledB,LOW); digitalWrite(ledC,LOW); } 图1 电路连线图