Browse Source

Some improvements

test_1
T. Meissner 4 years ago
parent
commit
a68cd222f8
1 changed files with 21 additions and 16 deletions
  1. +21
    -16
      erkenn_opto/erkenn_opto.ino

+ 21
- 16
erkenn_opto/erkenn_opto.ino View File

@ -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);
} }

Loading…
Cancel
Save