Hallo Forum!
Ich möchte mir gerne ein Drehgebergesteuertes Menü für meinen Robo mit ATMega32 programmieren. Die Ausgabe erfolgt dann auf einem 4x27-LCD.
Das Auslesen des Encoders hat mit dieser Methode schon so einigermaßen geklappt - nur hat sich der Encoder öfters in der Drehrichtung verhaspelt. Allerdings habe ich das Auslesen des Drehgebers in einer Endlosschleife übernommen. Vielleicht liegt es also auch daran.
Wie sollte man diese Dinger abfragen? Im Polling-Verfahren? Oder Hardware-Interrupts?
Mein Drehgeber hat auch einen eingebauten Drucktaster, mit dem ich dann Eingaben bestätigen möchte.
Dazu dachte ich mir folgendes: Der Drucktaster liegt auf einem Hardware-Interrupt-Pin und bei Druck auf den Selben gelangt man in das Hauptmenü. Durch dieses scrollt man dann bis zu seinem gewünschten Menüpunkt und wählt ihn mit einem weiteren Druck aus. Jetzt kommt man in ein Submenu, in welchem man eine Einstellung (z.B. einen Zahlenwert durch Drehen des Gebers auswählen) tätigen kann und mit einem letzten Druck bestätigt sowie wieder ins übergeordnete Menü kommt.
Sowas hat doch bestimmt schon mal jemand von Euch gemacht, oder?! Über Anregungen und Lösungsvorschläge würde ich mich freuen.
Schönes Wochenende, Manni