kk logo

Die Interrupt PINs werden zu jeder Zeit abgefragt, egal was der Arduino gerade macht. Egal ob gerade eine Delay Zeit abgewartet wird, ein analoger Eingang abgefragt wird oder eine Berechnung durchgeführt wird. Die Interrupt PINs werden permanent abgefragt. Es können aber nicht alle PINs als Interrupt Pin verwendet werden. 

  • Beim Arduino Uno sind das die PINs 2 und 3
  • Beim Arduino Mega sind das die PINs 2,3,18,19,20 und 21

Interrupt PINs mit Ardublock

Der Block „Interrupt and do if“ wird nicht in das Hauptprogramm eingefügt. Es wird hier auch grafisch dargestellt, dass die Interrupt Rutinen nichts mit dem Hautprogram zu tun habe.

0 interrupt tutorial pins arduino

  • In das „pin#“ Feld wird der digitale PIN eingetragen an dem der Interrupt verwendet werden soll.
  • In dem Feld „event“ wird eingetragen auf was der Interrupt Block wartet. Also auf welches Ereignis (event) am PIN gewartet wartet wird.
    • Change – löst aus wenn sich der Wert am PIN ändert
    • Rising – löst aus wenn sich der PIN von LOW nach HIGH ändert.
    • Falling - löst aus wenn sich der PIN von HIGH nach LOW ändert.
    • HIGH – löst aus wenn der PIN HIGH wird.
    • LOW – löst aus wenn der PIN LOW wird.
  • In das Programm Feld darunter werden die Blöcke eingefügt, die das Programm im Falle eines Interrupt ausführen sol.

!!! In den Interrupt Block können zwar delay Zeiten eingefügt werden, diese werden aber nicht verarbeitet!!! 

2 interrupt pins arduino borad tutorial ardublock

 

Es macht also keinen Sinn analoge Variablen usw. zu zählen. Da der Taster bzw. Eingang nicht entprellt ist!!! Etwas anders ist es zum Beispiel mit Encoder Motor oder ähnlichen ähnlichen entprellten Zählern, diese können sehr gut über die Interrupt PINs gezählt werden.

3 interrupt and do if pin ardublock tutorial

 

Was durch einen Interrupt PINs aber geändert werden kann ist eine digitale Variable, diese kennt nur zwei Zustände, somit ist das prellen des Tasters egal. Es können zudem digitale Ausgänge HIGH oder LOW geschaltet werden und vieles mehr.

4 ardublock tutorial interrupt pin digitale variable and do if

 

Im Beispiel unten blinkt eine LED alle 5 Sekunden im Wechsel. Mit einem normalen Taster wäre es nicht möglich eine zweite LED in der delay Zeit zu schalten. Durch die Verwendung des Interrupt PINs lässt sich die LED aber unabhängig von der Delay Zeit einschalten. Die LED wird dann spätestens alle zwei Sekunden über das Programm wieder ausgeschaltet.

1 interrupt pin ardublock tutorial

 

 

In diesem Beispiel wird über die beiden Interrupt PINs jeweils die digitale Variable von LOW nach HIGH umgeschaltet.

 5 interrupt pins 2 3 ardublock tutorial

 

 Interrupt PIN Bespiel mit „event“ HIGH

7 interrupt pin tutorial ardublock

Interrupt PIN Bespiel mit „event“ LOW

 8 interrupt pin ardublock tutorial

Interrupt PINs mit Ardublock (letsgoink Vesion) 

Den Block „Interrupt and do if“ gib es in dieser Version nicht. Um die Interrupt Funktion zu verwenden müssen die Unterprogramm Blöcke verwendet werden. Dazu werden sie einfach in interruptPIN + passende PIN Nummer umbenannt. Ansonsten funktioniert der Interrupt PIN genau wie in die originale Version. In die Klammer des ersten Blockes kommt dann das Programm das ausgeführt werden soll. 

 

2 ardublock interruptPin 2 3 block

by grace

By grace alone somehow I standWhere even angels fear to treadInvited by redeeming loveBefore the throne of God aboveHe pulls me close with nail-scarred handsInto His everlasting arms

Ronnie

schwäbischer tüftler und bastler, kraftsportler, 41 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee