Photomaton composé d'une Arduino Uno, d'un Panneau de LEDs RGB, d'un téléphone en mode selfie et d'une carte d'adaptation qui simule au téléphone, par le port jack, un appui bouton "volume -" permettant de déclencher un selfie à distance.
Les photomatons en DIY (Do It Yourself) ou encore appelés Photobooth sont actuellement à la mode. En voici une version qui afin de gagner du temps a été réalisée à partir d'un téléphone (ici un Samsung Galaxy S3 de 2012) en mode Selfie. Ainsi le téléphone regroupe en un seul objet l'appareil photo, l'écran de prise de vue et le stockage des clichés.
Les clichés sont déclenchés par l'utilisateur par un bouton en façade (déclenchement à la main) ou au choix par une pédale (déclenchement au pied). L'objectif étant que l'utilisateur n'ai pas accès à l'écran tactile du téléphone, celui-ci étant protégé par une plaque de plexiglas.
Un flash est intégré au photomaton. L'utilisateur peut régler, par deux potentiomètres linéaires en façade, l'intensité lumineuse du flash ainsi que sa couleur.
J'ai utilisé un panneau de LEDs RGB adafruit Néopixel 5X8. Ce panneau permet de piloter individuellement chacune des 40 LEDs avec une couleur. Pour chaque LED, il est possible de lui adresser une valeur de rouge (de 0 à 255), une valeur de vert (de 0 à 255) et une valeur de bleu (de 0 à 255), ce qui donne une possibilité de 256^3 (16.7 millions) de couleurs par LED. Ce panneau permet également de régler la luminosité pour l'ensemble des 40 LEDs (la luminosité n'est pas réglable individuellement).
Ce panneau contient 3 broches : le 5 Volts, la masse et la ligne de commande.
Pour le 5 Volts, j'ai opté pour un chargeur secteur usb de 2.4 Ampères. En blanc (c'est le pire cas) chacune des LEDs consomme 60 milliampères, ce qui fait au total 2.4 Ampères.
Pour la broche de commande, elle est reliée à une carte Arduino Uno. Le pilotage des couleurs et de l'intensité se fait facilement avec les librairies <Adafruit_GFX.h>, <Adafruit_NeoMatrix> et <Adafruit_NeoPixel.h>.
Afin de connaitre la couleur et l'intensité à afficher, il y a deux potentiomètres linéaires en façade du photomaton. Les deux extrémités fixes des potentiomètres sont reliées à la masse et au 5 Volts (avec une résistance de sécurité en série entre le 5 Volts et le potentiomètre, pour ne pas créer un court-circuit lorsque le potentiomètre est à 0 Ohm). La partie mobile du potentiomètre est reliée à une entrée analogique de l'Arduino. Ainsi sur ces deux entrées analogiques on obtient en fonction de la position du potentiomètre une tension variant de 0 Volt à 5 Volts. J'ai défini (dans l'Arduino) des plages de tensions qui correspondent à une couleur ou à une intensité. Ainsi l'Arduino sait quelles informations sont à envoyer au panneau de LEDs.
Il y a un bouton en façade et une pédale au sol pour déclencher une photo. Ces deux dispositifs sont des interrupteurs. Un côté de l'interrupteur est relié à la masse, l'autre à une entrée analogique de l'Arduino. Cette même entrée analogique est reliée au 5 Volts par l’intermédiaire d'une résistance afin d'éviter tout court-circuit lorsque l'interrupteur est en position ON.
Chaque interrupteur est donc relié à une entrée analogique. L’Arduino va scruter ces deux entrées. Lorsqu’une des deux est à 0 Volt, cela signifie qu'un des deux interrupteurs est à ON, et donc qu'un utilisateur a appuyé sur l'un des deux déclencheurs. Dans ce cas là, l'Arduino va demander le déclenchement d'une photo.
Lorsque l'Arduino a détecté un appui bouton, elle va alors piloter une sortie digitale pour déclencher une photo. Cette sortie digitale va actionner un petit relais (la pin micro a suffisamment de courant pour piloter directement le relais). Ce relais permet de modifier le niveau de tension d'un circuit que le téléphone va interpréter comme un appui bouton volume moins. En effet ce circuit est connecté à la prise jack du téléphone.
Lorsque le téléphone reçoit la commande par la prise Jack de prendre le cliché, l'application de photo du téléphone affiche un compte à rebours. Pendant ce compte à rebours, l'Arduino bloque toutes commandes provenant de sa façade (couleur, luminosité et appuis boutons). L'Arduino effectue le même compte à rebours que le téléphone et juste avant la prise de la photo, elle fait clignoter une fois le flash pour que visuellement l'utilisateur comprenne que la photo a été prise.
Les applications de photos sous Android se mettent en veille toutes les 10 minutes. Je n'ai trouvé aucun réglages permettant de garder l'écran allumé. Ceci est un vrai problème puisque le téléphone n'est pas accessible de l'extérieur (il est derrière une plaque de plexiglas). Pour contourner cela, l'Arduino mesure le temps écoulé depuis la dernière photo prise. Si l'on se rapproche des 10 minutes alors le photomaton décide de déclencher par lui-même un cliché afin d'éviter que le téléphone ne se mette en veille.
Le panneau de LEDs Adafruit est un "Shield" Arduino. Cependant j'ai choisi de ne pas le clipser à l'Arduino parce qu’il chauffe un peu trop à mon goût.
Toujours pour une question de chaleur, l'Arduino va automatiquement baisser l'intensité du flash (qui est allumé en permanence) lorsqu'elle détecte une inactivité. Dès qu'un utilisateur prend une photo ou touche à l'un des potentiomètres, l'Arduino remet automatiquement la dernière valeur d'intensité enregistrée.
L'Arduino est alimentée par un chargeur secteur USB de 500 milliampères.
Le téléphone est aussi alimenté par un chargeur secteur USB de 1 à 2 Ampères en fonction du téléphone.
Dans le photomaton j'ai installé une petite multi-prises pour accueillir les 3 chargeurs USB et n'avoir qu'un seul fil d'alimentation (220 Volts AC) qui sort de la boite. J'ai opté pour cette installation parce que j'avais de la place, sinon une alimentation à découpage 220 Volts AC vers 5 Volts DC aurait pu être ajoutée dans le photomaton.
Enfin toutes les masses des appareils sont reliées entre-elles.
Le code source du photomaton est disponible sous Github : https://github.com/Projets-du-dimanche/photomaton
Lien Pinterest : https://pin.it/dlvvgwru36jiwm
Lien GitHub : https://github.com/Projets-du-dimanche/photomaton