Go Down

Topic: [beantwortet] Pin 13 als Eingang blöd? (Read 1 time) previous topic - next topic

gregorss

Sep 10, 2016, 06:21 pm Last Edit: Sep 10, 2016, 06:50 pm by gregorss
Hallo zusammen!

Vorweg: Schönes WE!

Ich bastle die Tage an der Elektronik für meinen Laminator (AKA Toner-Transfer-Quetsche) und verwende dabei Pin 13 (der mit der Onboard-LED) als Eingang. Leider funktioniert das nicht so, wie ich mir das gedacht habe. Sobald Pin 13 mit

  pinMode(switchPin, INPUT_PULLUP);

initialisiert wird, leuchtet die LED ziemlich schwach und digitalRead() ergibt 0, was sich nicht ändert - egal, in welcher Stellung sich der Schalter befindet (wie auch ...).

Ist es generell eine blöde Idee, Pin 13 als digitalen Eingang zu verwenden? Kann ich das Verhalten so ändern, dass es wie gewünscht ist, ohne die LED vom Board zu fräsen?

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

RudiDL5

Hmmm, eigentlich sollte es keine  blöde Idee sein, Pin 13 als digitalen Eingang zu nutzen. Warum auch? Habs gerade am UNO R3 ausprobiert... und es klappt, egal ob mit oder ohne Pullup. Da muss noch was anderes faul sein. War bei mir gerade zuerst auch, weil ich noch eine blaue LED mit 680 Ohm dran hängen hatte. Nachdem ich die LED abgezogen hatte lief alles optimal.

combie

#2
Sep 10, 2016, 06:44 pm Last Edit: Sep 10, 2016, 06:45 pm by combie
Bei einem UNO ist Pin13 als Eingang recht hochohmig. (Da ist ein OP zwischen)
Bei den einfacheren Boards, z.B. Pro Mini, tuts das nicht so einfach, also ablöten.
Säge kein Sägemehl.

RudiDL5


gregorss

Danke für die Antworten!

Bei mir geht es um einen Fernost-Nano. Ich werde die Leiterbahn zu Pin 13 auftrennen und eine Brücke zu einem anderen Pin löten. Basteln macht Spaß!

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

Doc_Arduino

Hallo,

ich denke ich muß hier eingreifen.  ;) Da ist kein OPV "dazwischen". Der OPV für die LED hängt nur parallel dran als Spannungsfolger. Ist im Schaltplan zum Uno nur bekloppt dargestellt. Im Schaltplan vom Mega ist das besser ersichtlich. Wenn nun der Pullup aktiv ist, dann muß die LED leuchten. Ist normal wenn High am Pin anliegt wegen dem OPV.
Der OPV mit LED hat demnach nichts mit dem Problem zu tun. Außer die Chinesen haben Mist gemacht. Denke ich aber weniger. Hast du Hardware SPI in Benutzung? Pin 13 ist nämlich der Clock vom SPI.

Wenn deine LED 13 nur halb leuchtet mit aktivierten Pullup und sonst wirklich nichts dran hängt, dann ist was anderes faul. Dann hilft es aber nicht die LED zu trennen.


Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

gregorss

Dann hilft es aber nicht die LED zu trennen.
Was auch immer der Grund für das seltsame Verhalten ist, ich löse das Problem, indem ich einen anderen Pin benutze (ich habe wie üblich noch einen Haufen unbenutzte Pins).

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

combie

Quote
Da ist kein OPV "dazwischen". Der OPV für die LED hängt nur parallel dran als Spannungsfolger
;-)
Doch!
;-)

Zwischen Pin 13 und der LED hängt der OP.
Und das ist beim Nano und Mini eben nicht der Fall.
Darum ist die Angelegenheit beim UNO erheblich hochohmiger.

Ist eigentlich auch kein Problem, selbst wenn man ihn als Eingang nutzen will. Das Eingangssignal muss nur genügend niederohmig sein, da es die LED mit treiben muss. So ca 4mA müssen da schon kommen...



Säge kein Sägemehl.

uwefed

;-)
Doch!
;-)

Zwischen Pin 13 und der LED hängt der OP.
Und das ist beim Nano und Mini eben nicht der Fall.
Darum ist die Angelegenheit beim UNO erheblich hochohmiger.

Ist eigentlich auch kein Problem, selbst wenn man ihn als Eingang nutzen will. Das Eingangssignal muss nur genügend niederohmig sein, da es die LED mit treiben muss. So ca 4mA müssen da schon kommen...
Der Operationsverstärker ist beim UNO und MEGA2560  zwischen Pin und LED  und nicht wie Dein Beitrag interpretierbar ist zwischen Pin der Arduino und Füßchen des Atmega328.

Beim Arduino 2009 und vielen anderen Modellen ist am Pin 13 eine LED und ein Widerstand direkt angeschlossen und diese gibt bei unbeschaltenen oder hochohmig beschalteten Pin 13 einen bestimmten Pegel vor. Dadurch kann ein Pin 13 als Eingang unter Umständen nicht funktionieren.
Grüße Uwe

gregorss

Der Operationsverstärker ist beim UNO und MEGA2560  zwischen Pin und LED  und nicht wie Dein Beitrag interpretierbar ist zwischen Pin der Arduino und Füßchen des Atmega328.
Beim Arduino 2009 und vielen anderen Modellen ist am Pin 13 eine LED und ein Widerstand direkt angeschlossen und diese gibt bei unbeschaltenen oder hochohmig beschalteten Pin 13 einen bestimmten Pegel vor. Dadurch kann ein Pin 13 als Eingang unter Umständen nicht funktionieren.
Ungefähr das dachte ich, als ich mir das im Schaltplan angesehen habe. „Dazwischen" ist etwas Anderes.

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

combie

Tut mir leid, dass/wenn ich mich ungenau ausgedrückt habe.
Ich meinte zwischen LED und Pin!
Das koppelt die LED ab, bzw. die LED belastet nicht mehr den Eingang des AVR
Säge kein Sägemehl.

Doc_Arduino

#11
Sep 11, 2016, 01:33 am Last Edit: Sep 11, 2016, 02:04 am by Doc_Arduino
Hallo,

wenn combie sich nur unglücklich ausgedrückt bin ich vollkommen bei ihm. Laut Schaltplan vom Uno und Mega ist es dem µC "Pin 13" vollkommen egal ob er Eingang oder Ausgang ist. Die LED leuchtet immer bei High Pegel und ist aus bei Low Pegel. Welcher Pegel wie herum anliegt spielt keine Rolle. Eben weil sie durch den OPV als Spannungsfolger abgekoppelt ist. Nun brachte Uwe Licht ins Dunkel. Wenn billige Nachbauten sich den OPV sparen ist das natürlich ärgerlich.

Wenn das dadurch mit dem internen Pullup nicht sauber funktioniert, kannste den Pin 13 Eingang immer noch normal verwenden. Das muß funktionieren. Die LED mit ihren Vorwiderstand hängt damit als normaler Verbraucher dran und ist damit auch gleichzeitig dein externer Pulldown.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

combie

Quote
Wenn billige Nachbauten sich den OPV sparen ist das natürlich ärgerlich.
Ärgerlich, ok ...
Aber mit billig und Nachbauten hat das dennoch nichts zu tun.
Bei den kleinen Boards ist kein Platz für den Tüddel.
Säge kein Sägemehl.

gregorss

Bei den kleinen Boards ist kein Platz für den Tüddel.
Wieviel m² benötigt so ein OPV denn?

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

Doc_Arduino

#14
Sep 11, 2016, 11:11 am Last Edit: Sep 11, 2016, 11:12 am by Doc_Arduino
Wieviel m² benötigt so ein OPV denn?
wenn ich jetzt frech wäre, würde ich sagen wollen, guckst in den Schaltplan vom Uno/Mega, suchst nach der Bezeichnung und damit nach dem Datenblatt, dann haste die Maße ...  würde ich aber nie sagen, nur laut denken.  :)

Platzproblem ist natürlich ein Grund das wegzulassen.  ;)
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Go Up