MPC ansteuern über gpio

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

    ich habe ein Problem ich kann nicht wirklich Python.


    Ich brauche für einen Verein einen Audio zuspieler.

    der erste schritt: Es soll über einen Tasten druck eine mp3 datei abgespielt werden.
    der zweite schritt: im ordner sind 5 mp3 Dateien und es soll pro tasten druck immer nur eine mp3 abgspielt werden. (am besten zufällig)


    Die Programmierung mit den Taster habe ich schon nur der rest will noch nicht.

    Ich hoffe ihr könnt mir helfen

    lg

    M4xx

    mport os
    import time
    import RPi.GPIO as gpio
    print ("_________________-")
    print ("test")
    gpio.setmode(gpio.BCM)
    gpio.setup(22, gpio.IN, pull_up_down=gpio.PUD_UP)
    gpio.setup(23, gpio.OUT)
    gpio.output(23,0)
    try:
    while(True):
    if ( gpio.input(22) == 0 :(
    gpio.output(23, 1)
    print ("hallo")
    time.sleep(2)
    elif ( gpio.input(22) == 1 :(
    gpio.output(23, 0)

    except KeyboardInterrupt:
    gpio.cleanup()

  • Das einzelne abspielen klappt auch schon :)

    import os
    import time
    import RPi.GPIO as gpio
    print ("_________________-")
    print ("test")
    gpio.setmode(gpio.BCM)
    gpio.setup(22, gpio.IN, pull_up_down=gpio.PUD_UP)
    gpio.setup(23, gpio.OUT)
    gpio.output(23,0)
    try:
    while(True):
    if ( gpio.input(22) == 0 :(
    gpio.output(23, 1)
    print ("hhhhh")
    # time.sleep(2)
    os.system("mpg321 Next.mp3 &")
    time.sleep(2)
    elif ( gpio.input(22) == 1 :(
    gpio.output(23, 0)

    except KeyboardInterrupt:
    gpio.cleanup()

  • Irgend was mache ich falsch :(

    import os
    import time
    import RPi.GPIO as gpio
    x=0
    print ("_________________")
    print ("test")
    print x
    gpio.setmode(gpio.BCM)
    gpio.setup(22, gpio.IN, pull_up_down=gpio.PUD_UP)
    gpio.setup(23, gpio.OUT)
    gpio.output(23,0)
    try:
    while(True):
    if ( gpio.input(22) == 0 :(
    gpio.output(23, 1)
    x=x+1
    print x
    print ("jetzt")
    # os.system("mpg321 Next.mp3 &")
    time.sleep(2)
    elif ( gpio.input(22) == 1 :(
    gpio.output(23, 0)

    if ( x == 1 :(
    os.system("mpg321 Next.mp3 &")

    if ( x == 2 :(
    os.system("mpg321 Love.mp3 &")

    if ( x == 3 :(
    os.system("mpg321 You.mp3 &")

    if ( x >= 4 :(
    x=0
    print ("erreicht")


    except KeyboardInterrupt:
    gpio.cleanup()

  • Bitte benutz code-tags. Python ist Leerraum-abhaengig, und man versteht nicht mehr was du geschrieben hast. Und wenn du einen konkrete Fehlermeldung hast, bitte poste auch die. Denn "ich mach was falsch" kann man nur mit 'jo, scheint wohl so' kommentieren.


  • Automatisch zusammengefügt:
    das Problem ist die mp3 wird immer wieder gestartet.

    Einmal editiert, zuletzt von m4xx (9. September 2016 um 09:16)

  • lso soweit ok
    wie kann ich jetzt eine weiter eingabe verhindern so lannge ein lied läuft???

    lg

    m4xx

  • Indem du statt des eh als veraltet ausgezeichneten os.system (steht seit > 10 Jahren Inder Dokumentation) das subprocess Modul mit subprocess.call benutzt. Der wartet nämlich so lange wie der Unterprozess läuft.


    Gesendet von iPhone mit Tapatalk

Jetzt mitmachen!

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