Arduino“反应计时器” - 我的孩子喜欢玩这个

2019-05-291.4万
AI 快速预览详细 收起
Arduino反应计时器是一个简单而有趣的电子项目,适合家庭互动游戏。硬件清单包括LED、SparkFun按钮开关、DFRobot I2C 16x2 Arduino LCD显示模块等。项目通过简单的按钮操作记录反应时间,锻炼孩子的反应能力和专注力。使用atmega328p芯片编程,并以3 AAA电池模式运行,使系统更加紧凑和便携。
这个项目开机很快 – 只需按下按钮即可。简单而有趣。我们一家都喜欢玩这个游戏。

Arduino“反应计时器” - 我的孩子喜欢玩这个图1

该项目需要使用硬件清单
LED(通用)*2
SparkFun按钮开关12mm * 2
滑动开关
10kΩ电阻
电池座,3 x AAA
Arduino Micro和Genuino Micro
手动工具和制造设备
烙铁(通用)


故事
我上网时在某个网址发现了这些代码并尝试运行。
我们一家都喜欢这个游戏,所以我决定将它组装到一个好玩的盒子里面以便能够常玩。
这项工作目前已经完成,并且我将它送到我的孩子手中。
这是非常基础的项目,但是却包含了所有的重要元素。
这里有一些照片:

Arduino“反应计时器” - 我的孩子喜欢玩这个图2

我将整个系统缩小到通过一片atmega328p芯片进行编程。以3 AAA的模式运行。

Arduino“反应计时器” - 我的孩子喜欢玩这个图3

这是它的外观。那个大的是一个按钮,点击小红色顶部即可“开始”。
Arduino“反应计时器” - 我的孩子喜欢玩这个图4

按下开始运行

Arduino“反应计时器” - 我的孩子喜欢玩这个图5
Arduino“反应计时器” - 我的孩子喜欢玩这个图6
Arduino“反应计时器” - 我的孩子喜欢玩这个图7


代码:
[mw_shl_code=applescript,true]#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#define btnSTART 5

#define btnHIT 7

#define ledTrigger 9

LiquidCrystal_I2C lcd(0x23,20,4);



void setup() {

  lcd.init();

  lcd.backlight();

  pinMode(btnSTART, INPUT_PULLUP);

  pinMode(btnHIT, INPUT_PULLUP);

  pinMode(ledTrigger, OUTPUT);

  digitalWrite(ledTrigger, LOW);

  lcd.print("Salut Famille!");

  delay(2000);

  lcd.clear();

  randomSeed(analogRead(0));

}



void loop() {

  long timeReaction;

  long timeTotal = 0;

  lcd.print("Press START!");

  while (digitalRead(btnSTART)) {}

  delay(10);

  while (!digitalRead(btnSTART)) {}

  lcd.clear();

  lcd.print("Jouez!!!");

  delay(1000);

  for (int i = 0; i < 5; i++) {

    delay(random(500, 5000));

    timeReaction = millis();

    digitalWrite(ledTrigger, HIGH);

    while (digitalRead(btnHIT)) {}

    timeReaction = millis() - timeReaction;

    timeTotal += timeReaction;

    delay(10);

    while (!digitalRead(btnHIT)) {}

    digitalWrite(ledTrigger, LOW);

    lcd.clear();

    lcd.print(i + 1);

    lcd.print(": ");

    lcd.print(timeReaction);

    delay(1000);

  }

  lcd.clear();

  lcd.print("Moyenne = ");

  lcd.print(timeTotal/5);

  delay(10000);

  lcd.clear();

  }

Credits[/mw_shl_code]



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
有趣,研究一下
- 没有更多了 -