|
@ -1,13 +1,13 @@ |
|
|
// Pins (const, da sich die Werte nicht aendern)
|
|
|
// Pins (const, da sich die Werte nicht aendern)
|
|
|
const int reflexlicht1 = 3; // lampre bei reflex1
|
|
|
|
|
|
const int reflexscan1 = 4;// erkennungsteil bei reflex1
|
|
|
|
|
|
|
|
|
const int reflexlicht1 = 3; // lampre bei reflex1
|
|
|
|
|
|
const int reflexscan1 = 4; // erkennungsteil bei reflex1
|
|
|
const int LEDrot = 5; |
|
|
const int LEDrot = 5; |
|
|
const int LEDgruen = 6; |
|
|
const int LEDgruen = 6; |
|
|
const int LEDgelb = 7; |
|
|
const int LEDgelb = 7; |
|
|
// Variablen
|
|
|
// Variablen
|
|
|
int sensorwert1 = 0; //kein pin sondern einfach dass das normalerweise eine null ist
|
|
|
|
|
|
|
|
|
int sensorwert1 = 0; // kein pin sondern einfach dass das normalerweise eine null ist
|
|
|
int val; |
|
|
int val; |
|
|
int press; //umgeflogen
|
|
|
|
|
|
|
|
|
int press; // umgeflogen
|
|
|
unsigned int count = 0; |
|
|
unsigned int count = 0; |
|
|
int Y; |
|
|
int Y; |
|
|
|
|
|
|
|
@ -27,6 +27,11 @@ void setup() { |
|
|
pinMode(LEDgruen, OUTPUT); |
|
|
pinMode(LEDgruen, OUTPUT); |
|
|
pinMode(LEDgelb, OUTPUT); |
|
|
pinMode(LEDgelb, OUTPUT); |
|
|
|
|
|
|
|
|
|
|
|
digitalWrite(reflexlicht1, HIGH); |
|
|
|
|
|
digitalWrite(LEDrot, LOW); |
|
|
|
|
|
digitalWrite(LEDgelb, LOW); |
|
|
|
|
|
digitalWrite(LEDgruen, LOW); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void loop() { |
|
|
void loop() { |
|
@ -35,17 +40,15 @@ void loop() { |
|
|
Serial.print("Sensorwert1 = "); // bedeutet nur dass das was blau ist nacher im serial monitor steht
|
|
|
Serial.print("Sensorwert1 = "); // bedeutet nur dass das was blau ist nacher im serial monitor steht
|
|
|
Serial.println(sensorwert1); // schreibt den senorwert in den serialmonitor (immer eine zahl)
|
|
|
Serial.println(sensorwert1); // schreibt den senorwert in den serialmonitor (immer eine zahl)
|
|
|
|
|
|
|
|
|
digitalWrite(reflexlicht1, HIGH); //soll licht ausgeben, damit der erkennt ob da was drauf steht
|
|
|
|
|
|
|
|
|
|
|
|
// Zaehlen:
|
|
|
// Zaehlen:
|
|
|
if (sensorwert1 == HIGH) { |
|
|
if (sensorwert1 == HIGH) { |
|
|
press=count++; |
|
|
|
|
|
Y=1*press; //y=mx-b WOFUER WIRD Y GEBRAUCHT?
|
|
|
|
|
|
delay (100); // WARUM WIRD HIER 100ms GEWARTET?
|
|
|
|
|
|
|
|
|
press = count++; |
|
|
|
|
|
Y = 1 * press; // y=mx-b WOFUER WIRD Y GEBRAUCHT?
|
|
|
|
|
|
delay(100); // WARUM WIRD HIER 100 ms GEWARTET?
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Count Auslesung + reset:
|
|
|
|
|
|
// Hole aktuelle Zeit in ms
|
|
|
// Hole aktuelle Zeit in ms
|
|
|
|
|
|
// millis() gibt den aktuellen Wert des System Timers zurueck
|
|
|
unsigned long currentMillis = millis(); |
|
|
unsigned long currentMillis = millis(); |
|
|
|
|
|
|
|
|
// Wenn Zeitunterschied >= festgelegtes Interval
|
|
|
// Wenn Zeitunterschied >= festgelegtes Interval
|
|
@ -54,11 +57,6 @@ void loop() { |
|
|
// aktuelle Zeit speichern fuer naechsten Durchlauf
|
|
|
// aktuelle Zeit speichern fuer naechsten Durchlauf
|
|
|
previousMillis = currentMillis; |
|
|
previousMillis = currentMillis; |
|
|
|
|
|
|
|
|
// Zunaechst alle LEDs ausschalten
|
|
|
|
|
|
digitalWrite(LEDrot, LOW); |
|
|
|
|
|
digitalWrite(LEDgelb, LOW); |
|
|
|
|
|
digitalWrite(LEDgruen, LOW); |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
/*
|
|
|
Jetzt je nach Stand von count einzelne LED anschalten |
|
|
Jetzt je nach Stand von count einzelne LED anschalten |
|
|
0-3: rot; 4-6: gelb; > 6: gruen |
|
|
0-3: rot; 4-6: gelb; > 6: gruen |
|
@ -75,12 +73,19 @@ void loop() { |
|
|
// Zaehler zuruecksetzen
|
|
|
// Zaehler zuruecksetzen
|
|
|
count = 0; |
|
|
count = 0; |
|
|
|
|
|
|
|
|
|
|
|
delay(5000) |
|
|
|
|
|
|
|
|
|
|
|
// alle LEDs ausschalten
|
|
|
|
|
|
digitalWrite(LEDrot, LOW); |
|
|
|
|
|
digitalWrite(LEDgelb, LOW); |
|
|
|
|
|
digitalWrite(LEDgruen, LOW); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/*
|
|
|
/*
|
|
|
Moeglicherweise delay() einfuegen, um UART nicht |
|
|
Moeglicherweise delay() einfuegen, um UART nicht |
|
|
zu fluten |
|
|
zu fluten |
|
|
*/ |
|
|
*/ |
|
|
delay(100); |
|
|
|
|
|
|
|
|
delay(1000); |
|
|
|
|
|
|
|
|
} |
|
|
} |