Fehlermeldung wenn ein zurückgegebener Wert verwendet werden soll

Hallo Zusammen,
ich komme gerade nicht mehr weiter, folgende Fehlermeldung erscheint:

invalid conversion from 'byte (*)()' to 'byte' bezogen auf die 4. Zeile im Loop
auch lcd.print(Tasten); gibt mir eine Fehlermeldung :frowning:
die Schleife byte Tasten(); wird zumindest ausgeführt(und "i" korrekt auf dem LCD angegeben)

Ich stehe noch recht am anfang und hoffe das ich nur nen blöden Fehler drin hab

Vielen Dank & Grüße,
Matthias

IDE 1.0.1 Mega2560

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup () {
// Input/Outputs

  // LCD Setup
        lcd.begin(16,2);

    //Begrüßung
        lcd.setCursor (0, 0);
        lcd.print ("Hallo");
        lcd.setCursor (0, 1);
        lcd.print ("V 0.0.1");
        delay (2500);
        lcd.clear ();
}
void loop () { 
  Tasten();
byte zzz;
zzz = Tasten;

}

////////////////////////////////////////////////////////////////////////////////////////////
byte Tasten() {
   int v;
   int i;
   v = analogRead(A0); 
  
  if (v>820){ //none 1023
    i = 0;
  } 
    else if (v>570 && v<821){ // select 742
    i = 1;
  }
    else if (v>410 && v<571){ //left 505
    i = 2;
  }
    else if (v>72 && v<181) {//up 144
    i = 3;
  }
    else if (v>180 && v<411) { //down 329
    i = 4;
  }
    else { //right 0
    i = 5;
  }
  lcd.print (i);
  return i;
 }

Hallo,

auf die Schnelle fällt mir folgendes auf:

Tasten(); <- Hier fehlt die Variable die den Rückgabewert erhält
byte zzz;
zzz = Tasten; <- Tasten() - in der Funktion wird die Variable i übergeben, ein Integer
aber die Funktion liefert ein Byte zurück

Viele Grüße

Hallo,

und wenn Du mal versuchst: zzz = Tasten(); und das ganze nicht als byte sondern int?

LG
Robi

Danke Robi,
zzz = Tasten(); funkioniert // hab auch alles jetzt auf byte gesetzt :slight_smile:

Danke!