Frage zu Interrupts

Hallo,

ich habe eine Frage zum Thema Interrupts. Ich möchte an einem MEGA den Interrupt auf PIN 2 durch einen zweiten MEGA auslösen. Dabei bin ich auffolgendes, mir unverständliches gestoßen. Wenn ich es wie im ersten Bild (not_working.jpg)machen, also vier Digitale Ports via Breadboard direkt an den Interrupt lege passiert nichts. Setze ich jedoch Zener-Dioden dazwischen geht es (Bild 2, working.jpg).

Hier noch der Code:

int TIMER_MIN = 500;
int TIMER_MAX = 3000;
int RELEASE_PIN_1 = 7;
int RELEASE_PIN_2 = 8;
int RELEASE_PIN_3 = 9;
int RELEASE_PIN_4 = 10;



void setup(){
  
 Serial.begin(9600);
 pinMode(RELEASE_PIN_1, OUTPUT);
 pinMode(RELEASE_PIN_2, OUTPUT);
 pinMode(RELEASE_PIN_3, OUTPUT);
 pinMode(RELEASE_PIN_4, OUTPUT);

}


void loop(){
  
 int iRandomPin = random(RELEASE_PIN_1,RELEASE_PIN_4);
 int iRandomTime = random(TIMER_MIN, TIMER_MAX); //set delay
 
 delay(iRandomTime);
 
 digitalWrite(iRandomPin, HIGH);
 String sRandomPin = String(iRandomPin, DEC); //convert Pin to String
 String sOutput = String("Pin "+ sRandomPin +" triggered"); //build output string
 Serial.println(sOutput); //Output as String
 delay(50);
 digitalWrite(iRandomPin, LOW);
  
}

Woran liegt das?

Danke
Peter

Im ersten Fall deklarierst du alle Pins als Ausgang und legst sie auf Masse. Die Pins untereinander haben aber eine direkte Verbindung! Wenn du nun einen der Ausgänge High schaltest, gibt es einen saftigen Kurzschluss. Dies ist ein sehr effektives Mittel, seinen Arduino in die ewigen elektronischen Jagdgründe zu schicken.

Im zweiten Fall verhidnerst du durch die Dioden den Stromfluss zu den Low-Ausgängen - kein Kurzschluss, alles bestens. Bist du sicher, dass du Zener-Dioden verwendest?

Hallo,

ja danke für den Hinweis in der Tat habe ich in den Zeichnungen etwas vergessen, auf dem Brettchen ist allerdings.
Ja es sind Zener,.. warum?

Nach den Zenerdioden fragte ich deshalb, weil du normale Dioden im Schaltplan hast. Zenerdioden haben eine Durchbruchspannung, daher ist deine zweite Schaltung nicht gerade "sicher" - abhängig davon welche Zenerdioden verwendet wurden.
Übrigens sollten beide Mega2560 das gleiche Bezugspotential haben, eine Masseverbindung beider Boards ist also ratsam.

Laut Fritzing sind es Zenerdioden. Das sie "live" anders aussehen ist mir auch schon aufgefallen :). Ich verwende 3V3-Zener auf meinem Board, weil die gerade in meinem Kasten waren.

Danke für den Tipp mit der Verbindung beider Boards. Werd dann heute abend daran denken.

Eine 3,3V-Zener bricht aber beim 5V-Pegel der Pins auch durch. So ganz ausgereift ist die Beschaltung nicht. Wozu ist es denn notwendig, zwei Boards zu verwenden? Waas für ein Projekt wird das denn?

Ich hab das mit den Zener so verstanden, das der Strom in Richtung Markierung fließt. Also nach "oben" in meinem Fall.

Ja zum Projekt,... das ist eins von einem Freund, welches ich Testen soll. Im Prinzip sollen per Interrupt das Vorliegen von Sensorwerten gemeldet werden. Insgesamt sind es vier Sensoren. Der Testaufbau soll zunächst einmal das Prinzip darstellen.

In Durchlassrichtung verhalten sich Zener ja wie herkömmliche Dioden. Nur gibt es eben einen gewollten Spannungsdurchbruch, wenn man sie in Sperrrichtung betreibt. In deinem Fall ist dieser Spannungsdurchbruch jedoch sicher nicht gewünscht, du solltest zumindest herkömmliche Dioden verwenden. Alternativ lassen sich auch Logikgatter (hier: Oder-Gatter 74HC32 o.ä.) verwenden.

Du braucht noch einen Widerstand, dann hast du ein Wired-OR:

Das geht aber mit normalen Dioden. Die Diode sperren dann wenn an allen Low anliegt (bzw. es liegen einfach beide Seiten an GND). Sobald an einer High anliegt, fließt Strom der am Widerstand in einer Spannung abfällt.