Page 1 sur 1

Appareil photo portable Instantané Pi (Traduction)

Publié : 30 janv. 2019, 13:50
par Steflin
:rasp: Traduit de "Portable Instant Pi Camera" https://www.instructables.com/id/Portab ... Pi-Camera/

Appareil photo portable Instantané Pi

Image
Par Action-Script en technologie-photographie
A propos de : Il suffit de créer. C'est tout ce que je veux.


J'avais en tête l'idée de créer une série de photographies inspirées de l'âge d'or de la photographie polaroïde et analogique.
Une grande partie de mon processus créatif est définie par la création de mes propres outils, donc je n'ai pas vraiment été attiré par l'idée d'acheter un polaroid et de commencer à shooter.

Cette idée n'est pas nouvelle, il existe déjà plusieurs projets d'appareils photo utilisant Raspberry Pi et une imprimante thermique.
Mais pour cette caméra, je voulais le faire à ma façon.
Je me suis donc inspiré de tous ces projets et j'ai fait quelques changements.

Tous les autres projets similaires que j'ai vus auparavant utilisent un Raspberry Pi 2 et un module de caméra à grand objectif (de surveillance) pour le Pi.

Pour cet appareil, j'ai opté pour un Raspberry Pi Zero W et un objectif à focale moyenne et grande focale.

Le Pi Zero W a la même empreinte que la Pi Zero originale, qui est assez petite et c'est super.
Mais la version W, inclut le port caméra et le Wifi embarqué ainsi que de nombreuses autres fonctionnalités.
(note du traducteur: la version pi zero normale a également un port caméra)

La plupart des modules de caméra Pi sont livrés avec un objectif grand angle.
J'ai choisi un objectif M12, avec un champ de vision de 40° qui serait similaire à une focale de ~45 mm dans un appareil photo plein format, car l'image serait plus naturelle, moins déformée et similaire à la photographie classique.

BTW, grâce à la connectivité wifi, je peux shooter à distance.

Étape 1 : Composants et matériaux

Composants et pièces
  • 1x Module de caméra Raspberry Pi
  • 1x objectif de la caméra M12 (distance focale de votre choix)
  • 1x Bouton poussoir
  • 1x 5v / 3,5A Power Bank (min 3A)
  • 1x 4700uF Condensateur électrolytique
  • 1x Adaptateur USB à angle droit A mâle vers A femelle
  • 1x Adaptateur Jack 2.1mm vers USB
Câblage
  • 1x Bande de séparation MÂLE en-tête
  • 1x Bande de séparation FÉMININE en-tête
  • 3x connecteur 2 broches (j'utilise le connecteur Dupont)
  • Perfboard
  • Fil électrique
Assemblage
  • 2x Vis M3 x 6mm (6mm ~ 10mm)
  • 2x écrous carrés (M3 1,8mmx5,5mm)
  • 2x Vis M2 x 6mm (6mm ~ 10mm)
Impression
  • Rouleaux de papier thermique (57mm)
Extras
  • Carte SD 8GB (pour le raspberry pi)
  • Mini adaptateur HDMI (pour connecter le Zero W à un moniteur)
  • Mini USB à USB (pour connecter le Zero W à un clavier)
  • Chargeur USB 5v
Outils utilisés

Logiciels Matériel informatique
  • Sertisseuse de câbles (SN-28B)
  • Outil à dénuder les fils
  • Pied à coulisse numérique
  • Tournevis multiples
Étape 2 : Configuration du logiciel et du code

Image

Pour cette étape, vous pouvez avoir besoin d'un clavier USB et d'un moniteur HDMI.
Il serait également utile d'installer le module de caméra dans le Raspberry Pi pour que vous puissiez tester et vérifier que tout fonctionne.

Configuration du système

Exécutez l'utilitaire raspi-config :

Code : Tout sélectionner

$ sudo raspi-config
Pour ce projet, ces options sont nécessaires :

Code : Tout sélectionner

    Options d'interface -> Activer la caméra
    Options d'interface -> Désactiver Série
    Options avancées -> Développer le système de fichiers
Utilisez raspi-config pour configurer la connexion Wi-Fi.
Vous aurez besoin d'une connexion réseau pour mettre à niveau le système et télécharger le logiciel requis.

Code : Tout sélectionner

    Options réseau -> Wi-fi
Vous pouvez également activer SSH pour accéder à distance au système et effectuer des changements rapides.

Code : Tout sélectionner

    Options d'interface -> Activer SSH
Installer le logiciel

Le processus de cette étape est basé sur ce tutoriel :

https://learn.adafruit.com/instant-came ... stem-setup

Code : Tout sélectionner

$ sudo apt update
$ sudo apt install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev
Installez le filtre matriciel pour CUPS à partir du github adafruit.

Code : Tout sélectionner

$ git clone https://github.com/adafruit/zj-58
$ cd zj-58
$ make
$ sudo ./install
Installez et réglez l'imprimé par défaut sur le système CUPS.
Modifiez la valeur "baud" à 9600 ou 19200 selon les besoins de votre imprimante. (Le mien était 19200)

Code : Tout sélectionner

$ sudo lpadmin -p ZJ-58 -E -v serial:/dev/ttyAMA0?baud=19200 -m zjiang/ZJ-58.ppd
$ sudo lpoptions -d ZJ-58<br>
Script de la caméra

Code : Tout sélectionner

$ sudo apt-get install imagemagick
L'ordre de prise de vue se présente comme suit en utilisant imagemagick pour améliorer les contrastes et en réglant le contraste et la luminosité par défaut de l'appareil photo :

Code : Tout sélectionner

raspistill -t 200 -co 30 -br 75 -w 512 -h 388 -n -o - | convert - -grayscale Rec709Luminance -contrast jpg:- | lp
Ce sont les paramètres qui fonctionnent le mieux dans mon cas, mais vous pouvez modifier ces valeurs.

J'utilise le même bouton pour prendre des photos et descendre le système.
Les scripts séparaient une seule pression d'une pression longue (+4 secondes).

camera.sh

Code : Tout sélectionner

#!/bin/bash

SHUTTER=20


# Initialiser les états GPIO
gpio -g mode  $SHUTTER up


while :
do
    # Vérifier le bouton de l'obturateur
    if [ $(gpio -g read $SHUTTER) -eq 0 ]; then
        # Doit être maintenu pendant plus de 4 secondes avant que l'arrêt soit effectué....
  starttime=$(date +%s)
        while [ $(gpio -g read $SHUTTER) -eq 0 ]; do
            if [ $(($(date +%s)-starttime)) -ge 5 ]; then
                shutdown -h now
                echo "power off"


                # Attendre que l'utilisateur relâche le bouton avant de reprendre
                while [ $(gpio -g read $SHUTTER) -eq 0 ]; do continue; done
            fi
        done
        if [ $(($(date +%s)-starttime)) -lt 2 ]; then
            echo "Click shut"
            raspistill -t 1800 -co 30 -br 75 -w 512 -h 388 -n -o - | convert --grayscale Rec709Luminance -contrast jpg:- | lp
            # date +"%d %b %Y %H:%M" | lp
        fi
        sleep 1


    fi
    sleep 0.3
done
Configurez automatiquement le script pour qu'il démarre au démarrage du système.
Modifiez le fichier /etc/rc.local et ajoutez la commande suivante avant la dernière ligne "exit 0" :

Code : Tout sélectionner

sh /home/pi/camera.sh
Utilisez le chemin d'accès où vous avez enregistré le fichier script.

Raspberry Pi Zero W permet la compatibilité série
pi3-miniuart-bt commute les fonctions Bluetooth Raspberry Pi 3 et Raspberry Pi Zero W pour utiliser le mini UART (ttyS0), et restaure UART0/ttyAMA0 en GPIOs 14 et 15.

Pour désactiver le Bluetooth embarqué et restaurer UART0/ttyAMA0 sur les GPIOs 14 & 15, modifiez :

Code : Tout sélectionner

$ sudo vim /boot/config.txt
Ajouter à la fin du fichier

Code : Tout sélectionner

dtoverlay=pi3-disable-bt
Il est également nécessaire de désactiver le service système qui initialise le modem pour qu'il n'utilise pas l'UART :

Code : Tout sélectionner

$ sudo systemctl disable hciuart
Vous trouverez plus d'informations à l'adresse suivante : https://www.raspberrypi.org/documentati ... on/uart.md

Etape 3 : Boîtier imprimé 3D

Image

Le boîtier de l'appareil photo est conçu pour garder une petite empreinte compacte où les composants tiennent et s'emboîtent les uns dans les autres de sorte qu'il n'y a pas beaucoup de travail de vis dessus.

Le design est divisé en 3 parties :
  • La base, où la banque d'énergie est localisée.
  • La boîte principale, où la carte Pi, l'imprimante et la majeure partie du câblage prennent place.
  • Le cône d'objectif, qui accueille l'objectif de l'appareil photo.
Le boîtier principal et le cône de l'objectif sont optimisés pour l'impression et ne nécessitent pas de structure de support.
La base, au contraire, est imprimée sur une seule pièce à l'aide d'un support interne.
Je voulais créer une pièce forte pour supporter la structure de la caméra.

J'ai inclus les fichiers stl, donc vous pouvez imprimer ou modifier le design.
Pièces jointes:

Base_01.stl https://cdn.instructables.com/ORIG/FRF/ ... EU8E4H.stl
board_pin.stl https://cdn.instructables.com/ORIG/FQA/ ... EU8E77.stl
Box_01.stl https://cdn.instructables.com/ORIG/FAF/ ... EU8E81.stl
Cone_top_01.stl https://cdn.instructables.com/ORIG/FRP/ ... EU8EC5.stl
snap_pin.stl https://cdn.instructables.com/ORIG/F0C/ ... EU8EF9.stl

Étape 4 : Branchez-le

Image

La première chose à faire est de souder les connecteurs mâles sur les ports IO du Raspberry Pi.

Une fois que vous l'avez fait, vous pouvez brancher le pi dans une breadboard et vous serez prêt à tester l'installation.

Pour le câblage des composants, j'ai séparé les connexions à l'aide de boîtiers de sertissage à 2 broches.
Ainsi, pendant le processus d'assemblage, les composants peuvent être fixés individuellement sur le boîtier et connectés ensuite sans complication.
Permet également de remplacer les pièces en cas de dommage ou de mise à niveau du matériel.

Prenez l'adaptateur jack et connectez le condensateur 4700uF aux bornes + et -.
Cela aidera à maintenir la tension stable lorsque l'imprimante thermique fonctionne.
Assurez-vous que la branche négative (plus courte) du condensateur est fixée au pôle négatif de la borne et non l'inverse.

Connectez à l'adaptateur jack et au condensateur, les câbles d'alimentation de l'imprimante et le Raspberry Pi Zero W.

Pour alimenter le Pi, j'ai soudé le +5V au PP1 et la masse de la batterie (powerbank) au PP6 à l'arrière de la carte, juste en dessous du power USB.

J'ai pris un morceau de perfboard et j'y ai vendu 2 bandes d'en-têtes d'épingles femelles donc d'abord les épingles Pi IO. Sur ce panneau, vous pouvez connecter le bouton-poussoir et les fils de données de l'imprimante.

Connecter le bouton-poussoir à la masse GND (broche 34) et au BCM 20 (broche 38).

Pour l'imprimante, suivre l'ordre suivant :

Imprimante GND -> Raspberry Pi GND (broche 6)
Imprimante RX -> Raspberry Pi TXD (broche 8, BCM 14, transmission UART)
Imprimante TX -> Raspberry Pi RXD (broche 10, BCM 15, reception UART)

Pour plus d'informations, consultez la section Raspberry Pi IO : https://pinout.xyz/pinout/pin10_gpio15

Etape 5 : Montage

Image

Le processus d'assemblage est simple.

La batterie s'adapte sur le fond du boîtier et ne bouge pas.
Mais peut être facilement retiré pour être rechargé ou remplacé.

J'ai imprimé quelques épingles pour fixer la carte Raspberry Pi à l'étui et pour connecter l'objectif au reste de l'étui.

Il n'y a pas beaucoup de place pour tous les câbles et composants.
Il faut organiser l'espace, mais tout rentre dedans.

Pour fermer le boîtier, la base et la boîte principale ont deux languettes sur la partie arrière qui s'emboîtent l'une dans l'autre.
Sur le devant, il y a une poche à vis pour fixer la boîte.

Étape 6 : Enfin ! Shoot Shoot Shoot Shoot Shoot....

Image