Inhaltsverzeichnis:

Tragbare Instant Pi-Kamera - Gunook
Tragbare Instant Pi-Kamera - Gunook

Video: Tragbare Instant Pi-Kamera - Gunook

Video: Tragbare Instant Pi-Kamera - Gunook
Video: Камера-ЛАМПА со слежением и определением человека. 2024, November
Anonim
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera
Tragbare Instant Pi-Kamera

Fusion 360-Projekte »

Ich hatte die Idee, eine Fotoserie zu erstellen, die vom goldenen Zeitalter der Polaroid- und analogen Fotografie inspiriert wurde. Ein großer Teil meines kreativen Prozesses wird durch das Erstellen meiner eigenen Werkzeuge bestimmt, daher hat mich der Gedanke, nur zu kaufen, nicht wirklich angezogen ein Polaroid und fang an zu schießen.

Diese Idee ist nicht ganz neu, es gibt bereits mehrere Fotokamera-Projekte mit Raspberry Pi und einem Thermodrucker. Aber für diese Kamera wollte ich es auf meine eigene Art machen. Also habe ich mich von all diesen Projekten inspirieren lassen und einige Änderungen vorgenommen.

Alle anderen ähnlichen Projekte, die ich zuvor gesehen habe, verwenden einen Raspberry Pi 2 und ein Kameramodul mit Weitwinkelobjektiv (Überwachung) für den Pi.

Für diese Kamera habe ich mich für einen Raspberry Pi Zero W und ein Objektiv mit mittelgroßer Brennweite entschieden.

Der Pi Zero W hat die gleiche Grundfläche wie der ursprüngliche Pi Zero, der ziemlich klein ist und das ist großartig. Die W-Version enthält jedoch den Kameraanschluss und das integrierte WLAN sowie viele andere Funktionen.

Die meisten Pi-Kameramodule werden mit einem Weitwinkelobjektiv geliefert. Ich habe mich für ein M12-Objektiv entschieden, mit einem Sichtfeld von 40°, was ungefähr einer Brennweite von ~45 mm in einer Vollformatkamera entspricht, da das Bild natürlicher, nicht so verzerrt und der klassischen Fotografie ähnlich wäre.

Übrigens, dank der WLAN-Konnektivität kann ich Fernaufnahmen machen.

Schritt 1: Komponenten und Materialien

Komponenten und Teile

  • 1x Raspberry Pi Zero W raspberrypi.org/raspberry-pi-zero-w
  • 1x Mini-TTL-Thermodrucker dafruit.com/product/597
  • 1x Raspberry Pi Kameramodul
  • 1x Mini-Kamera (CSI) 15-poliges Kabel shop.pimoroni.com/cable-raspberry-pi-zero-edition
  • 1x M12 Kameraobjektiv (beliebige Brennweite)
  • 1x M12 Board Linsenhalter m12lenses.com/M12-Lens-Holder-Plastic-p
  • 1x Druckknopf
  • 1x 5v / 3.5A Powerbank (min 3A) amazon.de/RAVPower5v3A
  • 1x 4700uF Elektrolytkondensator
  • 1x USBAdapter rechtwinklig A Stecker auf eine Buchse
  • 1x 2.1mm Klinkenadapter auf USB
  • 1x Adapter - 2,1 mm Klinke auf Schraubklemmenblock adafruit.com/368

Verkabeln

  • 1x Sollbruchleiste MALE Header
  • 1x Abbrechleiste FEMALE Header
  • 3x 2-poliger Stecker (ich verwende Dupont Connector)
  • Perfboard
  • Elektrischen Draht

Montage

  • 2x Schraube M3 x 6mm (6mm ~ 10mm)
  • 2x Vierkantmuttern (M3 1, 8 mm x 5, 5 mm)
  • 2x Schraube M2 x 6mm (6mm ~ 10mm)

Drucken

Thermopapierrollen (57mm)

Extras

  • 8GB SD-Karte (für den Himbeerpi)
  • Mini-HDMI-Adapter (zum Anschluss des Zero W an einen Monitor)
  • Mini-USB auf USB (zum Anschluss des Zero W an eine Tastatur)
  • 5V USB-Ladegerät

Gebrauchte Werkzeuge

  • Software

    • Fusion 360 autodesk.com/fusion-360
    • Raspbian Jessie Lite raspberrypi.org/downloads/raspbian
    • ImageMagick www.imagemagick.org
    • zj-58 CUPS von adafruit github.com/adafruit/zj-58
  • Hardware

    • Prusa i3 mk3 prusa3d.com/original-prusa-i3-mk3
    • Kabelpresse (SN-28B)
    • Abisolierwerkzeug
    • Digitaler Messschieber
    • Mehrere Schraubendreher

Schritt 2: Software-Setup und Code

Software-Setup und Code
Software-Setup und Code
Software-Setup und Code
Software-Setup und Code
Software-Setup und Code
Software-Setup und Code
Software-Setup und Code
Software-Setup und Code

Für diesen Schritt benötigen Sie möglicherweise eine USB-Tastatur und einen HDMI-Monitor. Hilfreich wäre auch, das Kameramodul in den Raspberry Pi zu installieren, damit Sie testen und überprüfen können, ob alles funktioniert.

Systemkonfiguration

Führen Sie das Dienstprogramm raspi-config aus:

$ sudo raspi-config

Für dieses Projekt sind diese Optionen erforderlich:

  • Schnittstellenoptionen -> Kamera aktivieren
  • Schnittstellenoptionen -> Seriell deaktivieren
  • Erweiterte Optionen -> Dateisystem erweitern

Verwenden Sie raspi-config, um die WLAN-Verbindung einzurichten. Sie benötigen eine Netzwerkverbindung, um das System zu aktualisieren und die erforderliche Software herunterzuladen.

Netzwerkoptionen -> WLAN

Sie können auch SSH aktivieren, um remote auf das System zuzugreifen und schnelle Änderungen vorzunehmen.

Schnittstellenoptionen -> SSH aktivieren

Software installieren

Der Prozess für diese Schritte basierte auf diesem Tutorial:

learn.adafruit.com/instant-camera-using-raspberry-pi-and-thermal-printer

$ sudo apt-Update

$ sudo apt install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev

Installieren Sie den Rasterfilter für CUPS vom Adafruit-Github

$ git-Klon

$ cd zj-58

$ make $ sudo./install

Installieren und als Standard auf dem CUPS-System gedruckt einstellen. Ändern Sie den „Baud“-Wert je nach Bedarf auf 9600 oder 19200 für Ihren Drucker. (Meiner war 19200)

$ sudo lpadmin -p ZJ-58 -E -v serial:/dev/ttyAMA0?baud=19200 -m zjiang/ZJ-58.ppd

$ sudo lpoptions -d ZJ-58

Kameraskript

$ sudo apt-get install imagemagick

Mit imagemagick zum Verbessern der Kontraste und Einstellen des Standardkontrasts und der Helligkeit der Kamera sieht die Aufnahmereihenfolge wie folgt aus:

Raspistille -t 200 -co 30 -br 75 -w 512 -h 388 -n -o - | konvertieren - -Graustufen Rec709Luminanz -Kontrast jpg:- | lp

Dies sind die Parameter, die für meinen Fall am besten funktionieren, aber Sie möchten diese Werte möglicherweise ändern.

Ich benutze die gleiche Drucktaste, um ein Foto zu schießen und das System abzuschießen. Die Skripte trennten ein einzelnes Drücken von einem langen Drücken (+4 Sekunden).

Kamera.sh

#!/bin/bash

SHUTTER=20 # Initialisiere GPIO-Zustände gpio -g mode $SHUTTER up while: do # Prüfe auf Auslöser, wenn [$(gpio -g read $SHUTTER) -eq 0]; then # Muss für 4+ Sekunden gehalten werden, bevor das Herunterfahren ausgeführt wird… starttime=$(date +%s) while [$(gpio -g read $SHUTTER) -eq 0]; do if [$(($(Datum +%s)-Startzeit)) -ge 5]; dann Herunterfahren -h jetzt echo "ausschalten" # Warten, bis der Benutzer die Taste loslässt, bevor er fortfährt, während [$(gpio -g $SHUTTER lesen) -eq 0]; mach weiter; done fi done if [$(($(Datum +%s)-Startzeit)) -lt 2]; dann echo "Klick zu" Raspistill -t 1800 -co 30 -br 75 -w 512 -h 388 -n -o - | konvertieren --Graustufen Rec709Luminanz -Kontrast jpg:- | lp # Datum +"%d %b %Y %H:%M" | lp fi schlafen 1 fi schlafen 0,3 fertig

Stellen Sie das Skript automatisch so ein, dass es beim Booten des Systems gestartet wird. Ändern Sie die Datei /etc/rc.local und den folgenden Befehl vor der letzten Zeile „exit 0“:

sh /home/pi/camera.sh

Verwenden Sie den Pfad, in dem Sie die Skriptdatei gespeichert haben.

Raspberry Pi Zero W ermöglicht serielle Kompatibilität

pi3-miniuart-bt schaltet die Bluetooth-Funktion von Raspberry Pi 3 und Raspberry Pi Zero W um, um den Mini-UART (ttyS0) zu verwenden, und stellt UART0/ttyAMA0 auf GPIOs 14 und 15 wieder her.

Um das integrierte Bluetooth zu deaktivieren und UART0/ttyAMA0 über die GPIOs 14 und 15 wiederherzustellen, ändern Sie:

$ sudo vim /boot/config.txt

Am Ende der Datei hinzufügen

dtoverlay=pi3-disable-bt

Es ist auch notwendig, den Systemdienst zu deaktivieren, der das Modem initialisiert, damit es den UART nicht verwendet:

$ sudo systemctl deaktivieren hciuart

Weitere Informationen finden Sie unter:

Schritt 3: 3D-gedrucktes Gehäuse

3D gedruckte Hülle
3D gedruckte Hülle
3D gedruckte Hülle
3D gedruckte Hülle
3D gedruckte Hülle
3D gedruckte Hülle

Das Gehäuse der Kamera ist so konzipiert, dass es eine kompakte, kleine Stellfläche bietet, bei der die Komponenten zusammenpassen und ineinander einrasten, sodass nicht viel Schrauben daran gearbeitet werden muss.

Das Design gliedert sich in 3 Teile:

  • Die Basis, der die Powerbank zugeordnet ist.
  • Die Hauptbox, in der das Pi-Board, der Drucker und der Großteil der Verkabelung erfolgen.
  • Der Linsenkonus, der das Kameraobjektiv beherbergt.

Die Hauptbox und der Linsenkonus sind für den Druck optimiert und benötigen keine Stützstruktur. Die Basis wird stattdessen auf einem einzigen Stück mit internem Trägermaterial gedruckt. Ich wollte ein starkes Stück schaffen, um die Kamerastruktur zu unterstützen.

Ich habe die stl-Dateien eingefügt, damit Sie sie drucken oder das Design ändern können.

Schritt 4: Verdrahten Sie es

Verdrahten Sie es
Verdrahten Sie es
Verdrahten Sie es
Verdrahten Sie es
Verdrahten Sie es
Verdrahten Sie es

Zuerst müssen die Stiftleisten an die IO-Ports des Raspberry Pi gelötet werden.

Sobald Sie dies getan haben, können Sie den Pi in ein Steckbrett einstecken und Sie können das Setup testen.

Zur Verdrahtung der Komponenten habe ich die Anschlüsse mit 2 Pin Crimpgehäusen aufgeteilt. So können die Komponenten während des Montageprozesses einzeln am Gehäuse befestigt und anschließend unkompliziert verbunden werden. Hilft auch beim Austausch der Teile im Schadensfall oder zum Aufrüsten der Hardware.

Nehmen Sie die Hohlbuchse und verbinden Sie den 4700uF-Kondensator mit den + und - Anschlüssen. Dadurch wird die Spannung im Betrieb des Thermodruckers stabil gehalten. Stellen Sie sicher, dass der negative (kürzere) Schenkel des Kondensators am negativen Pol des Anschlusses befestigt ist und nicht umgekehrt.

Verbinden Sie die Hohlbuchse und den Kondensator, die Kabel für das Druckernetzteil und den Raspberry Pi Zero W.

Für die Speisung des Pi habe ich die +5V an das PP1 und die Masse vom Netzteil an das PP6 auf der Rückseite der Platine, direkt unter dem Power-USB, gelötet.

Ich nahm ein Stück Perfboard und verkaufte darauf 2 Streifen Buchsenleisten, also zuerst die Pi IO-Pins. An diesem Perftboard können Sie die Drucktaste und die Druckerdatenkabel anschließen.

Verbinden Sie den Taster mit der Masse GND (Pin 34) und dem BCM 20 (Pin 38)

Für den Drucker folgen Sie dieser Reihenfolge:

  • Drucker GND -> Raspberry Pi GND (Pin 6)
  • Drucker RX -> Raspberry Pi TXD (Pin 8, BCM 14, UART Transmit)
  • Drucker TX -> Raspberry Pi RXD (Pin 10, BCM 15, UART-Empfang)

Weitere Informationen finden Sie im Raspberry Pi IO:

Schritt 5: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Der Montageprozess ist unkompliziert.

Die Powerbank passt auf den Boden des Gehäuses und bewegt sich nicht. Kann aber zum Aufladen oder Ersetzen leicht entfernt werden.

Ich habe ein paar Pins gedruckt, um die Raspberry Pi-Platine am Gehäuse zu befestigen und das Objektiv auch mit dem Rest des Gehäuses zu verbinden.

Es ist nicht viel Platz für alle Kabel und Komponenten. Sie müssen den Raum organisieren, aber alles passt hinein.

Zum Verschließen des Koffers haben die Basis und die Hauptbox zwei Laschen am hinteren Teil, die ineinander passen. Auf der Vorderseite befindet sich eine Schraubentasche zur sicheren Fixierung der Box.

Schritt 6: Endlich! Schießen Schießen Schießen…

Empfohlen: