Schön, welch nette Worte! Da freue ich mich ganz doll !!!!
(Um auch die anderen Lober einzubeziehen: Ich hab das wohl auch schon vor ein paar Tagen gerne gelesen.)
@inka: Da muss ich etwas ausholen. (Keine Bange, ist auch wieder nur ein Spannungsteiler)
Erst einmal hast du recht, dass die Widerstande R23 (1M) und R24 (1k) gemeint sind.
Damit wir nicht ständig zwischen Seite 1 und 2 umschalten müssen, kopiere ich die Taster-Schaltung (die aus dem Post) nochmal in's nächste 'Kästchen' (Für alle die das nicht wissen: 'Kästchen' ist ein mit [ code ] und [ / code ] geklammerter Text. Die Leerzeichen innerhab der eckigen Klammern MUESSEN wegbleiben.)
Die von inka angesprochene Schaltung:
Code:
+5V vom-Pin-oben-links-in-der-Schaltung +5V (U+ steht da dran)
| |
Widerstand 1000 Ohm Widerstand 1000000 Ohm
| |
+-----------+----------+
|
+----------AD-Wandler vom Prozessor (Pin 27)
|
+--------+--------+---+----+--------+--------+
| | | | | |
6 Taster
| | | | | |
Widerstände 2000 4000 8200 16000 33000 60000
| | | | | |
+--------+--------+---+----+--------+--------+
|
|
Masse
inka versucht die Genauigkeit des 1000 Ohm Widerstandes mit dem 1000000 Ohm-er zu verbessern.
Tut mir Leid inka, das ist tatsächlich ein Holzweg. (Mach dir aber nichts daraus, schliesslich versuchst du eine Erklärung zu finden. Nur das zählt!)
Die Frage, die aber zur Antwort führt lautet: Warum haben die Entwickter den 1000 Ohm Widerstand an einen Pin vom Prozessor gehängt, und nicht direkt mit +5V verbunden?
Ja, genau: Den Pin vom Prozessor kann man mit der SOFTWARE von +5V auf 0V (fast jedenfalls) umschalten!
Im nächsten Codeblock (Kästchen ist nun out) findet ihr dann nochmal die gleiche Schaltung, aber nun mit Masse (0V) an diesem Prozessor-Pin.
Laßt den Codeblock noch zu. Versucht erst einmal selber den Schaltplan zu zeichen und eine Lösung, was man dann damit machen kann, zu finden.
Code:
+5V (U+ steht da dran)
|
Widerstand 1000000 Ohm
|
+----------------------------+----------+
| |
| +----------AD-Wandler vom Prozessor (Pin 27)
| |
| +--------+--------+---+----+--------+--------+
| | | | | | |
|
| 6 Taster
|
| | | | | | |
1000 2000 4000 8200 16000 33000 60000 Widerstände
Ohm | | | | | |
| +--------+--------+---+----+--------+--------+
| |
| |
Masse Masse
vom-Pin-oben-links-in-der-Schaltung
Nun haben wir GANZ ANDERE Verhältnisse in der Schaltung. (Es geht immer noch um die Spannung für den AD-Wandler)
Ist kein Taster gedrückt, dann haben wir nun einen Spannungsteiler (was sonst) von +5V über 1000000 Ohm über 1000 Ohm an Masse. Der AD-Wandler kann nun die Spannung am 1000 Ohm Widerstand messen.
Die ist dann: +5V / (1000000 Ohm + 1000 Ohm) * 1000 Ohm = 0,00499..V
Im Grunde sind das 0V, denn 5V / (2 ^ 10Bit - 1) ist die kleinste Spannung die ein 10-Bit-Wandler schafft.
(Rein mathematisch hat der AD-Wert also eine 1)
Drücken wir nun alle Taster um den dann gebildeten Widerstand möglichst klein zu machen, bekommen wir
bei Taster 1 gedrückt parallel zu den 1000 Ohm am vom-Pin-oben-links-in-der-Schaltung erstmal 666,66 Ohm.
Mit Taster 2 und dem 4000 Ohm-er parallel dann: 571,428 Ohm
Mit Taster 3 und dem 8200 Ohm-er parallel dann: 534,201 Ohm
Nun aber wieder selber rechnen!
Und zum Schluß, wenn alle Taster gleichzeitig gedrückt werden: 504,688 Ohm
Das führt uns zu einer Spannung von 0,00252..V
Der AD-Wert ist hier dann auf alle Fälle 0 (rein mathematisch)
Merkwürdig: Auch schon wieder 0V
Somit kann der Prozessor gar nicht rauskriegen ob da irgendein Taster gedrückt wurde.
Ist auch nicht die Aufgabe.
Wofür ist das dann aber gut?
Jetzt mal was anderes als Spannungsteiler. (Soll ja nicht langweilig werden.)
Die Entwickler vom Asuro haben sich GENAU DIESEN PIN PD3(INT1) am Prozessor ausgesucht um uns damit zu verwirren.
Na, hat die Angabe in der () vom Pin schon ein großes AHA erzeugt?
Genau: Es geht nun um Interrupts.
Am besten, bzw. nur, geht das ganze aber dann, wenn wir diesen INT1-Pin jetzt aber nicht als Ausgang (Die Masse können wir ja nicht gebrauchen), sondern als Eingang über die SOFTWARE programmieren.
Das sieht dann nun so aus:
+5V (U+ steht da dran)
|
Widerstand 1000000 Ohm
|
+----------------------------+----------+
| |
| +- --AD-Wandler vom Prozessor (Pin 27)
| | Kann weg, bringt ja nichts.
| |
| +--------+--------+---+----+--------+--------+
| | | | | | |
|
| 6 Taster
|
| | | | | | |
1000 2000 4000 8200 16000 33000 60000 Widerstände
Ohm | | | | | |
| +--------+--------+---+----+--------+--------+
| |
| |
Eingang Masse
(INT1)-Pin
Ist kein Taster gedrückt, dann 'sieht' dieser Eingangs-Pin nun die +5V (über 1M + 1k)
Ist in wirklichkeit ein bisschen weniger, da der Eingangs-Pin doch einen Eingangs-Widerstand hat (aber riesengroß), somit ein kleiner Strom fließt und da dann auch schon wieder Spannungsteiler entsteht.
Hier ist die genaue Spannung aber vollkommen uninteressant, da es ein DIGITALER Eingang ist.
Der liefert im Prozessor sowiso nur ein gesetztes oder nicht gesetztes Bit.
Und nun ein gedrückter Taster:
+5V (U+ steht da dran)
|
Widerstand 1000000 Ohm
|
+----------------------------+----------+
| |
| +- --AD-Wandler vom Prozessor (Pin 27)
| | Kann weg, bringt ja nichts.
| |
| +--------+--------+---+----+--------+--------+
| | | | | | |
| |
| 5 Taster nicht gedrückt | <-- Der aber
| |
| | | | | | |
1000 2000 4000 8200 16000 33000 60000 Widerstände
Ohm | | | | | |
| +--------+--------+---+----+--------+--------+
| |
| |
Eingang Masse
(INT1)-Pin
Tut mir leid, mal eben ein bischen Spannungsteiler:
Von +5V über 1000000 Ohm über 60000 Ohm an Masse werden zu einer Spannung von _____V am INT1-Pin
Dieser Wert ist aber nun viel kleiner als die +5V bei nicht gedrückten Tasten.
Der Wert ist sogar so klein, dass der Prozessor an diesem DIGITALEN Eingang nun eine 0 als Bit liefern wird.
Das ganze geht auch mit allen anderen Tastern. Rechnet es mal durch.
Jetzt endlich haben wir doch noch eine sinnvolle Aufgabe für diese Schaltung gefunden.
Und wo ist da der Interrupt?
Natürlich in der SOFTWARE.
Interrupt-Funktion programmieren.
Interrupt zulassen.
Fertig
@Lunarman: Gut das du von 'mindestens' spricht. Somit liegst du also richtig.
(Wenn man deinen Tip von 30 als Widerstand an 5V hängt, du den in Serie liegenden Widerstand in der Höhe meines Alters an Masse legst, fällt an meinem Alter eine Spannung von 2,972972...V ab.)
Du sagst jetzt bitte nicht, dass du deine Fusszeile an diesen Thread angepasst hast?
P.S.: (Ohne kann ich wohl nicht) Pick und Put haben noch Kumpels. Die heißen URI und PUI
Wer kennt die NICHT?
Lesezeichen