arduino秒表代码
时间: 2024-09-27 22:01:48 浏览: 42
miaobiao_秒表_arduino_数码管_
5星 · 资源好评率100%
Arduino秒表是一种基本的时间测量应用,通常使用定时器模块来实现计时功能。以下是一个简单的Arduino Uno秒表程序示例:
```cpp
#include <TimerOne.h> // 引入Arduino的TimerOne库
const int buttonPin = 2; // 按钮连接到数字2引脚
volatile long startTime = 0; // 记录开始时间的变量
volatile long stopTime = 0; // 记录停止时间的变量
bool isRunning = false; // 秒表是否正在运行的标志
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // 设置按钮为上拉模式
TimerOne.initialize(1000); // 初始化Timer1,定时间隔为1ms
}
void loop() {
if (digitalRead(buttonPin) == LOW && !isRunning) { // 如果按钮按下并且秒表未启动
startTime = micros(); // 开始计时
isRunning = true;
} else if (digitalRead(buttonPin) == HIGH && isRunning) { // 如果按钮松开并且秒表正在运行
stopTime = micros(); // 结束计时
isRunning = false;
long elapsedTime = stopTime - startTime; // 计算时间差(单位:微秒)
float seconds = elapsedTime / 1000000.0f; // 转换为秒并打印结果
Serial.println("Elapsed time: " + String(seconds) + " seconds");
}
}
```
这个代码首先设置了按钮的输入模式,并初始化了一个定时器。在`loop()`函数里,它检查按钮的状态:如果按钮从高电平变为低电平(按下),则记录开始时间;当按钮再次变回高电平时(松开),记录结束时间,计算时间差并显示出来。
阅读全文