From a68cd222f81686021b97ea716d9d757b680f9824 Mon Sep 17 00:00:00 2001 From: tmeissner Date: Thu, 2 Jul 2020 22:29:24 +0200 Subject: [PATCH] Some improvements --- erkenn_opto/erkenn_opto.ino | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/erkenn_opto/erkenn_opto.ino b/erkenn_opto/erkenn_opto.ino index a23a2d1..5c76152 100644 --- a/erkenn_opto/erkenn_opto.ino +++ b/erkenn_opto/erkenn_opto.ino @@ -1,13 +1,13 @@ // 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 LEDgruen = 6; const int LEDgelb = 7; // 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 press; //umgeflogen +int press; // umgeflogen unsigned int count = 0; int Y; @@ -27,6 +27,11 @@ void setup() { pinMode(LEDgruen, OUTPUT); pinMode(LEDgelb, OUTPUT); + digitalWrite(reflexlicht1, HIGH); + digitalWrite(LEDrot, LOW); + digitalWrite(LEDgelb, LOW); + digitalWrite(LEDgruen, LOW); + } void loop() { @@ -35,17 +40,15 @@ void loop() { 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) - digitalWrite(reflexlicht1, HIGH); //soll licht ausgeben, damit der erkennt ob da was drauf steht - // Zaehlen: 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 + // millis() gibt den aktuellen Wert des System Timers zurueck unsigned long currentMillis = millis(); // Wenn Zeitunterschied >= festgelegtes Interval @@ -54,11 +57,6 @@ void loop() { // aktuelle Zeit speichern fuer naechsten Durchlauf previousMillis = currentMillis; - // Zunaechst alle LEDs ausschalten - digitalWrite(LEDrot, LOW); - digitalWrite(LEDgelb, LOW); - digitalWrite(LEDgruen, LOW); - /* Jetzt je nach Stand von count einzelne LED anschalten 0-3: rot; 4-6: gelb; > 6: gruen @@ -75,12 +73,19 @@ void loop() { // Zaehler zuruecksetzen count = 0; + delay(5000) + + // alle LEDs ausschalten + digitalWrite(LEDrot, LOW); + digitalWrite(LEDgelb, LOW); + digitalWrite(LEDgruen, LOW); + } /* Moeglicherweise delay() einfuegen, um UART nicht zu fluten */ - delay(100); + delay(1000); }