Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Inkremental / Drehgeber Kategorie: Programmierung (von wema - 26.07.2005 20:31)
Als Antwort auf Inkremental / Drehgeber von MarkusNRW - 26.07.2005 19:39
Ich nutze:
C164CI-ControllerBoard, CC2-ReglerBoard, OSOPT V3.0
> 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)