Guten Tag,
ich bin neu hier und habe mein Arduino Uno seit 2 Tagen.
Ich programmiere momentan einfache Schaltungen und komme bei einer Sache nicht weiter.
Ich habe habe eine RGB-LED und möchte über eine Voreinstellung die Grundfarbe (rot,blau oder grün) über die Monitorabfrage festlegen.
Diese Farbe soll sich aber mit dem Potentiometer ändern.
Je nach Auswahl ist blau,grün,rot festgelegt (jeweiliger Pin mit digitalWrite auf HIGH) und die zwei anderen Parameter sollen sich über den Input des Potentiometers ändern.
Wenn ich am Potentiometer drehe passiert erstmal nichts. Nur wenn ich die Farbe erneut eintippe und das Programm vermutlich nochmals die if-Abfrage durchläuft, ändert sich die Farbe?!
Der Code:
int LEDred=3;
int LEDgreen=9;
int LEDblue=10;
int Wandler=A3;
int wandler;
int Eingang;
String myColor;
String msg="Welche Farbe soll deine Grundfarbe sein?";
void setup() {
// put your setup code here, to run once:
pinMode(LEDred, OUTPUT);
pinMode(LEDgreen, OUTPUT);
pinMode(LEDblue, OUTPUT);
pinMode(Wandler, INPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(msg);
while (Serial.available()==0);{
}
myColor=Serial.readString();
Eingang=analogRead(Wandler);
wandler=Eingang*(255./1023.);
if (myColor=="rot" || myColor=="Rot"){
digitalWrite(LEDred,HIGH);
analogWrite(LEDgreen,wandler);
analogWrite(LEDblue,wandler);
}
if (myColor=="grün"|| myColor=="Grün"){
analogWrite(LEDred,wandler);
digitalWrite(LEDgreen,HIGH);
analogWrite(LEDblue,LOW);
}
if (myColor=="blau"|| myColor=="Blau"){
analogWrite(LEDred,wandler);
analogWrite(LEDgreen,wandler);
digitalWrite(LEDblue,HIGH);
}
}
Wie muss ich das Programm ändern, dass die LED ihre Farbe ändert ohne dass ich per Texteingabe die Farbe aktualisiere? Wird die if-Abfrage nur bei Änderung meines Inputtextes aktualisiert oder was mache ich falsch?
Vielen Dank im Voraus!
Liebe Grüße