Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Raspberrry Pi Zero 2 W – Foto per Tastendruck aufnehmen

Posted on 22. Dezember 20219. März 2024 by Stefan Draeger

Wie man ein Foto mit der angeschlossenen Pi Camera am Raspberry Pi Zero 2 W per Tastendruck speichern kann, möchte ich dir in diesem Beitrag zeigen.

Raspberry Pi Zero 2 W - Pi Camera & Buton
Raspberry Pi Zero 2 W – Pi Camera & Buton

Den Raspberry Pi Zero 2 W habe ich dir bereits in den Beiträgen

  • Vorstellung des neuen Raspberry Pi Zero 2 W
  • Raspberry Pi Zero 2 W & Pi Camera
  • Raspberrry Pi Zero 2 W – Softreset über GPIO

vorgestellt. Hier möchte ich dir nun zeigen, wie du ein Foto per Tastendruck aufnehmen kannst.

  • Bezug der benötigten Ressourcen
  • Aufbau der Schaltung
    • Vorsicht mit dem CSI Anschluss
  • Programmieren des Tasters zum Aufnehmen eines Fotos mit der Pi Camera in Python3

Bezug der benötigten Ressourcen

Für dieses Projekt benötigst du:

  • einen Raspberry Pi Zero 2 W*,
  • ein 40 Pin GPIO Header*,
  • zwei Breadboardkabel, weiblich – männlich*,
  • ein Breadboard*,
  • einen Taster für die Printmontage*,
  • eine Pi Camera*
  • einen CSI Adapter* für den Anschluss der Pi Camera an den Pi Zero

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Die Pi Camera gibt es mittlerweile mit einer Auflösung von 5 Megapixel, ich verwende in diesem Beitrag jedoch noch die alte Variante mit 2 MP.

Raspberry Pi Zero 2 W mit Pi Camera v1.3 & Adapter
Raspberry Pi Zero 2 W mit Pi Camera v1.3 & Adapter

Du kannst dieses Projekt auch mit dem Vorgängermodell Raspberry Pi Zero WH durchführen, jedoch unterscheiden diese sich vom Preis her eher nur marginal.

Ich empfehle dir noch ein Gehäuse für deinen Raspberry Pi Zero 2 W* damit dieser besser geschützt ist.

Acryl- / PVC Gehäuse für den Raspberry Pi Zero
Acryl- / PVC Gehäuse für den Raspberry Pi Zero

Aufbau der Schaltung

Die Schaltung ist recht einfach, denn der Taster wird einfach an den GPIO2 (Pin 3) und GND angeschlossen.

Die Pi Camera wird über die seitlich angebrachte CSI Schnittstelle mit dem Pi Zero verbunden.

Schaltung - Raspberry Pi Zero mit Pi Camera & Taster
Schaltung – Raspberry Pi Zero mit Pi Camera & Taster

Der Taster wird am GPIO2 & GND angeschlossen.

Raspberry Pi Zero 2 W mit Pi Camera & Taster
Raspberry Pi Zero 2 W mit Pi Camera & Taster

Vorsicht mit dem CSI Anschluss

Die kleine graue Leiste am CSI Anschluss ist sehr dünn und kann, wenn dieser zu sehr beansprucht wird abbrechen. In meinem Fall sind links und rechts die Stifte abgebrochen und somit musste ich die Zuleitung zur Pi Camera mit Heißkleber* fixieren.

Pi Camera mit Heißkleber fixiert
Pi Camera mit Heißkleber fixiert

Programmieren des Tasters zum Aufnehmen eines Fotos mit der Pi Camera in Python3

Im Beitrag Raspberrry Pi Zero 2 W – Softreset über GPIO hatte ich dir gezeigt wie man den Pi Zero mithilfe eines Tasters neu startet. Das Python3 Skript aus dem Beitrag startet dazu ein Bash Command, wenn der Taster betätigt wird.

from picamera import PiCamera
from gpiozero import Button
from time import sleep
from datetime import datetime

button = Button(2)

camera = PiCamera()

target_folder = "/home/pi/cam/"

def getTimestamp():
        now = datetime.now()
        return now.strftime("%Y-%m-%d-%H%M%S")

try:
        print("Programm gestartet.")
        while True:
                # Wenn der Taster gedrückt ist, mache...
                if button.is_pressed:
                        filename = "image_" + getTimestamp() + ".jpg"
                        print("Bild wird aufgenommen.")
                        camera.start_preview()
                        for i in range(3):
                                print(".")
                                sleep(1)
                        camera.capture(target_folder+filename)
                        camera.stop_preview()
                        print("Bild wurde unter", filename, "gespeichert.", sep=" ")
except KeyboardInterrupt:
        print("Programm beendet.")

Hier nun das Video zu dem obigen Skript:

Raspberry Pi Zero 2 W - Pi Camera & Button
Dieses Video auf YouTube ansehen.

9 thoughts on “Raspberrry Pi Zero 2 W – Foto per Tastendruck aufnehmen”

  1. Paule sagt:
    22. Februar 2022 um 15:57 Uhr

    Hallo, sehr gute Anleitung, gut zu verstehen.
    Das müsste doch auch mit Videos funktionieren oder?
    Also per Tastendruck ein Video aufnehmen und speichern lassen?
    Danke schonmal!

    Antworten
    1. Stefan Draeger sagt:
      23. Februar 2022 um 18:45 Uhr

      Hi,

      vielen Dank für die Idee, ich habe mal ein kurzen Beitrag verfasst, dieser geht morgen (Donnerstag 24.02.2022 um 18 Uhr) online.
      Vorab kannst du bereits das entsprechende Video unter https://www.youtube.com/watch?v=gfP8hWVCAJk abrufen.

      Gruß

      Stefan Draeger

      Antworten
  2. Ahmet sagt:
    14. August 2023 um 01:27 Uhr

    Kann mir jmd noch sagen wie ich es schaffen kann den Namen des Bilder per RFID einzulesen ?

    Also ich habe ein „Hochregal“ möchte immer eine Bild von jeder Schublade und die Schubladennamen möchte ich per RFID einlesen oder hat mir da jmd eine einfachere Methode

    Antworten
    1. Stefan Draeger sagt:
      14. August 2023 um 15:20 Uhr

      Hi,

      man könnte vorher die RFID einlesen und lokal in einer Variablen speichern und danach dann das Bild aufnehmen.
      Zum abspeichern wird dann mit der ID in einem mehrdimensionalem Array gesucht wobei der Key die ID ist und der Wert dann der Dateiname.
      Eigentlich recht simple.

      Gruß, Stefan

      Antworten
      1. Ahmet sagt:
        16. August 2023 um 08:42 Uhr

        Ich habe den Code soweit fertig aber bekomme Fehlermeldungen. Kann ich diesen evt zur Einsicht irgendwo hochladen ?

        Antworten
        1. Stefan Draeger sagt:
          16. August 2023 um 08:46 Uhr

          Hi,

          deinen Quellcode kannst du mir als PY-Datei (ggf. gezipt wegen der Firewall vom Mailserver) an meine Mailadresse senden oder hier per https://pastebin.com/

          Gruß, Stefan

          Antworten
          1. Ahmet sagt:
            16. August 2023 um 10:22 Uhr

            Habe es Ihnen per Mail an : info@draeger-it.blog
            gesendet

          2. Ahmet-Can Kavgaci sagt:
            16. August 2023 um 12:56 Uhr

            Habe es Ihnen per Mail an:
            info@draeger-it.blog

            zukommen lassen.

            Vielen Dank im voraus !

            Beste Grüße

  3. Pingback: Raspberrry Pi Zero 2 W - Video per Tastendruck aufnehmen - Technik Blog

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}