Tasterimpuls GPIO

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    Ich möchte über die GPIO's einen Taster so programmieren, dass er, egal wie lang er gedrückt wird, nur einmal ein Signal herausgibt.
    momentan ist er so programmiert, dass er alle 0,4 sek "neu gedrückt" wird, wenn man ihn gedrückt lässt..

    Hier mein aktueller Skript:
    (3Taster, 3 LED's)


    Drückt man die "Plus-Taste, geht eine LED mehr an.
    Drückt man die Minus-Taste, geht eine LED aus ...
    Beim Reset-Taster gehen alle wieder aus..

    die Taster sollen pro Tastendruck (egal, wie lang) nur einmal einen Impuls an den RasPi geben.. ist das möglich? wenn ja, wie ?

    Vielen Dank im Voraus !

  • Leider werde ich aus dem Beitrag im Link nicht schlau.. Ich habe versucht, meinen Skript mit dem pull_up_down und dem wait_for_edge Teil anzupassen, aber dann klappt garnichts mehr.
    Könntest du mir einen kurzen Skript zeigen, wo das in einem "if"-Skript Anwendung findet? Mit dem Skript aus dem Link kann ich nichts anfangen ..

  • Warum nummerierst Du die Led's und Taster nicht erstmal einfach durch?
    led = [ 0 , 19 , 21 , 23 ]
    taster = [ 0 , 5 , 7 , 11 ]
    So hätte man die Möglichkeit einfach hoch oder runterzuzählen und erspart sich viele else Zeilen.
    Vorher würde ich aber hinter die def Funktionen mal ein return setzen (oder ist das nicht nötig?).

    Eine Funktion zur Tastaturabfrage wäre da auch sehr praktisch:

    Beschäftige mich gerade mit etwas sehr vergleichbarem :thumbs1:
    Beste Grüße!

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

    Einmal editiert, zuletzt von LieberScholli (9. Dezember 2013 um 17:59)

  • Aktuell macht der Skript folgendes:
    Wenn man den "Plus-Taster" drückt, geht die erste LED an, drückt man erneut, geht die zweite und beim dritten Mal die Dritte.
    Wenn alle 3 an sind und man drückt den Knopf nochmal, blinken alle 3 kurz, um anzuzeigen, dass man die maximale Anzahl an LED's erreicht hat. Mit dem Minus-Taster ist es im Grunde das gleiche.. Und der Reset-Taster macht, egal wann, alle LED's aus und setzt den Status wieder auf 0.
    Der Skript ist wahrscheinlich sehr umständlich, aber ich experimentiere erst seit ein paar Wochen mit dem Raspbery und hatte vorher nie etwas mit Python oder C o.Ä. Zu tun..

  • Wie soll das in einem ganzen Skript aussehen? Ich kriege beim Startversuch nur Fehlermeldung..

    Ich stehe gerade sehr auf der Leitung..

  • Kein Ding, ich häng hier grad auch iwie fest (bei nem anderen Problem) :s

    Wenn ich das gleich gelöst habe, schreib ich Dir das nochmal um.
    Was ich Dir geschrieben hab, war nur ein Teilprogramm.
    Das musste natürlich in Deinen Programmcode entsprechend einfügen. ;)

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

  • Krichs nich hin. i-ein blöder klammerfehler oder sowas...
    Also erstmal was einfaches:D

    Habs jetzt nicht getestet, sollte aber genau nach Deinen Anweisungen laufen.
    Hoffentlich hab ich jetzt nicht die Hausaufgaben für Dich gemacht :lol:
    Die Tasten und LED's könnten vertauscht sein. lässt sich aber einfach in led und taster anpassen.
    Taste 1= + / Taste 2= - / Taste 3=reset

    Viel spass, beim weiteren Experimentieren!:thumbs1:


    /edit: ich hab grad noch einen kleinen Fehler entdeckt. :blush: Mit etwas Geschick bekommste das aber sicher selber hin.
    Wenn ich das auf meinem Pi mal getestet hab, werde ich den Code nochmal editieren.
    Ich versuche aber jetzt erstmal mein Problem zu lösen ;)
    /edit: jetzt funktionierts:thumbs1:

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

    Einmal editiert, zuletzt von LieberScholli (9. Dezember 2013 um 23:33)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!