#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //Erstellung eines LCD Objekts
#define PIN_TOR1 2
#define PIN_TOR2 3
int sekunden = 0;
int minute = 0;
int tore_team_1 = 0, tore_team_2 = 0;
void setup()
{
pinMode(PIN_TOR1,INPUT_PULLUP);
pinMode(PIN_TOR2,INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcdZeitausgabe();
lcdSpielstandausgabe();
}
void loop()
{
//Taster/Lichtschranken sind LOW-aktiv
if(digitalRead(PIN_TOR1) == LOW)
{
tore_team_1++;
}
if(digitalRead(PIN_TOR2) == LOW)
{
tore_team_2++;
}
delay(1000); //Warte 1s
sekunden++;
if (sekunden == 60) //Wenn 60 Sekunden vergangen sind
{
sekunden = 0; //Sekunden zurücksetzen
minute++; //Minuten um eins erhöhen
}
lcdZeitausgabe();
lcdSpielstandausgabe();
}
void lcdZeitausgabe()
{
lcd.setCursor(0,0); // Setzt den Cursor auf 0, 0
lcd.print("Zeit: "); // Schreibt Zeit auf Display
lcd.print(minute);
lcd.print(" : ");
if(sekunden <= 9)//Wenn Sekunden Anzahl unter 10 ist wird eine 0 vor die Zahl gesetzt
{
lcd.print("0");
}
lcd.print(sekunden); // Gibt die Sekunden aus auf dem Display
}
void lcdSpielstandausgabe()
{
lcd.setCursor(0,1);
lcd.print("Stand: ");
lcd.setCursor(8,1);
lcd.print(tore_team_1);
lcd.setCursor(10,1);
lcd.print(":");
lcd.setCursor(12,1);
lcd.print(tore_team_2);
}Lichtschranke und Taster sind bei Betätigung/Unterbrechung LOW.