GPIO inputpulse "zählen"?

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

    ich möchte einen Münzprüfer an den Raspberry anschließen und die eingeworfenen Geldwerte von meinem Raspberry zählen lassen.

    Ich habe den Münzprüfer so eingestellt, dass er bei 50 Cent 1x Puls ausgibt, bei 1 Euro 2x Puls und bei 2 Euro 4x Puls. Somit ist jeder Puls 50 Cent wert und Python muss eigentlich nur pro TRUE-Wert an einem GPIO (z.B. 2) 0,5 zu einer Variable (z.B. Y) hinzuaddieren.

    Wie gebe ich sowas in Python ein?

    Liebe Grüße

    p.s.: Mehr Kontext gibt's: Kartoffelautomaten-Steuerung mit Raspberry PI

  • Ich habs jetzt erstmal folgendermaßen gelöst (Programmteil):

    ___print("Bitte 5 Euro einwerfen")
    ___while y < 5:
    ______if GPIO.input(4):
    _________y = y + 0.5
    _________print("Bitte " + "5-y " + "Euro einwerfen")
    ______else:
    _________print("Bitte 5-y Euro einwerfen")
    ___GPIO.output(7, True)
    ___sleep(5)

    jetzt habe ich bloß noch das Problem, dass das Signal manchmal zu lang ist, und der PI 2x True zählt. jemand ne Idee?

    Grüße

  • Hm wenn ich folgendes eingebe:

    print("Bitte 5 Euro einwerfen")
    while y < 5:
    while GPIO.input(4):
    y = y + 0.5
    print("Bitte " + "5-y " + "Euro einwerfen")
    else:
    print("Bitte 5-y Euro einwerfen")
    GPIO.output(7, True)
    sleep(5)

    Funktioniert nicht so wie es soll, es wird sofort (bei einem längeren Impuls) der Ausgang 7 auf True geschaltet. Y wird zu beginn des Programmdurchlaufs auf 0 gesetzt. Seltsam

  • es ist nur nicht eingerückt weil ich hier nur unformatiert einfügen kann :D Irgendwie funzt die Kode-Funktion bei mir auch nicht wie gewollt.

    ich schreibs nochmal mit unterstrichen:

    print("Bitte 5 Euro einwerfen")
    while y < 5:
    ___while GPIO.input(4):
    ______y = y + 0.5
    ______print("Bitte " + "5-y " + "Euro einwerfen")
    ___else:
    ______print("Bitte 5-y Euro einwerfen")
    GPIO.output(7, True)
    sleep(5)


  • So koennte es funktionieren
    An Anfang wird, wenn ein Impuls kommt y hochgezählt. und wenn der impuls kam wird am Ende darauf gewartet. das der positive Impuls wieder zu Ende ist.

    Einmal editiert, zuletzt von Turbotoni (2. Februar 2014 um 22:35)

  • Hi,

    da hätten wir zum Beispiel -> hier <- was, das die mehrfache Tastergeschichte betrifft.

    Und -> hier <- hätte ich eine Lösung, die das Ganze sauber, allerdings in C, abwickelt.

    cu,
    -ds-

  • Hallo ich bin neu hier und mein raspberry pi 3
    vieleicht kann mir jemand helfen ich möchte einen Taster an zb. gpio 27 anschließen das hat schon geklappt !!!
    jetzt möchte ich wenn ich den taster betätige das er mir die anzahl der Betätigung zusammen zählt und ich eine .txt datei schreibt ......
    da komm ich nicht weiter ....

    Mfg

Jetzt mitmachen!

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