This commit is contained in:
Jeff Clement 2016-02-11 18:44:25 -07:00
parent f2426b0892
commit 400c607b4c
1 changed files with 38 additions and 9 deletions

View File

@ -14,13 +14,18 @@ LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
elapsedMillis timeElapsed;
unsigned int startTime;
#define PIN_INPUT 2 // D2;
#define PIN_RESET 2
#define PIN_CAR1 3
void setup()
{
Serial.begin(9600);
pinMode(PIN_INPUT, INPUT_PULLUP);
pinMode(PIN_RESET, INPUT_PULLUP);
pinMode(PIN_CAR1, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
startTime = timeElapsed;
Serial.println("Starting");
Serial.println(startTime);
@ -38,18 +43,42 @@ bool tripped = false;
char buffer[40];
unsigned int elapsedTime;
bool started = false;
bool runnning = false;
unsigned int car1elapsed = 0;
void loop()
{
if (digitalRead(PIN_INPUT) == LOW) {
tripped = true;
Serial.println(timeElapsed - startTime);
if (digitalRead(PIN_RESET) == LOW) {
lcd.clear();
lcd.setCursor(0,0);
elapsedTime = timeElapsed - startTime;
sprintf(buffer, "Elapsed: %dms", elapsedTime);
lcd.print(buffer);
lcd.print("Ready?");
started = false;
car1elapsed = 0;
digitalWrite(LED_BUILTIN, LOW);
} else {
// if we just started, record current millis counter
if (!started) {
startTime = elapsedMillis;
started = true;
}
elapsedTime = elapsedMillis - startTime;
if (digitalRead(PIN_INPUT) == LOW && car1elapsed == 0) {
car1elapsed = elapsedTime;
}
if (car1elapsed <> 0) {
// stop if all cars are complete or threshold reached
lcd.clear();
lcd.setCursor(0,0);
sprintf(buffer, "Car1: %dms", car1elapsed);
lcd.print(buffer);
digitalWrite(LED_BUILTIN, HIGH);
}
}
digitalWrite(LED_BUILTIN, tripped? HIGH : LOW);
}