Interrupt Routine wird OHNE tastendruck ausgeführt

Liebe Forumsmitglieder,

vorab schon einmal vielen Dank für Eure Antworten/ Eure Hilfe.

Ich habe folgendes Problem und komme trotz Suchen und Nachdenken nicht weiter.

Arduino Mega 2560 Hallsensoren werden an Pin 3,4,5,6 abgefragt Relais werden an Pin 8,9,10,11,12 geschaltet

An Pin2 ist ein Taster angeschlossen und es wird int 0 dort genutzt.

Problem: Wenn die Hallsensoren mittels Magneten aktiviert werden, liegt LOW an den Pins an (sonst HIGH), dann führt der Arduino UNREGELMÄßIG (und nicht nachvollziehbar) die Subroutine des Interrupts aus. (Ohne dass der Taster gedrückt wird. (Feststellung über eine serielle Ausgabe in der Subroutine) (Dies passiert selbst dann, wenn PIN2 (int 0) fest an +5V anliegt und somit immer HIGH ist.

Kann mir jemand einen Tipp der Ursache geben?

Am Programm liegt es nicht, habe alles geprüft und er springt nirgends weiter in die Routine. Für die Input-Pins sind PullUp Wiederstände aktiviert.

soerenneubert: Kann mir jemand einen Tipp der Ursache geben?

In Frage kämen beispielsweise:

  1. Zu lange Leitungen oder
  2. Falsche Werte für Pull-Widerstände
  3. Zu große EMV-Verseuchung der Umgebung

Und bei jemandem, der nicht mal das Wort "Widerstand" richtig schreiben kann:

soerenneubert: Für die Input-Pins sind PullUp Wiederstände aktiviert.

würde ich als Fehlerursache mal generell alles für möglich halten, was man nur irgendwie falsch machen kann.

Ja, ein WiEderstand ist als Pullupwiderstand nicht so gut geeiget. ;) ;) ;)

Welchen Werte hat der Pullupwiderstand. Kannst Du uns den Sketch geben? Gibst Du uns die Schaltung oder einige gute Fotos? Grüße Uwe