Re: Inkremental / Drehgeber Kategorie: Programmierung (von wema - 26.07.2005 20:31) | ||
Als Antwort auf Inkremental / Drehgeber von MarkusNRW - 26.07.2005 19:39 | ||
| ||
> Hallo erstmal... > > Ich habe mal eine Frage! Hat jemand ein funktionierendes Programm womit ich einen Drehgeber/ > Inkrementalgeber auswerten kann?? Ich habe es jetzt schon öfters selber probiert aber irgendwie bekomme > ich da nichts auf das Display... Nett wäre es wenn dass Programm einfach eine Ausgabe auf mein Display > macht und dabei bei einer Rechtsdrehung hoch und einer Linksdrehung hinunterzählt... > Ich habe mir die Interface Platine gebaut(Cris Ullmann) mit der ich dann an den Port P3.6 und P3.4 gehe und > zusätzlich noch einen Tastimpuls besitze...... Ausserdem müsste die Programmierung ja dann über dass > Inkremental Modul funktionieren... > > Wäre über Antworten sehr dankbar, Markus > Hallo Markus, hier einmal mein Modul: Ich übergebe einen vorgegebenen Wert, welcher zu Beginn angezeigt wird. Weiterhin übergebe ich der Funktion noch den zulässigen Minimal- und Maximalwert. Wenn diese erreicht sind, wird mit dem Entgegengesetzen Wert weitergemacht. Au�erdem übergebe ich noch die Cursorposition. Bei mir wird der Wert dann in der Zeile 3 angezeigt, hier mü�test Du Deine Anzeige noch anpassen. Diese Funktion wird verlassen, sobald der Drehregler gedrückt wird! In der Zeile "if position < position_alt-10" bzw. "else if position > position_alt+10" wird die Geschwindigkeit des sich ändernden Wertes eingestellt. Bei "10" finde ich ändern sich die Werte mit jeder Drehung des Inkrementalreglers moderat. Hier kannst Du einfach nach Deinem persönlichen Geschmack probieren! //------------------------------------------------------------------------ function abfrageDrehgeber (int wert,int min,int max,byte cur) //------------------------------------------------------------------------ { while not inkremental.getPushKey() { position=inkremental.get_position(); if position < position_alt-10 { position_alt=position; wert=wert-1; if wert==min-1 wert=max; rblcd.goto(3,cur); rblcd.zahl2(wert); rblcd.cursorleft(); } else if position > position_alt+10 { position_alt=position; wert=wert+1; if wert==max+1 wert=1; rblcd.goto(3,cur); rblcd.zahl2(wert); rblcd.cursorleft(); } } } Gru�, wema | ||
Antwort schreiben Antworten: Re: Inkremental / Drehgeber (von MarkusNRW - 26.07.2005 23:54) Re: Inkremental / Drehgeber (von wema - 27.07.2005 10:06) Re: Inkremental / Drehgeber (von MarkusNRW - 27.07.2005 18:49) Re: Inkremental / Drehgeber (von MarkusNRW - 27.07.2005 20:11) Programmfehler beim Drehgeber (von Markus - 28.07.2005 19:59) Re: Programmfehler beim Drehgeber (von wema - 28.07.2005 22:08) Re: Programmfehler beim Drehgeber (von Markus - 28.07.2005 22:36) |