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

这个项目开机很快 – 只需按下按钮即可。简单而有趣。我们一家都喜欢玩这个游戏。

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

该项目需要使用硬件清单

  • LED(通用)*2
  • SparkFun按钮开关12mm * 2
  • DFRobot I2C 16x2 Arduino LCD显示模块
  • 滑动开关
  • 10kΩ电阻
  • 电池座,3 x AAA
  • Arduino Micro和Genuino Micro
  • 手动工具和制造设备
  • 烙铁(通用)

故事

我上网时在某个网址发现了这些代码并尝试运行。

我们一家都喜欢这个游戏,所以我决定将它组装到一个好玩的盒子里面以便能够常玩。

这项工作目前已经完成,并且我将它送到我的孩子手中。

这是非常基础的项目,但是却包含了所有的重要元素。

这里有一些照片:

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

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

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

这是它的外观。那个大的是一个按钮,点击小红色顶部即可“开始”。

Arduino“反应计时器” - 我的孩子喜欢玩这个_第4张图片

按下开始运行

Arduino“反应计时器” - 我的孩子喜欢玩这个_第5张图片

Arduino“反应计时器” - 我的孩子喜欢玩这个_第6张图片

Arduino“反应计时器” - 我的孩子喜欢玩这个_第7张图片

代码:

#include 

#include 

#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

原文翻译转载自:https://www.dfrobot.com/blog-1247.html

推荐项目阅读:
使用SPRESENSE电路板的POV显示器
【ardunio项目】如何制作深受儿童喜爱的木制收音机
Arduino“反应计时器” - 我的孩子喜欢玩这个
ESP32项目:邮件警报
物联网植物监测仪,用 Particle Photon制作、IFTTT监测
开源NFC模块示例(一):arduino NFC近场通讯模块的简易教程和评测
开源NFC模块示例(二):与Arduino UNO开发板的配合
开源NFC模块示例(三):Arduino NFC模块使用方法分享,PN532模块,S50卡
开源NFC模块示例(四):如何制作Makerspace NFC组件管理系统
……
更多:创客项目

你可能感兴趣的:(Arduino项目制作)