Hallo,
ich versuche mich gerade in die Arduinowelt einzuarbeiten. Mit Hilfe des Internets und dem Buch Arduino Praxiseinstieg geht das auch ganz gut.
Jetzt aber zu meiner Frage:
Im unten angehängten Sketch läuft die loop ja immer schrittweise ab. d.h.
Wenn ich jetzt den Analogewert des Potis einlese, berechne und auf dem angeschlossenen Disply anzeige, muss ich in der vorletzten Zeile Delay auf min. 1000 setzten um was auf der Anzeige zu sehen. Was ja an und für sich kein Problem wäre, aaaber:
Parallel dazu schalte ich mit einem Sensortaster die LED am Ausgang 13. Durch die Loop wir jetzt erst der Potiwert gelesen dann berechnet und dann angezeigt. Danach kommt eben erst mit der Zeitverzögerung mein Schalter ins Spiel.
1.Wie kann man das parallel ablaufen lassen? Zwei Loops gehen ja nicht.
2. Warum braucht das DIsplay einen Deley um den Wert anzuzeigen?
Danke für eure Mithilfe.
int LED = 13;
int Sensor = 5; // Der Ausgang des Sensors wird an Pin 5 angeschlossen
int val = 0;
float poti;
int potiPin = 0;
int ledPin = 3;
void setup() {
pinMode(LED, OUTPUT);
pinMode (Sensor, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.print(124, BYTE); // 124 bzw. 0x7C- Befehl für Displaybeleuchtung
Serial.print (157, BYTE); // 128 (Disply off) - 157 (Display 100%)
//30 Helligkeitsstufen durch PWM
}
void loop() {
val = digitalRead (Sensor);
if (val == HIGH){
digitalWrite (LED, HIGH);}
else {
digitalWrite (LED, LOW);}
poti = analogRead(potiPin);
poti = (poti / 4.016);
Serial.print(254, BYTE);
Serial.print(128, BYTE);
Serial.print(poti);
Serial.print(254, BYTE); // 254 bzw. 0xFE Befehl für Extended LCD Command
Serial.print(192, BYTE);
Serial.print ("PWM - Wert");
delay(1);
analogWrite (ledPin, poti);
}