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 ! > > > > ok, fangen wir noch mal von vorn an. > > > > > > > > man nehme: > > > > > > > > 1. einen Thread, welcher Dir ständig so im etwa 250ms Takt den Wert vom > > > > AD Eingang einliest und am Display ausgibt. > > > > > > > > 2. einen Widerstand ( etwa 220k ) zwischen AD und +5V. > > > > Damit ziehen wir den AD im Ruhezustand hoch. > > > > > > > > 3. an der Masse abgreifen und zu deinem Doppeltaster gehen. > > > > > > > > 4. nach deinem Doppeltaster einmal Widerstand ( etwa 3k ) und am anderen Ausgang > > > > so etwa ( 5k ) anlegen. Beide Widerstände zum AD Eingang. > > > > > > > > probiers mal und poste das Ergebniss. > > > > Du kannst auch den 220k gegen Masse ziehen, und die Spannung der Tasterwiderstände > > > > holst Du dir von den +5V. Sollte auch gehen. > > > > > > > > Rene > > > > > > > > > > Moin, > > > > > > fürs erste würde ich mal direkt, über 10k- schutzwiderstand an die Bezugspotentiale gehen und > > > mir die Meßwerte ansehen, die da wären 0 für Masse und 1023 für +5V. > > > Wenn die stabil sind, wovon ich ausgehe, würde ich an Deinem Spannungsteiler die Taster mal durch > > > Drahtbrücken ersetzen. Deine Tasten sind möglicherweise nicht sehr Kontaktsicher. > > > > > > mfg > > > krassos > > > > Hallo Rene und krassos > > > > ich habe jetzt mal folgendes ausprobiert: > > > > for i=1...4 > > { > > for n=0...12 step 6 > > { > > hdt.OkTaste1 = ports.adc(2); > > rblcd.goto(i,n); > > rblcd.zahl5(hdt.OkTaste1); > > sleep 10; > > } > > } > > > > Dann bekomme ich z. B. folgende Anzeige bei der Stop-Taste: > > (der erste Wert schwankt von 400 bis 800) > > > > 476 901 902 > > 903 902 902 > > 903 902 902 > > 903 451 451 > > > > Die Anzahl der Werte mit dem Sollwert für die entsprechende Taste hängen natürlich > > davon ab, wie lange die entsprechende Taste gedrückt wurde. Bei extrem kurzen > > Antippen der Taste erhalte ich nur 3mal den Sollwert. > > Ich habe verschiedene Tasten ausprobiert, bei der schlechtesten erhalte ich nur 1mal > > den Sollwert. (Hinweis von krassos ist richtig) > > Das Beste wären Tasten, die eine definierte Ein-Zeit hätten, also nicht schleifende Kontakte, > > sondern mit einer "Schapp"-Charakteristik, wie man sie bei MIcro-Switches hat. > > Weder bei Reichelt noch bei Conrad finde ich ausreichende Spezifikationen um zu > > erkennen, welche Charakteristik die Tasten haben. > > > > Es sieht also so aus, das ich wohl mit meiner Abfrage zu schnell bin und so bei einer > > einzigen Abfrage des AD-Portes zu einem Zeitpunkt abfrage, wo sich der Wert noch nicht stabilisiert > > hat. Ob es mit einem definierten sleep funktioniert oder ob ich doch eine math.max...-Schleife > > benutze, die ich bei sinkendem Wert verlasse, werde ich ausprobieren, > > es sei denn, jemand hat eine bessere Idee > > > > Danke für die Tipps. > > > > MfG > > ChristianK. > > > > > > > Ergebnis: > Ich habe zwischen dem wait (Abfrrage, ob Taste gedrückt wurde) > und dem Zuweisen des Variablenwertes ein sleep 25 eingefügt. > Jetzt scheint es zu funktionieren! > > MfG > ChristianK