Deux circuits électroniques de capture d'image : le PolaroHeat (2)

Rédigé par roi_matou Aucun commentaire
Classé dans : Productions Mots clés : électronique
Un temps éclipsé par l'arrivée de la photographie numérique, l'appareil photographique instantané inventé par la firme Polaroid à la fin des années 1940 connaît aujourd’hui un regain d'intérêt, porté par une vague de nostalgie et de fétichisme liée aux emblèmes culturels des années 1970-80. Sa rapidité de tirage et sa simplicité d'utilisation expliquent son succès initial chez les photographes amateurs, mais parfois aussi chez les photographes professionnels comme appareil d'appoint1. Le Polaroid utilise un film spécial contenant la chimie nécessaire au développement et au tirage photographique, après exposition du support lors de la prise de vue, qui repose sur un système optique optimisé et très élaboré. Le développement de l'électronique grand public et de plateformes de prototypage a permis l'apparition de projets basés sur des technologies numériques qui imitent le fonctionnement des appareils photographiques instantanés, du plus simple au plus élaboré. Le PolaroHeat en est une version intermédiaire.

Le PolaroHeat se base sur la plateforme de prototypage open source Raspberry Pi (dans sa version Zero) de la fondation éponyme, qui possède de nombreux atouts. Il s'agit d'un ordinateur monocarte très documenté par une importante communauté d'utilisateurs et qui bénéficie d'un large écosystème d'extensions matérielles dédiées. Il possède en outre un grand nombre d'interfaces d'entrée et de sortie (USB, ports série, ports GPIO…) et il est capable d’exécuter un système d'exploitation complet. Enfin, sa petite taille et son coût modique en font un candidat intéressant pour les projets embarqués qui nécessitent du calcul logiciel dépassant les capacités d'un microcontrôleur. Dans le tutoriel proposé par Adafruit, le Raspberry Pi est accompagné d'un module de caméra 5 Mégapixels (développé par la fondation) qui constitue le dispositif optique et d'une imprimante thermique comme périphérique de sortie. Le montage est complété par un bouton de déclenchement, un bouton d'extinction du système et une LED d'état du système reliés aux ports GPIO du Raspberry Pi Zero. Le système d'exploitation dédié RaspberryPiOS Lite et le serveur d'impression CUPS sont installés sur l'ordinateur. Les fichiers supplémentaires nécessaires au traitement logiciel sont téléchargés depuis le dépôt en ligne d'Adafruit.

Le principe de fonctionnement est le suivant. Le script camera.sh lancé au démarrage du système surveille l'état du déclencheur et, lors de l'appui, commande la capture d'une image aux dimensions du papier thermique par la caméra (commande raspistill). La capture est ensuite envoyée au serveur d'impression CUPS via la commande lp, qui cache en fait une routine complexe. À la réception de cette commande, CUPS se charge de transformer l'image en langage interprétable par l'imprimante en s'appuyant sur le filtre ou pilote rastertozj.c. On passe ainsi d'un fichier image encodé au format JPEG, soit une matrice de quantités de lumière et de couleurs codées sous forme numérique, à un flux de données brutes formaté selon le langage de description de page ESC/P2. CUPS livre enfin les données à l'imprimante et exécute la séquence d'impression décrite dans le fichier rastertozj.c : initialisation et chargement des caractéristiques de l'imprimante (contenues dans le fichier de description ZJ-58.ppd), exécution de l'impression, arrêt et réinitialisation du matériel.

Ce prototype de “Polaroid numérique” est fonctionnel, mais contrairement à son modèle argentique qui permettait d'ajuster les paramètres optiques aux conditions lumineuses, il ne permet aucun réglage esthétique, ni à la prise de vue, ni à l'impression. Deux améliorations ont donc été apportées au code d'origine. La première (et la plus importante) introduit la possibilité de régler les paramètres de chauffe de l'imprimante thermique. En effet, la tête d'impression de ce type d'imprimantes est constituée de minuscules résistances (points d'impression) qui convertissent l'énergie électrique reçue en chaleur. Le papier thermique contient des agents chimiques qui y sont sensibles et s'assombrissent plus ou moins au passage sous la tête d'impression. Ici, l'imprimante est utilisée sous une tension de 5 volts au lieu des 9 volts recommandés, avec comme conséquence une moindre quantité de chaleur émise par les résistances et donc un faible contraste à l'impression. L'ajout d'une commande qui modifie les paramètres de chauffe3 dans la séquence d'impression permet d'augmenter le temps de chauffe des résistances, et donc le contraste, au détriment du temps d'impression. La seconde modification du code concerne la commande raspistill responsable de la prise de vue et qui accepte de nombreuses options. Il est ainsi possible de paramétrer finement les réglages de la prise de vue (contraste, exposition…), voire même d'appliquer des effets artistiques (croquis, négatif…).

L'intégration dans un boîtier de Polaroid original s'est avérée particulièrement ardue. Comme le note l'auteur du blog Mixtela.com, le Polaroid ne contient aucune vis, les différents éléments originaux étant fixés par emboîtement les uns aux autres. Toutes les pièces intérieures ont donc été retirées et remplacées par le nouveau circuit, hormis le viseur qui a été conservé tel quel, ainsi que l'objectif qui a été fixé à la colle. Par manque de place, l'accumulateur 5V a été déporté dans une pochette fixée sous le boîtier4. Ce subterfuge permet néanmoins de changer d'alimentation USB simplement et de garder un œil sur le témoin de charge, le Raspberry Pi Zero supportant mal les extinctions brutales. L'apparence extérieure a été préservée autant que possible ; seules deux vis ont été ajoutées pour servir d'axe pour le rouleau de papier thermique. L'absence d'élément de compensation de la friction et la faible puissance du moteur miniature ont par ailleurs tendance à entraver le déroulement fluide du papier, avec pour conséquence des défauts visuels d'impression. L'obtention d'un rendu correct et régulier a été de ce point de vue particulièrement difficile. Enfin, comme pour la quasi totalité des projets présentés sur le blog, les différents éléments du circuit (cartes, modules...) ont été fixés de manière à pouvoir être retirés et réutilisés plus tard. Cette démarche permet de relativiser le coût élevé du projet (environ 130€) et d'envisager la récupération des éléments pour de futurs montages.

PolaroHeat - Rendu approximatif

Le PolaroHeat mobilise de nombreux concepts et savoirs-faire liées à l'informatique et à l'image numérique, notamment :

  • la théorie de l'image numérique et les différences avec l'image analogique;
  • l'installation d'un système d'exploitation libre et sa configuration en ligne de commande;
  • le principe de fonctionnement et les possibilités offertes par les ordinateurs monocartes par l'exploration de l'écosystème Raspberry Pi;
  • le fonctionnement de l'impression numérique.

Matériel

Carte Raspberry Pi Zero WH5 x1 > 19,90€ (/pièce) ; carte µSD 8 Gb x1 > 12,95€ (/pièce) ; module de caméra 5 Mégapixels pour Raspberry Pi Zero x1 > 13,90€ (/pièce) ; alimentation 5V/1A x1 > 6,90€ (/pièce) ; cordon USB-B/µUSB x1 > 1,95€ (/pièce) ; imprimante thermique x1 > 54,00€ (/pièce) ; rouleau de papier thermique x1 > 1,35 (/pièce) ; boutons poussoirs x2 > 0,52€ (/pièce, lot de 15) ; entretoises nylon à filetage M2 x 16 > 0,08€(/pièce, lot de 160) ; commutateur à glissière SPDT x1 > 0,83€ (/pièce) ; LED rouge 3mm 2V x1 > 0,17€ (/pièce, lot de 5) ; résistance 4,7kΩ x1 > 0,17€ (/pièce, lot de 10) ; batterie externe USB 5V/10000mAh x1 > 17,99€ (/pièce) ; carte de circuit imprimé pour prototypage > 2,06€ (/pièce) ; fil de câblage multibrins (souple) 24AWG > 0,15€ (15,00€/30m) ; étain à souder > 0,10€ (9,50€/100g).

Coût de revient estimé : 134,74€. Le coût est calculé à partir des catalogues RS Components (composants), Gotronic (composants, cartes et modules) et Boulanger (batterie). Les prix relevés sont ceux des composants à l'unité ou vendus en petites quantités.

Ressources

Concernant la caméra :
Concernant l'imprimante thermique :
Concernant la consommation électrique :

Fichiers

Schéma - pilote - wiki.

Notes

 1 On peut en voir l'utilisation faite par Alfred Seiland dans la série de documentaires “L'héritage de Rome” diffusée surt Arte en 2018 (non éditée). Le photographe teste l'exposition à l'aide d'un tirage Polaroid avant de prendre une photographie définitive à la chambre.

2 Voir l'article Wikipedia en anglais. Les commandes de ce langage sont constituées d'une suite de caractères codés sous forme numérique selon la norme ASCII. La mémoire de l'imprimante contient une table de correspondance de caractères qui lui permet d'interpréter les commandes.

3 Le fonctionnement de la commande est détaillé dans le wiki du projet.

4 En fait, le choix a été fait de réutiliser l'accumulateur de l'ESPion pour limiter l'achat et l'utilisation de multiples batteries Li-ion pour des objets qui ne servent qu'occasionnellement.

5 Le Raspberry Pi Zero utilisé dans ce projet, vendu aux alentours de 5€, est souvent en rupture de stock et nécessite un adaptateur µUSB/Ethernet relativement cher s'il est acheté exprès. Il a donc été remplacé par sa version WH, plus chère, mais qui dispose du Wifi.

Écrire un commentaire

Quelle est le troisième caractère du mot 3kvlrzfg ?

Fil RSS des commentaires de cet article