Vielen dank schon Mal für eure Beiträge.
Ich versuche, einige aufgekommene Fragen zu beantworten:
postmaster-ino:
Bei BN-SW-OR komme ich auf 10kΩ, Das macht 5V:10000Ω=0,5mA (sofern die Frtitzing-Widerstände Deinen entsprechen)
Weit entfernt von Den von Dir genannten 20mA.
→ Als Widerstand habe ich 1kΩ sowie 10kΩ probiert. Beides Mal fließen 20mA von V+ zum Pin bei Betätigung des Tasters.
→ Aber als Pull-Down-Widerstand soll er ja eh nur verhindern, dass es zu einem "undefinierten Zustand" kommt, wenn der Taster nicht gedrückt ist, oder sehe ich das falsch? Wie viel durch den Widerstand fließt, beim Drücken des Tasters: 325µA (gemessen). Aber das ist ja sowieso nur "Abfall".
DrDiettrich:
Für 20mA kann ich mir (u.a.) folgende Ursachen vorstellen:
- Pin ist Ausgang
- Spannung höher als Versorgungsspannung
- Chip defekt
Das könnte liegen an
- Aufbau fehlerhaft
- Wackelkontakt
- Bibliothek fehlerhaft
- Board fehlerhaft
- Chip defekt
→ 1: Pin ist gemäß Code als INPUT deklariert [pcf8574.pinMode(P1, INPUT);]. Wenn ich den Pin zu GND messe, dann fließen da 0,24mA.
→ 2: Ne, alles läuft mit der gleichen Spannung; im Aufbau sind keine anderen Spannungen vorhanden.
→ 3: Kann ich ausschließen, da ich mit 3 identischen Chips versucht habe
→ 4: Hmmm... ja, also... NE... ich habe es mehrfach komplett abgebaut und neu aufgebaut, um eben dies auszuschließen. Der µC erkennt ja gem. des Beispielcodes (mit der Grundstruktur aus der Bibliothek, leicht modifiziert für Debug), wenn ich die Taste drücke (und gibt auf Seriell entsprechenden Text aus/lässt dich LED leuchten).
→ 5: Ja, am Breadboard gibt es gelegentlich Wackler, prinzipbedingt durch die 'lose Verkabelung'. Aber ich habe es mehrfach durchgemessen (bestimmt >50 Mal) und auch verschiedene Kabel/Breadboards bzw. Buchsen am Breadboard probiert.
→ 6: Ja, das wäre aber fatal. Die wird bestimmt nicht nur von mir benutzt, sondern doch auch von einigen anderen. War aber vielleicht nur niemand so blöd bisher, und hat spaßeshalber den Strom gemessen?!
→ 7: Das Board läuft sonst einwandfrei (wobei die nichtexistenz eines Fehlers nur schwer in Gänze nachweisbar ist).
→ s. 3+7.
agmue:
Meine Vermutung: Anstelle des 10 kOhm PullDown-Widerstandes hast Du versehendlich einen 220 Ohm erwischt.
→ Gute Idee, die Schaltung zu überprüfen. Gerade nochmal den Widerstand mit dem Multimeter gecheckt: 10kOhm.
HotSystems:
Ein weiteres Problem bekommst du mit deiner Schaltung und der Led.
Sieh dir dazu das Datenblatt des PCF8574 an.
Der Ausgang liefert gegen GND (wie deine Schaltung) nur max. 1 mA.
In deiner Schaltung hast du nicht lange Freude dran.
Du musst die Led an +5Volt legen und mit dem PCF gegen GND schalten, dann liefert der Ausgang max. 25 mA.
→ Jup, das ist in dem verlinkten Fritzing-Breadboard-Bild definitiv falsch, und hab ich im Datenblatt auch so gelesen und entsprechend umgesetzt: die LED nicht gegen GND sondern an V+.
beeblebrox:
Nach meiner Erinnerung an den PCF macht die LED da aber nix kaputt.
Die leuchtet so halt nur "sehr schlapp" wenn überhaupt.
Diese Pinne liefern max 1mA und auch nicht mehr wenn man sie auf Masse zieht.
Der PCF ist ja "pseudo-Birektional". D.h. Pin auf Masse ziehen dann habe ich in Leserichtung eine 0.
Ulli
→ Genau, leuchtet dann halt - wirklich sehr - schlapp. Wie der Bibliotheks-Entwickler darauf kommt, dies so zu verdrahten - geschenkt. Das hab ich mittlerweile ja auch rausbekommen (deshalb, siehe Code: pcf8574.digitalWrite(P7, LOW); = LED leuchtet = Taster gedrückt).
→ Du scheinst dich mit dem PCF etwas auszukennen! ;-) Wie hast du einst die Pins ausgelesen? Hast du auch Taster dran gehabt?
→ Die Frage ist, was macht der PCF mit den 20mA? Auch nur 'verbrennen'? Das wäre ja schade um den schönen Strom, und macht ja wohl auch nur wenig Sinn, nur um eine logische "1" zu erhalten.
→ Und die zweite Frage: Was läuft hier krumm, oder ist es eher ein Feature als ein Bug? Andererseits, für einen Taster, der Mal kurz 20mA zieht, ok, das geht ja noch. Aber einen richtigen Schalter, der dann längere Zeit AN ist, da sind die 20mA dann doch ganz schön viel Strom, der verbraten wird.
Ich danke euch allen für eure Beiträge und Hilfe!