RPi soll bei Tasterdruck Foto machen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Zusammen,
    Ich möchte gerne mit dem RPi einen Fotoapparat bauen.
    Als Kamera will ich eine 720p USB Webcam nehmen und als Auslöser, einen Taster.
    Ich weiss momentan noch überhaupt nicht, wie ich dies bewältigen könnte, also per Knopfdruck ein Foto schiessen lassen. Könnt ihr mir helfen?

    mfg iL0ndi

    Hab nun bis jetzt herausgefunden, wie man ein Bild mit dem Terminal erstellt. Jetzt muss ich nur noch die Sache mit dem Taster umsetzten, dass bei Tastendruck ein Terminal Befehl ausgeführt wird. Wie wird ein Tastendruck ausgelesen? Mein Taster sieht so aus:


    mSljYBpDq1X-5ohUktKzYZg.jpg

    Einmal editiert, zuletzt von iL0ndi (5. Dezember 2013 um 19:08)

  • Ein einfaches Shell-Script kann das (getestet auf Raspbian):

    echo "4" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio4/direction

    while true
    do
    pinstate0=$(cat /sys/class/gpio/gpio4/value)
    sleep 0.5
    pinstate1=$(cat /sys/class/gpio/gpio4/value)
    if [ $pinstate1 -gt $pinstate0 ]
    then
    echo "Hier das Programm starten"
    fi
    done

    Das Script in ein File schreiben (bei mir trigger). Wo "Hier das Programm starten" steht die Kommandozeile fuer das Foto einsetzen.

    Das File ausfuehrbar machen mit chmod 755 trigger
    Ausfuehren als root mit sudo ./trigger

    Das Script benutzt das Pin GPIO4 als Eingang. Wenn der Schalter prellt, noch ein passendes sleep dahinter setzen.

  • In der ersten Version gibt es eine Race-Condition. Diese ist besser:

    echo "4" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio4/direction

    previous=$(cat /sys/class/gpio/gpio4/value)

    while true
    do
    pin=$(cat /sys/class/gpio/gpio4/value)

    if [ $pin -gt $previous ]
    then
    echo "Hier das Programm starten"
    else
    sleep 0.5
    fi

    previous=$pin
    done

  • tausend dank!! :D:danke_ATDE:

    Hab noch ein paar Fragen dazu:
    1. Wie speichere ich dieses Script, bzw. wo schreibe ich es hinein? (Dateiart)
    2. Wie lasse ich das script beim starten automatisch ausführen?
    3. Wie schliesse ich den Taster an? Einen Pin vom Taster an Pin4 und den anderen an Ground?

    Einmal editiert, zuletzt von iL0ndi (8. Dezember 2013 um 11:11)

  • An Pin 4 schonmal GARNICHT!!!

    Die GPIO's werden nur mit 3V beschaltet. 5V können den Pi zerstören.

    Gehen wir mal von Pin 23 aus.
    Der hat die GPIO Adresse 11.

    Dieser Pin muss mit einem Widerstand an Ground angeschlossen werden.
    Wird an den Pin nun 3V angelegt, liegt ein Signal an Pin 23 (GPIO11) an.

    Hier mal ne Skizze:

    10kOhm
    Ground -------[#####]-----------I-------------------------- Pin 23
    I
    Taster
    I
    3V+(Pin 1 o. 17) -------------------I


    Für den Autostart kannst Du hier mal gucken.
    Viel Erfolg :thumbs1:

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

  • [font="Tahoma, Verdana, Arial, sans-serif"]Mit so grundlegenden Problemen hatte ich nicht gerechnet ...[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Dann muessen wir das wohl anders machen: [/font][font="Tahoma, Verdana, Arial, sans-serif"]ich schreibe einen Blog-Eintrag und poste den Link.[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Das wird halt ein bisschen dauern.[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Haben Sie einen Widerstand zur Hand ? (Laeuft vielleicht auch ohne, aber mit Widerstand ist besser)[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Was geben Sie auf der Kommandozeile ein um ein Bild zu machen ?[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]Ist der Schalter ein Oeffner oder ein Schliesser ?[/font]


  • Hier ist der versprochene Link: Programme starten mit einem Taster

    Der link scheint nicht zu funktionieren. Gleiches Prozedere interessiert mich auch..

    Grüße

    Edit:

    Ich habe Schließer zur Hand und würde diese verwenden. Die Fotos werden bei mir mit dem original Kamera Modul aufgenommen, also via raspistill. Zurzeit bin ich gerade dabei die Hardware zu modifizieren. Am Kamera Modul habe ich den Sensor von der schlechten Optik befreit und verwende mittels Adapter ein teleobjektiv.

    Den Adapter muss ich jetzt noch anfertigen, dann geht es an das Skript.

    Einmal editiert, zuletzt von hotchilis (8. Dezember 2013 um 18:31)

Jetzt mitmachen!

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