arduino抢人器

梨花落- 2019-07-27 02:09:56
好声音抢答器,按下按键灯亮且长时间不灭,有蜂鸣器提示音 代码 int redled = 12; //红色LED 输出 int yellowled = 11; //黄色LED输出 int greenled = 10; //绿色LED输出 int redpin = 5; //红色按键引脚 int yellowpin = 4; //黄色按键引脚 int greenpin = 3; //绿色按键引脚 int Buzzer=7; int restpin = 2; //复位按键引脚定义 int red; int yellow; int green; int redpin_MUN=0; int greenpin_MUN=0; int yellowpin_MUN=0; void setup() { pinMode(redled, OUTPUT); pinMode(yellowled, OUTPUT); pinMode(greenled, OUTPUT); pinMode(Buzzer,OUTPUT); pinMode(redpin, INPUT); pinMode(yellowpin, INPUT); pinMode(greenpin, INPUT); digitalWrite(Buzzer,LOW); } void loop() //按键循环扫描。 { red = digitalRead(redpin); if (red == LOW) { digitalWrite(redled,LOW); } else { digitalWrite(redled,HIGH); ScanKey2(); } yellow = digitalRead(yellowpin); if(yellow == LOW) { digitalWrite(yellowled ,LOW); } else { digitalWrite(yellowled ,HIGH); ScanKey1(); } green = digitalRead(greenpin); if(green == LOW) { digitalWrite(greenled,LOW); } else { digitalWrite( greenled ,HIGH); ScanKey3(); } } void ScanKey1() { greenpin_MUN = 0; if(digitalRead(greenpin) == LOW) { //延时去抖动 if(digitalRead(greenpin) == LOW) { BuzzerDi(); //滴一声 greenpin_MUN = 1; //设置键值 while(digitalRead(greenpin) == LOW); //松手检测 } } } void ScanKey2() { yellowpin_MUN = 0; if(digitalRead(yellowpin) == LOW) { //延时去抖动 if(digitalRead(yellowpin) == LOW) { BuzzerDi(); //滴一声 yellowpin_MUN= 1; //设置键值 while(digitalRead(yellowpin) == LOW); //松手检测 } } } void ScanKey3() { redpin_MUN = 0; if(digitalRead(redpin) == LOW) { //延时去抖动 if(digitalRead(redpin) == LOW) { BuzzerDi(); //滴一声 redpin_MUN = 1; while(digitalRead(redpin) == LOW); //松手检测 } } } void BuzzerDi() {unsigned char i; digitalWrite(Buzzer,HIGH); delay(100); digitalWrite(Buzzer,LOW); }
...全文
36 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧