Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > 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 > > <code> > 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; > } > > > </code>