Hilfe! Digital Pins haben keine Funktion mehr

Anfängerfrage? 8)

Irgend etwas ist mit meinem Arduino Mega 2560 geschehen, das die digitalen Pins außer Gefecht gesetzt hat (sowohl für digitalWrite oder digitalRead).
Nicht mal mehr der Blink-Sketch bringt eine Reaktion der onboard-Pin13-LED.
SCA/SCL auf 20 und 21 funktionieren, eine RTC kann abgefragt werden.

Vielen Dank schon mal
Tom

TEder:
Irgend etwas ist mit meinem Arduino Mega 2560 geschehen, das die digitalen Pins außer Gefecht gesetzt hat (sowohl für digitalWrite oder digitalRead).
Nicht mal mehr der Blink-Sketch bringt eine Reaktion der onboard-Pin13-LED.
SCA/SCL auf 20 und 21 funktionieren, eine RTC kann abgefragt werden.

Durch Überlastung und Kurzschluss kannst Du an den Atmega-Controllern durchaus einzelne Pins himmeln, ohne dabei gleich den ganzen Controller zu schrotten. Dann funktionieren eben nur die defekten Pins nicht mehr, aber andere durchaus noch.

Danke für die schnelle Antwort, jurs.
Es sind aber auch etliche Pins betroffen, die noch nie beschaltet waren. Oder gibt es auch einen kollektiven Tod?

Vermutlich liegt das Problem irgendwo ganz anders.
Aber dazu müsstest du genauer sagen, was bzw. wie du testest.

TEder:
Es sind aber auch etliche Pins betroffen, die noch nie beschaltet waren. Oder gibt es auch einen kollektiven Tod?

Die Pins sind nicht vollkommen unabhängig, sondern ein Pin ist quasi ein achtel eines Portregisters. D.h. ein Portregister repräsentiert bis zu acht Pins.

Pinmapping (ist beim Atmega328 vergleichbar):
http://arduino.cc/en/Hacking/PinMapping168

Wenn z.B. der Pin-13 mit der Board-LED nicht mehr funktioniert, dann kann unter Umständen nicht nur der Pin-13 betroffen sein, sondern auch weitere Pins aus demselben Portregister PORTB. Im PORTB Register sind auf einem UNO-Board die Arduin-Pins 8, 9, 10, 11, 12 und 13 enthalten.

Also in dem Fall, dass Du beispielsweise die Pin-13 LED durch eine Kurzschlussüberlastung himmelst, ist auch eine Wahrscheinlichkeit gegeben, dass weitere Pins zwischen Pin-8 und Pin-12 auf dem Board betroffen sein können.

Aber im Endeffekt weißt Du beim Verschrotten durch Überlastung natürlich nie genau, was passieren wird. Denn wenn Du einen Controller außerhalb seiner Spezifikation betreibst, ist das Verhalten eben "nicht spezifiziert". Und das Verhalten kann dann tatsächlich von "nichts passiert" bis "alles kaputt" reichen.

Hast Du denn einen Kurzschluß gebaut?

Oder kann es vielleicht auch einfach eine Fehlbedienung sein? Zum Beispiel, dass Du Pins als OUTPUT nutzen möchtest, die im setup() gar nicht als OUTPUT gesetzt sind?

@Rabenauge:
Das vermute ich auch. Mein Test ist momentan ganz banal. Ich steuere die einzelnen Pins an, setze sie auf LOW oder HIGH, und hänge zum Auslesen LEDs dran.

@jurs:
Ich glaube nicht, dass ich einen Kurzschluss ausgelöst habe, allerdings kann man das ja nie ganz ausschliessen .
Die Pins sind richtig gesetzt, das Programm läuft auf einem anderen Board einwandfrei. Außerdem sollte der Blink ja auf jeden Fall funktionieren. Wenn ich das Programm starte leuchtet die onboard-LED bei umbeschaltetem Pin13, sobald ich ich eine externe LED draufschalte, erlöscht die LED auf dem Board.
Ich habe in den letzten Tagen mit der TimeAlarms-Library herumgespielt. Vielleicht wurde dabei etwas verbogen?

" hänge zum Auslesen LEDs dran."

Nur LEDs oder mit Vorwiderstand?

natürlich mit R 220.

1.: USB-Stromversorung oder extern?
Falls USB, teste mal ne externe bitte.

2.: miss mal, was am 5V-Pin anliegt. Sind dort 5V?

3.: mal nen anderen USB-Port nehmen. Ich hab an meiner Kiste auch einige, an denen die Arduinos "anders" funktionieren als am Rest..

Hallo Rabenauge,
anderen USB-Port und externe Versorgung hatte ich schon ohne Erfolg probiert.

zu Punkt 2:
USB: 5V-Ausgang: 4,94 V, Pin HIGH: 0,67 V, Pin LOW: 0,67 V
extern: 5V-Ausgang: 5,000 V, Pin HIGH: 0,75 V, Pin LOW: 0,75 V

Ich tausche das Board aus, obwohl ich immer noch nicht glaube, dass ein Hardwaredefekt vorliegt. Irgendwie habe ich das Gefühl, der MEGA ist (die I/O-Funktionen betreffend) in einer Art Sleep-Status.

Vielen Dank an alle, die sich um mein Problem gekümmert haben.
Falls noch irgend jemandem etwas einfällt, bitte posten. Ich werfe das Board noch nicht in den Eimer :slight_smile:

Das sieht aber doch wohl nach Portbruzzler aus. Kannst mal einen anderen Port testen. Z.B. Pin 53, der befindet sich auf einem anderen PortRegister

Hast du vielleicht jemanden in deiner Umgebung, der mal einen Blick auf den Mega werfen kann? Das Verhalten des Boards finde ich schon sehr merkwürdig. Wenn ein Pin oder ein ganzer Port keine Lust mehr haben, okay. Aber alle Pins defekt, jedoch I2C in Ordnung ist ne komische Sache.
Hast du die Möglichkeit, mit einem ISP den Bootloader auf dem Board zu erneuern?

@sschultewolter:
Habe mehrere Pins getestet, die sich auf anderen Portregistern befinden, leider alles ohne Erfolg.

@sth77:

sth77:
Wenn ein Pin oder ein ganzer Port keine Lust mehr haben, okay. Aber alle Pins defekt, jedoch I2C in Ordnung ist ne komische Sache.

Ja, genau deswegen denke ich, dass die Pins nicht verbrutzelt sind, sondern in irgendwie auf LowLevel ausser Gefecht gesetzt sind. Leider habe ich im Moment noch nicht die Skills, das nachvollziehen zu können.
Mit der Erneuerung des Bootloaders mit einem ISP werde ich mich in den nächsten Tagen beschäftigen.
Danke!

Er lebt wieder!

Bootloader neu brennen hat nichts gebracht.

Ich habe die Arduino.app gelöscht und neu geladen, jetzt ist alles wieder in Butter.

Herzlichen Dank nochmals für eure Lösungsvorschläge!

Seltsamerweise löst das wirklich mancherlei unerkärliche Probleme-hatt ich auch schon...

TEder:
Ich habe die Arduino.app gelöscht und neu geladen, jetzt ist alles wieder in Butter.

Blöde Frage eines nicht- Android-Benutzers was ist die Arduino.app??
Grüße Uwe

Ich glaube er hat die IDE deinstalliert und neu aufgespielt. Jedoch wundert mich dann, dass der Upload angeblich erfoglreich war

Mich nicht.
Ich hab das schon ein paarmal gehabt: irgendwas wichtiges ging gar nicht mehr (verschiedenes, ich weiss nicht mehr, was genau)- nachdem die IDE entfernt und neu installiert wurde, war alles wieder "repariert"...