Forum

Einloggen | Registrieren | RSS  

Zibit(R)

Kaiserslautern,
24.05.2025,
18:22
 

Pico InterruptHandler in Micropython (Computertechnik)

Hallo in die Runde,
In die Modellbahnanlage möchte ich eine Zugdetekion mit Reed-Schaltern integrieren. Im Prinzip ganz einfach :Lok mit Magnet passiert Reed und löst Interrupt aus.
Nun möchte ich nicht für jeden Reed-Schalter eine spezielle ISR (Interrupt ServicecRoutine) haben. Eine soll reichen, und in dieser soll dann die Herkunft des IR abgefragt werden
Meine Frage an die Spezialisten: Wie kann man mit ?Python den Interruptursprung abfragen?
Gruss Karl

mabue

E-Mail

24.05.2025,
19:34

@ Zibit

Pico InterruptHandler in Micropython

Hallo,

von Python habe ich zwar keine Ahnung, aber ich weiss, dass E-Orgel- und Keyboard-Tastaturen per Multiplexverfahren
mit relativ schneller Frequenz abgefragt werden. Die Problemstellung scheint mir hier nahezu identisch zu sein:
Kontakt offen - Kontakt geschlossen, Schaltvorgang ja, Schaltvorgang nein.

grindstone(R)

E-Mail

Ruhrpott,
24.05.2025,
21:24
(editiert von grindstone
am 24.05.2025 um 21:29)


@ Zibit

Pico InterruptHandler in Micropython

Hat der pico (welcher? RPi oder Arduino?) denn noch weitere Aufgaben? Wenn er nur für die Zugdetektion verwendet wird, wäre es unsinnig, das per IRQ zu machen. Da wäre eine periodische Abfrage der Kontakte (polling) sinnvoller.

» Wie kann man mit ?Python den Interruptursprung abfragen?
Unabhängig von der Programmiersprache: Einfach innerhalb der Interruptroutine alle in Frage kommenden Pins abfragen.

--
Es ist unter der Würde eines Technikers, die Gebrauchsanweisung zu lesen!

Gast

24.05.2025,
22:20

@ grindstone

Pico InterruptHandler in Micropython

» Hat der pico (welcher? RPi oder Arduino?)
Pico ist Raspberry
Ich würde für jeden Reed einen Eingang nehmen und den dann programmtechnisch abfragen.

Techniker

25.05.2025,
13:43

@ Zibit

Pico InterruptHandler in Micropython

» Hallo in die Runde,
» In die Modellbahnanlage möchte ich eine Zugdetekion mit Reed-Schaltern
» integrieren. Im Prinzip ganz einfach :Lok mit Magnet passiert Reed und
» löst Interrupt aus.
» Nun möchte ich nicht für jeden Reed-Schalter eine spezielle ISR
» (Interrupt ServicecRoutine) haben. Eine soll reichen, und in dieser soll
» dann die Herkunft des IR abgefragt werden
Vielleicht ist diese Anleitung hilfreich.
https://electrocredible.com/raspberry-pi-pico-external-interrupts-button-micropython/