2019-5-29 18:11:54 [显示全部楼层]
2884浏览
查看: 2884|回复: 1

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

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

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]



gada888  版主

发表于 2019-5-31 06:50:25

有趣,研究一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail