Hallo zusammen,
in einem Schulprojekt wollen wir einen "smarten" Tischkicker mittels Arduino realisieren.
Zunächst haben wir erstmal einen Torzähler mithilfe von einer Lichtschranke entwickelt, der im späteren Verlauf sein Ergebnis auf eine 7-Segmentanzeige und ein LCD bringt.
Jedoch scheitert es momentan schon am Zähler.
Wir haben die Lichtschranke aus einer LED und einem Fotowiderstand zusammengebaut und bereits einen Code programmiert. Das zählen gelingt bereits, jedoch soll der Zähler von 0 bis 10 zählen und dann nach ca 30s wieder auf 0 gestellt werden.
Hier das Programm:
#include "SevSeg.h"
SevSeg sevseg;
int eingang= A0; // Fotowiderstand
int LED_weiss= 8; //Beleuchtungsled
int sensorWert=0; // Variable für Startwert
int counter1=0; // Zähler für team 1
void setup() {
Serial.begin(9600);
pinMode (LED_weiss, OUTPUT); // beleuchtungsled
byte numDigits = 4; // Anzahl der ziffern
byte digitPins[] = {7, 6, 5, 4}; //pins der ziffern
byte segmentPins[] = {14, 15, 16, 17, 18, 19, 20, 21}; // Segmentpins
sevseg.begin (COMMON_CATHODE, numDigits, digitPins, segmentPins); // Art von Anzeige wird festgelegt, wenn alle led's gleichzeitig leuchten auf COMMON_ANODE ändern
}
void loop() {
digitalWrite(LED_weiss, HIGH);
sensorWert=analogRead(eingang); //Wert vom Fotowiderstand auslesen und in der Variable speichern
Serial.print ("Zählerstand");
Serial.println (counter1);
if (sensorWert < 500) // wenn LS unterbrochen Zähle +1
{ counter1= counter1 +1;
delay(500);
}
while (counter1=10)
{
delay(1000); //in diesem Fall wird der Counter mit eintreffen des 10.
//signals auf 0 gesetzt, er zeigt also die 10 nicht mehr an
(counter1 =0);
}
}
Ich habe bereits mehrere Sachen ausprobiert, jedoch hats nie wirklich so geklappt wie ich wollte.
Also nochmal: Der Zähler zählt von 0-9 und wird bei eintreffen von "10" zurückgesetzt.
er soll aber von 0-10 zählen und dann erst nach 30s auf 0 springen.
auch Befehle wie
while (counter1>=10)
{
delay(1000);
(counter1 =0);
}
}
oder
while (counter1>=11)
{
delay(1000);
(counter1 =0);
}
}
oder if schleifen funktionieren nicht
Ich hoffe jemand hat eine Idee um das Problem zu lösen.
Gruß