Display Ausgabe

Hallo zusammen,

kurzer Hintergrund, ich möchte eine Geschwindigkeit auf meinem Display ausgeben, je nachdem welcher Schalter umgelegt ist (SpeedPin 1 bis 3). Die Geschwindigkeiten sind hinter v_schlitten (einem float) hinterlegt und mögen 1, 2 und 3 in diesem Beispiel sein.

Jedoch gibt mir mein Display beim untenstehenden Code jedes mal nur den letzten Wert aus (in diesem Falle 3), unabhängig ob Schalter 1 oder 2 umgelegt ist zu diesem Zeitpunkt. Ich nehme an, dass er die anderen If Bedingungen ignoriert, oder wo liegt mein Denkfehler?

  char speedstring[17];
  if( digitalRead( Speed1Pin == LOW )) dtostrf(v_schlitten1, 5,2, speedstring);
  if( digitalRead( Speed2Pin == LOW )) dtostrf(v_schlitten2, 5,2, speedstring);
  if( digitalRead( Speed3Pin == LOW )) dtostrf(v_schlitten3, 5,2, speedstring);
  strcat( speedstring, " m/min" );
  lcd.setCursor(0,1);
  lcd.print ( speedstring );

versuchs mal mit:

if( digitalRead(Speed1Pin) == LOW ) dtostrf(v_schlitten1, 5,2, speedstring);

(Klammersetzung geändert)

Moko: versuchs mal mit:

if( digitalRead(Speed1Pin) == LOW ) dtostrf(v_schlitten1, 5,2, speedstring);

(Klammersetzung geändert)

Tausend Dank, es hat funktioniert :)

Hi

Netter Fehler :) Habe den Code drei Mal durchgesehen, bevor mir der eigentliche Fehler ins Auge sprang.

MfG