Inhoudsopgave:

Draagbare Instant Pi-camera - Ajarnpa
Draagbare Instant Pi-camera - Ajarnpa

Video: Draagbare Instant Pi-camera - Ajarnpa

Video: Draagbare Instant Pi-camera - Ajarnpa
Video: Raspberry Pi Thermal Instant Camera Project 2024, Juli-
Anonim
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera
Draagbare Instant Pi-camera

Fusion 360-projecten »

Ik had het idee om een serie foto's te maken, geïnspireerd op de gouden eeuw van polaroid- en analoge fotografie. Een groot deel van mijn creatieve proces wordt bepaald door het maken van mijn eigen gereedschap, dus ik werd niet echt aangetrokken door het idee om alleen maar te kopen een polaroid en begin met fotograferen.

Dit idee is niet gloednieuw, er zijn al verschillende fotocameraprojecten met Raspberry Pi en een thermische printer. Maar voor deze camera wilde ik het op mijn eigen manier doen. Dus ik haalde inspiratie uit al die projecten en bracht wat veranderingen aan.

Alle andere soortgelijke projecten die ik eerder heb gezien, gebruiken een Raspberry Pi 2 en een brede lens (surveillance) cameramodule voor de Pi.

Voor deze camera ging ik voor een Raspberry Pi Zero W en een medium-grote brandpuntsafstandlens.

De Pi Zero W heeft dezelfde footprint als de originele Pi Zero, die vrij klein is en dat is geweldig. Maar de W-versie bevat de camerapoort en wifi aan boord, samen met vele andere functies.

De meeste Pi-cameramodules worden geleverd met een groothoeklens. Ik koos voor een M12-lens, met een gezichtsveld van 40°, wat vergelijkbaar zou zijn met een brandpuntsafstand van ~45 mm in een full-frame camera, omdat het beeld natuurlijker zou zijn, niet zo vervormd en vergelijkbaar met klassieke fotografie.

Trouwens, dankzij de wifi-connectiviteit kan ik op afstand fotograferen.

Stap 1: Componenten en materialen

Componenten en onderdelen

  • 1x Raspberry Pi Zero W raspberrypi.org/raspberry-pi-zero-w
  • 1x Mini TTL thermische printer dafruit.com/product/597
  • 1x Raspberry Pi-cameramodule
  • 1x minicamera (CSI) 15-pins kabel shop.pimoroni.com/cable-raspberry-pi-zero-edition
  • 1x M12-cameralens (elke brandpuntsafstand die u wilt)
  • 1x M12 Board Lens Houder m12lenses.com/M12-Lens-Holder-Plastic-p
  • 1x Drukknop
  • 1x 5v / 3,5A Powerbank (min 3A) amazon.de/RAVPower5v3A
  • 1x 4700uF elektrolytische condensator
  • 1x USBAdapter Rechte hoek A Man naar A Vrouw
  • 1x 2,1 mm jack-adapter naar USB
  • 1x Adapter - 2.1mm jack naar schroefklemmenblok adafruit.com/368

Bedrading

  • 1x Break-away strip MALE header
  • 1x Break-away strip FEMALE header
  • 3x 2-pins connector (ik gebruik Dupont Connector)
  • Perfboard
  • Elektrische draad

samenkomst

  • 2x schroef M3 x 6 mm (6 mm ~ 10 mm)
  • 2x Vierkante Moeren (M3 1, 8mmx5,5mm)
  • 2x schroef M2 x 6 mm (6 mm ~ 10 mm)

Afdrukken

Rollen thermisch papier (57 mm)

Extra's

  • 8GB SD-kaart (voor de raspberrypi)
  • Mini HDMI-adapter (om de Zero W op een monitor aan te sluiten)
  • Mini USB naar USB (om de Zero W op een toetsenbord aan te sluiten)
  • 5v USB-oplader

Gebruikt gereedschap

  • Software

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

    • Prusa i3 mk3 prusa3d.com/original-prusa-i3-mk3
    • Kabeltang (SN-28B)
    • Draadstriptang
    • Digitale schuifmaat
    • Meerdere schroevendraaiers

Stap 2: Software-installatie en code

Software-installatie en code
Software-installatie en code
Software-installatie en code
Software-installatie en code
Software-installatie en code
Software-installatie en code
Software-installatie en code
Software-installatie en code

Voor deze stap heb je mogelijk een USB-toetsenbord en een HDMI-monitor nodig. Het zou ook handig zijn om de cameramodule in de Raspberry Pi te installeren, zodat je kunt testen en controleren of alles werkt.

Systeemconfiguratie

Voer het hulpprogramma raspi-config uit:

$ sudo raspi-config

Voor dit project zijn deze opties vereist:

  • Interface-opties -> Camera inschakelen
  • Interface-opties -> Serieel uitschakelen
  • Geavanceerde opties -> Bestandssysteem uitvouwen

Gebruik raspi-config om de wifi-verbinding in te stellen. U hebt een netwerkverbinding nodig om het systeem te upgraden en de vereiste software te downloaden.

Netwerkopties -> Wi-fi

U kunt SSH ook inschakelen om op afstand toegang tot het systeem te krijgen en snelle wijzigingen door te voeren.

Interface-opties -> SSH inschakelen

Installeer de software

Het proces voor deze stappen was gebaseerd op deze zelfstudie:

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

$ sudo apt-update

$ sudo apt install git cups bedradingpi build-essentiële libcups2-dev libcupsimage2-dev

Installeer het rasterfilter voor CUPS van de adafruit github

$ git-kloon

$ cd zj-58

$ maak $ sudo./install

Installeer en stel de gedrukte standaard in op het CUPS-systeem. Wijzig de "baud"-waarde naar 9600 of 19200 zoals vereist voor uw printer. (De mijne was 19200)

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

$ sudo lpoptions -d ZJ-58

Camerascript

$ sudo apt-get install imagemagick

Door imagemagick te gebruiken om de contrasten te verbeteren en het standaardcontrast en de helderheid van de camera in te stellen, ziet de opnamevolgorde er als volgt uit:

raspistill -t 200 -co 30 -br 75 -w 512 -h 388 -n -o - | converteren - -grijstinten Rec709Luminantie -contrast jpg:- | lp

Dit zijn de parameters die volgens mij het beste werken voor mijn geval, maar misschien wilt u die waarden wijzigen.

Ik gebruik dezelfde drukknop voor het fotograferen van een foto en het neerschieten van het systeem. De scripts scheidden een enkele druk op een lange druk (+4 sseconden) actie.

camera.sh

#!/bin/bash

SHUTTER=20 # Initialiseer GPIO-statussen gpio -g-modus $SHUTTER omhoog terwijl: do # Controleer op sluiterknop als [$(gpio -g lees $SHUTTER) -eq 0]; dan # Moet 4+ seconden worden vastgehouden voordat het afsluiten wordt uitgevoerd… starttime=$(date +%s) while [$(gpio -g read $SHUTTER) -eq 0]; doen als [$(($(datum +%s)-starttijd)) -ge 5]; then shutdown -h now echo "power off" # Wacht tot de gebruiker de knop loslaat voordat u verdergaat terwijl [$(gpio -g read $SHUTTER) -eq 0]; ga door; done fi done if [$(($(date +%s)-starttime)) -lt 2]; dan echo "Klik dicht" raspistill -t 1800 -co 30 -br 75 -w 512 -h 388 -n -o - | converteren --grijstinten Rec709Luminantie -contrast jpg:- | lp # datum +"%d %b %Y %H:%M" | lp fi sleep 1 fi sleep 0.3 klaar

Stel automatisch het script in om te starten wanneer het systeem opstart. Wijzig het bestand /etc/rc.local en de volgende opdracht vóór de laatste regel "exit 0":

sh /home/pi/camera.sh

Gebruik het pad waar u het scriptbestand hebt opgeslagen.

Raspberry Pi Zero W maakt seriële compatibiliteit mogelijk

pi3-miniuart-bt schakelt de Raspberry Pi 3 en Raspberry Pi Zero W Bluetooth-functie om de mini-UART (ttyS0) te gebruiken en herstelt UART0/ttyAMA0 naar GPIO's 14 en 15.

Om Bluetooth aan boord uit te schakelen en UART0/ttyAMA0 via GPIO's 14 & 15 te herstellen, wijzigt u:

$ sudo vim /boot/config.txt

Toevoegen aan het einde van het bestand

dtoverlay=pi3-disable-bt

Het is ook noodzakelijk om de systeemservice uit te schakelen die de modem initialiseert, zodat deze de UART niet gebruikt:

$ sudo systemctl schakel hciuart uit

Meer info vind je op:

Stap 3: 3D-geprint hoesje

3D-geprint hoesje
3D-geprint hoesje
3D-geprint hoesje
3D-geprint hoesje
3D-geprint hoesje
3D-geprint hoesje

De behuizing van de camera is ontworpen om een compacte, kleine voetafdruk te behouden waar de componenten in elkaar passen en op elkaar klikken, zodat er niet veel schroefwerk aan hoeft te worden gedaan.

Het ontwerp is verdeeld in 3 delen:

  • De basis, waar de powerbank wordt toegewezen.
  • De hoofdkast, waar het Pi-bord, de printer en de meeste bekabeling plaatsvinden.
  • De lenskegel, die de cameralens herbergt.

De hoofddoos en de lenskegel zijn geoptimaliseerd voor afdrukken en hebben geen ondersteunende structuur nodig. De basis wordt in plaats daarvan op een enkel stuk gedrukt met intern ondersteuningsmateriaal. Ik wilde een sterk stuk maken om de camerastructuur te ondersteunen.

Ik heb de stl-bestanden bijgevoegd, zodat u deze kunt afdrukken of het ontwerp kunt wijzigen.

Stap 4: Sluit het aan

Sluit het aan
Sluit het aan
Sluit het aan
Sluit het aan
Sluit het aan
Sluit het aan

Het eerste wat u moet doen, is de mannelijke pin-headers aan de IO-poorten van de Raspberry Pi solderen.

Als je het eenmaal hebt gedaan, kun je doorgaan en de pi op een breadboard aansluiten en ben je klaar om de installatie te testen.

Voor het bedraden van de componenten heb ik de verbindingen gesplitst met behulp van 2-pins krimpbehuizingen. Dus tijdens het montageproces kunnen de componenten zonder complicaties afzonderlijk aan de behuizing worden bevestigd en achteraf worden aangesloten. Helpt ook om de onderdelen te vervangen in geval van schade of voor het upgraden van de hardware.

Neem de barrel jack en sluit de 4700uF condensator aan op de + en - terminals. Dit helpt de spanning stabiel te houden wanneer de thermische printer in werking is. Zorg ervoor dat het negatieve (kortere) been van de condensator is bevestigd aan de negatieve pool van de terminal en niet andersom.

Sluit aan op de barrel jack en de condensator, de kabels voor de printervoeding en de Raspberry Pi Zero W.

Voor het voeden van de Pi heb ik de +5V aan de PP1 gesoldeerd en de aarde van de voeding naar de PP6 aan de achterkant van het bord, direct onder de USB-voeding.

Ik nam een stuk perfboard en verkocht er 2 strepen vrouwelijke pin-headers op, dus eerst de Pi IO-pinnen. Op dat perftboard kun je de drukknop en de datakabels van de printer aansluiten.

Verbind de drukknop met de massa GND (pin 34) en de BCM 20 (pin 38)

Volg deze volgorde voor de printer:

  • Printer GND -> Raspberry Pi GND (pin 6)
  • Printer RX -> Raspberry Pi TXD (pin 8, BCM 14, UART Transmit)
  • Printer TX -> Raspberry Pi RXD (pin 10, BCM 15, UART-ontvangst)

Check de Raspberry Pi IO voor meer informatie:

Stap 5: Montage

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

Het montageproces is eenvoudig.

De powerbank past op de bodem van de behuizing en beweegt niet. Maar kan gemakkelijk worden verwijderd om te worden opgeladen of vervangen.

Ik heb een paar pinnen geprint om het Raspberry Pi-bord aan de behuizing te bevestigen en om de lens ook op de rest van de behuizing aan te sluiten.

Er is niet veel ruimte voor alle kabels en componenten. Je moet de ruimte ordenen, maar alles past erin.

Voor het sluiten van de koffer hebben de basis en de hoofddoos twee lipjes aan de achterkant die in elkaar passen. Aan de voorkant bevindt zich een schroefvak om de doos vast te zetten.

Stap 6: Eindelijk! Schieten Schieten Schieten…

Aanbevolen: