Baguette Lightpainting

PrésentationMatérielProgrammeCâblageFichier imageRéalisationRésultats
Ceci fait quelques mois que je souhaite réaliser une "baguette" pour faire du Lightpainting avec un module Arduino.
Le résultat obtenu sera proche des photos ci-dessous :

Le LightPainting c'est quoi ?

Le light painting (qui peut se traduire littéralement de l'anglais par « peinture de lumière ») est une technique de prise de vue photographique. Elle consiste à utiliser un temps d'exposition long dans un environnement sombre en y déplaçant une source de lumière ou en bougeant l'appareil photo. La photographie obtenue révèle alors toutes les traces lumineuses dues soit à l'exposition directe du capteur à la source lumineuse, soit aux objets éclairés.

Source Wikipédia

Comment cela fonctionne ?

A l'aide d'un micro-contrôleur Arduino, d'une image au format bmp (stockée sur une carte SD) et d'une bande de LEDs, nous allons afficher chaque colonne qui compose l'image sur la bande LEDs.
Il faudra donc régler l'appareil photo sur un temps d'exposition suffisamment long pour avoir le temps de faire apparaître l'image dans sa totalité.

Qu'est-ce que le micro-contrôleur Arduino ?

imagesArduino est un circuit imprimé en matériel libre (les plans de la carte elle-même sont publiés en licence libre, cependant, certains composants de la carte, comme le microcontrôleur par exemple, ne sont pas en licence libre) sur lequel se trouve un microcontrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le pilotage d'un robot, etc. C'est une plateforme basée sur une interface entrée/sortie simple. Il était destiné à l'origine principalement mais pas exclusivement à la programmation multimédia interactive en vue de spectacle ou d'animations artistiques. C'est une partie de l'explication de la descendance de son interface de programmation de Processing, lui-même inspiré de l'environnement de programmation Wiring1.

Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex. : Macromedia Flash, Processing, Max/MSP, Usine Hollyhock, Pure Data, SuperCollider). En 2011, les versions vendues sont préassemblées. Des informations sont fournies pour ceux qui souhaitent assembler l'Arduino eux-mêmes.

Le projet Arduino a reçu un titre honorifique à l'Ars Electronica 2006, dans la catégorie Digital Communities.

Quel est le matériel nécessaire ?

1 micro-contrôleur Arduino Mega (ou compatible).

1 shield carte SD.

 

1 shield LCD 1602 avec touches.

1 bande de LEDs NeoPixel WS2812 adressable. Vous trouverez différents modèles : 30, 60 ou 144 LEDs/m. Pour ma part, j'ai choisi une bande d'1 mètre de 144 LEDs. Le prix varie selon le nombre de LEDs et la longueur souhaitée.

1 carte SD (2Go Max)

1 interrupteur à levier (on/off)

img1_5565

1 bouton poussoir (pour lancer la séquence)

yfybfi1345199778001

1 régulateur de tension L7805CV

images (2)

1 résistance 47Ω (Code couleur Jaune-Violet-Noir-Or)

2 condensateurs radiaux 10µF (35V au minimum)

5117da302894aa680ac0b86a5a0c910f.image.240x240

1 source d'alimentation 12V (batterie, pile, ...)

Du fil électrique (section 0.5mm² fera l'affaire)

Un fer à souder et son étain

Un support pour fixer la bande de LEDs

Quel logiciel utiliser ?

Le logiciel de programmation des modules Arduino est une application Java, libre et multi-plateforme, servant d'éditeur de code et de compilateur, et qui peut transférer le firmware et le programme au travers de la liaison série (RS-232, Bluetooth ou USB selon le module). Il est également possible de se passer de l'interface Arduino, et de compiler et uploader les programmes via l'interface en ligne de commande2.

Arduino1Blink

Le langage de programmation utilisé est le C++, compilé avec avr-g++ 3, et lié à la bibliothèque de développement Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place de ce langage standard rend aisé le développement de programmes sur les plates-formes Arduino, à toute personne maîtrisant le C ou le C++.

Vous pouvez le télécharger ICI

Le programme

Je ne suis pas le propriétaire du programme. J'ai cependant traduit les lignes de codes pour que vous puisiez vous y retrouver.
Afficher le programme

On peut illustrer le câblage comme ci-dessous

DLW_NeoPixel_WS2812-Wiring1

 

Il y a une erreur concernant la valeur de la résistance, c'est bien 47Ω !!

Voici quelques informations à savoir concernant les fichiers BMP qui seront sur la carte SD.

  1. Les fichiers devront être au format .bmp (Bitmap) 24bits.
  2. La résolution de l'image devra correspondre au nombre de LEDs que possède votre bande. Dans mon cas 144 pixels (car 144 LEDS sur la bande).
  3. L'image devra être tournée à 90° sens horaire. Le programme lit l'image à partir du haut.
  4. Le nom de votre fichier devra être compatible MS-DOS, c'est à dire avoir 8 caractères maximum suivi de l'extension .BMP

Exemples :

TEST N°1

Le montage à "plat" est terminé. Voici une vidéo du résultat.
On ne voit pas trop la puissance de la bande, mais ça rend bien.

TEST N°2

Petit essai de nuit pour voir la luminosité de la bande LEDs.

Le câblage fonctionnant, il ne reste plus qu'à faire un vrai test.

Pour cela, petit montage rapide

On attend que la nuit tombe ...

On installe le matériel : trépied, appareil photo sur "Priorité à la vitesse" 10s, ISO 100, déclenchement par télécommande ..

On prépare la baguette et voilà les 1er clichés

Nouvelle séance ... (et pas de changement de piles !!)

L'article sera mis à jour au fur et à mesure de l'avancé du projet
-dernière mise à jour le 27/07/15-

2 commentaires sur “Baguette Lightpainting

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *