Ich habe ein Python Programm geschrieben, um zu schauen, ob mein Reedkontakt erkannt wird.
Hier der Code:
`#!/usr/bin/env python
#coding: utf8
import RPi.GPIO as GPIO
import time
GPIO-Modus auf BCM setzen
GPIO.setmode(GPIO.BOARD)
GPIO-Pin festlegen
gpio_pin = 16
GPIO-Pin als Eingang konfigurieren
GPIO.setup(gpio_pin, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
Zähler initialisieren
zaehler = 0
Callback-Funktion für den Interrupt
def callback(channel):
global zaehler
zaehler += 1
print(f"Steigende Flanke erkannt! Zähler: {zaehler}")
Interrupt für steigende Flanke konfigurieren
GPIO.add_event_detect(gpio_pin, GPIO.RISING, callback=callback)
try:
while True:
Kurze Pause
time.sleep(1)
# Wenn GPIO 4 auf 1 geht, Zähler erhöhen
#if GPIO.input(gpio_pin) == GPIO.HIGH:
# zaehler += 1
# print(f"Zähler: {zaehler}")
except KeyboardInterrupt:
print("Programm durch Benutzer unterbrochen")
finally:
GPIO-Cleanup durchführen
GPIO.cleanup()`
Wenn das Programm ausführe funktioniert alles super.
Nun mein Problem:
Ich kann am Volkszähler nirgendwo die Konfiguration finden, dass statt GPIO-Adresse die Board-Nummerierung (PIN) verwendet wird.
Ich möchte gern mit dem Reedkontakt einen Gaszähler erfassen.
Danke