Beiträge von Igel85

    Hallo zusammen,

    Danke für die Tipps. Ich werde es zunächst mit 2k Widerstand am Aussensensor probieren und dann mit dem kondensator (muss ich aber erst bestellen) von 3,3 V zu ground. Bin gespannt wie sich das auswirkt. Für außen benutze ich ein cat 7 - kabel und für innen eine Telefonleitung.

    Hallo zusammen,

    leider ergab meine Suche im Netz eine Menge verschiedene Lösungen.

    Wie würdet ihr den genannten sensor am pi anschließen? Kabellänge 2 und 13 Meter.

    Ich versorge die aktuell über 5v und 4.7k auf data.

    Bei der 13 Meter cat 6 Leitung erhalte ich regelmäßig Fehlmessungen. Bei der 2m nur selten.

    Der Widerstand hängt am pi.

    Über ein paar Erfahrungen würde ich mich freuen.

    Ich hätte auch gedacht, dass Du es beruflich machst.

    Und da würde mir eine Sache gleich noch einfallen :) :) ... Ich kann ja über die Shell mit dem Befehl send 11101 2 1 eine Steckdose einschalten.

    Wenn ich das mit über die TK GUI und das Keypad steuern möchte, könnte das über subprocess funktionieren? Es soll quasi im Hintergrund der Befehl per Shell gesendet werden.

    Code
    import subprocess
    
    ....
    if benutzerEingabe == "1":
    subprocess.call('send 11101 2 1', shell=True)
    elif

    Sehe gerade dass Python doch etwas ausgibt:

    Code
    self.keypad()
    File "/home/pi/hd44780/testlcd.py", line 35, in keypad
    gpio.output(spalte[j], 0)
    RuntimeError: The GPIO channel has not been set up as an OUTPUT
    >>>

    Wenn ich den code noch so ergänze:

    Code
    spalte = [18, 15, 4, 14]
    zeile = [22, 27, 17, 23]
    
    for j in range(4):
    gpio.setup(spalte[j], gpio.OUT)
    gpio.output(spalte[j], 1)
    gpio.setup(zeile[j],gpio.IN,
    pull_up_down=gpio.PUD_UP)

    dann bekomme ich folgende Meldung:

    Ich habe es so eingebaut. Fehlermeldung bekomme ich keine und die GUI geht auch auf. Nur keine Reaktion.

    Bin mir nicht sicher ob das so richtig ist:

    Also ich habe noch die Tage recherchiert. Und leider konnte ich zu diesem Thema absolut nichts passendes finden. Bin mir nicht sicher ob das dann so einfach möglich ist :/.... Der einzige Ansatz der mir noch vorschweben würde wäre die Methode value / source von gpio zero. Allerdings gibt es zu diesem Thema in Verbindung mit einem gpio matrix keypad auch keine Beispiele.... Bin mir jetzt nicht mehr sicher ob das so eine gute Investition war :D

    Hier der aktuelle GUI-Code:

    Hallo,

    also zunächst was ich mit dem Keypad vorhabe. Das Keypad soll auf Tastendruck die Funktionen ausführen, die es bereits auch in der GUI gibt. Dort werden diese ja per Button ausgeführt.

    Ich würde gerne mit den Keypad-Tasten auf die vorhandenen Funktionen verweisen, da hier dann auch gleich die Anzeige in der Status_Lbl und am LCD mit geändert wird.

    Folgende commands sollen beim Tastendruck ausgeführt werden:

    1 = ['command'] = self.led_on

    2 = ['command'] = self.relais1_an

    3 = ['command'] = self.relais2_an

    4 = ['command'] = self.relais1und2_an

    A = ['command'] = self.relais1und2_aus

    B = ['command'] = self.abort

    Sollten andere Tasten gedrückt werden, so soll nichts geschehen und eine erneute Eingabe sollte nach 1-2 Sek. wieder möglich sein.

    Das Keypad ist über 8 GPIO angeschlossen:spalte = [12, 16, 20, 21], zeile = [18, 23, 24, 25] # BCM-Nr.Aktuellen GUI-Code poste ich Heute Abend :)

    Das was ist nicht verstehe ist, wie ich das Keypad ansprechen soll. Dieses hängt ja an bestimmten GPIO.

    In meinem Fall:

    1. matrix = [["1","2","3", "A"],
    2. ["4","5","6", "B"],
    3. ["7","8","9", "C"],
    4. ["*", "0", "#", "D"]]
    5. spalte = [12, 16, 20, 21]
    6. zeile = [18, 23, 24, 25]

    Nun wird gemessen an welchem GPIO Strom fließt um zu ermitteln welche Taste gedrückt wurde.

    Mir ist nur ein Rätsel, wie ich in Tkinter das obige Keypad ansteuern soll.

    Habe leider zum Thema Keypad in Kombi mit tkinter u. events direkt so nichts gefunden. Überall wird nur der von mir gepostete Code verwendet. Ich dachte, ich könnte den als Basis benutzen und dann auf die Funktionen verweisen. Anscheinend nicht so einfach. Da ich kein Profi bin und bis dahin es noch ein wenig dauern wird, benutze ich eben für die Anfänge das Forum.

    Ich habe noch einen Code für die Steuerung des Keypads. Hier wird Aktuell nur die Eingabe ausgelesen und in der Shell wiedergegeben:

    Ist es möglich das Keypad per import mit einzubinden und dann mittels if Eingabe = 1: relais1_an.self ... So in der Art?