欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Arduino简单抢答器DIY

程序员文章站 2022-06-09 11:18:14
...

今天的文章继续玩板子,利用Arduino,DIY一个抢答器,需要的元器件:

  1. Arduino板子;

  2. 1k电阻一个;

  3. 开关一个;

  4. 红色LED一个;

  5. 蜂鸣器一个;

  6. 面包板;

  7. 导线若干;


接线如图所示:


Arduino简单抢答器DIY

开关单独连接,我们观察开关的按下抬起状态,然后控制LED点亮,控制蜂鸣器发声。开关接GPIO13,LED和电阻串联接在GPIO12,蜂鸣器接在GPIO11,其他原件引脚全部接地。


接好线,我们开始编写代码,代码如下:


const int SWITCH_INPUT = 12;
const int LED = 11;
const int BEEP = 10;

const int BEEP_FRQ = 500;

void setup() {
  pinMode(SWITCH_INPUT, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  pinMode(BEEP, OUTPUT);
}

void loop() {
  int pressed = digitalRead(SWITCH_INPUT);
  if (pressed == HIGH) {
    digitalWrite(LED, LOW);
  } else {
    digitalWrite(LED, HIGH);
    digitalWrite(BEEP, HIGH);
    delay(int(1000 / BEEP_FRQ));
    digitalWrite(BEEP, LOW);
  }
}

代码首先定义了使用的引脚,然后定义了蜂鸣器发出响声的频率。


在setup函数中,我们配置了引脚,其中注意开关引脚我们使用了INPUT_PULLUP,也就是默认上拉,避免引脚读入数据出现浮动,也就是说,开关没有按下时,读入的数据为HIGH,开关按下时,读数被拉低为LOW,这是我们检查开关是否按下的依据。


在loop函数中,我们读取开关状态,当没有按下时,LED熄灭,按下时,LED点亮,蜂鸣器按照设置的频率发声。


界限烧写程序,完美运行。

Arduino简单抢答器DIY