Re: Inkremental Geber an der Station Kategorie: I²C-Bus (von Ingo - 9.04.2006 19:18) | |
Als Antwort auf Re: Inkremental Geber an der Station von Sascha - 7.04.2006 1:14
| |
> Hallo zusammen :o) , > > vielen Dank Krassos.....Frage 2. ist damit zu 100% beantworten und mein Display begrü�t > mich vielversprechend mit "Hallo" :o) > > Vielleicht kann noch jemand eine Blutgrätsche bei Frage 1 machen ? :o) > > Vielen Dank > > Gru� > Sascha Hallo Sascha Ich hab da ein kleines Programm zu dem Inkrementalgeber, vielleicht kannste was mit anfangen. Es nutzt nicht die Hardware und das Modul von Chris Ullmann so das du es auch an der Station benutzen kannst (den Hostpin mü�test du nach au�en führen, am Hosttaster abgreifen). Das Programm ist natürlich nicht so schnell, aber für die üblichen handbedienten Geber reicht es. Angeschlossen wird der Geber so: die 2 Pins sind der Pushbutton, ein Pin an Masse den anderen an Port 8, bei den 3 Pins den mittleren an Masse, die 2 äu�eren an Port 9 und 10, an alle 3 Ports Pullup-Widerstände gegen +5V schalten (10k). Das Programm zählt die Impulse vom Geber, der Pushbutton setzt den Wert auf Null. Gru� Ingo int wert; int PushButton; thread Display { //LCD init lcdext.init(); lcdext.clear(); loop { lcdext.goto(2,0); lcdext.print("Wert = "); lcdext.zahl(wert); lcdext.goto(1,0); lcdext.print("Button = "); lcdext.zahl(PushButton); sleep 50; } } thread Geber { int SpurA, SpurB, SpurAA; loop { PushButton = !(ports.get(8)); SpurA = !(ports.get(9)); SpurB = !(ports.get(10)); if SpurA < SpurAA //positive Flanke { if SpurB == -1 wert = wert + 1; if SpurB == 0 wert = wert - 1; SpurAA = SpurA; //Zustand am Port merken, für Flankenerkennung } if SpurA > SpurAA //negative Flanke { if SpurB == -1 wert = wert - 1; if SpurB == 0 wert = wert + 1; SpurAA = SpurA;//Zustand am Port merken, für Flankenerkennung } if PushButton == -1 wert = 0; } } thread main { run Geber; run Display; halt main; } | |
Antwort schreiben Antworten: Re: Inkremental Geber an der Station (von Sascha - 10.04.2006 6:20) Re: Inkremental Geber an der Station (von Sascha - 10.04.2006 22:12) |