Baton de lightpainting avec Arduino

De Les Fabriques du Ponant
Aller à : navigation, rechercher

Cette page est une fiche écrite dans le cadre de l'Inter Semestre ENIB 2017

Le contenu de cette fiche est en cours de rédaction, elle va s'étoffer pendant tout le mois de janvier !

Bâton de lightpainting Arduino

Ce projet consiste à réaliser un bâton de LED pour faire du Lightpainting (dessiner des formes avec de la lumières sur une photo). L'intérêt du bâton est que l'on peut faire des images plus complexes qu'avec une simple lampe de poche.

Exemplelightpainting.jpg

Auteurs

Ont participé à la rédaction de cette fiche :

Outils et matériaux

Liste du Matériel

  • Arduino Uno
  • Adafruit Data Logging Shield (ou un shield pour lire les cartes SD / micro SD)
  • SD card (or microSD with adapter), FAT-formatted
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP
  • NeoPixel strip, sticks or pixels (up to 170 pixels maximum — a 1 meter 144 LED strip works great!)
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP
  • UBEC DC-to-DC converter (12V DC -> 5V DC)
  • 8xAA battery holder and AA cells (NiMH rechargeable recommended)
  • Camera with a long-exposure mode, plus a tripod
  • Imaging editing software that can output 24-bit BMP files (e.g. Photoshop, GIMP, Pixelmator)
  • Wire: 20 to 22 gauge or thereabouts, stranded
  • Soldering iron and related paraphernalia
  • Un support (nous avons utilisé un manche à balai en métal creux, pour faire passer les câbles)
  • Deux boites :
    - une contenant les piles et le converter, à mettre dans la poche
    - une contenant l'arduino, le shield, la carte SD et le bouton
Boitearduino.jpg
  • un tube de PVC pour fabriquer une boite de rangement


Outils

  • soudure
  • pinces à dénuder
  • découpeuse laser

...

Réaliser le projet

Alimenter l'Arduino

En théorie, c'est très simple, il suffit de souder la sortie de la banque de pile sur l'UBEC (le convertisseur 12V DC vers 5V DC) et d'alimenter l'Arduino sur les prises d'alimentation.

UBEC.png

Le convertisseur ne nous ayant pas été fourni, nous avons bricolé une alimentation à partir d'un transformateur secteur 230V AC vers 5V DC de disque dur. Nous avons aussi essayé avec une transformateur allume cigare vers USB mais cela ne fonctionne pas car il ne débite pas assez de courant.

Lire les informations de la carte SD

Tout d'abord, il faut formater la carte SD en FAT16 ou FAT32 à l'aide d'un ordinateur pour que celle-ci soit lisible par l'arduino. Ensuite il suffit de mettre le shield sur l'arduino et d'insérer la carte SD. Arduino fournit un code de test avec la bibliothèque SD, c'est une bonne manière de vérifier que la carte est lue par l'arduino. Nous avons dû toutefois rétrograder la version de la bibliothèque SD car la dernière version ne fonctionnait pas.

Connecter les LEDs et l'arduino

Pour cette étape, on peut soit souder le bandeau de LEDs directement sur le shield ou juste les insérer dans les ports du shield et repiquer la sortie du transformateur, l'arduino ne débitant pas assez de courant. Il faut procéder de la manière suivante :

Cablage.jpg


Pour vérifier la bonne connexion du bandeau, Adafruit fourni des codes de test avec ses bibliothèques qui sont bien commodes pour s'assurer que tout fonctionne bien.

Le code

Cela consiste à charger une image présente sur la carte SD d'une hauteur de 144 pixels (le nombre de LEDs sur notre bandeau) et de faire défiler pixel par pixel selon un certain pas de temps. Cela semble simple mais ce code implique de maîtriser le C++, or aucun des membres de notre groupe n'en avait jamais fait. Nous n'avons donc pas pu réaliser le code.

Comment ça marche ?

Observations

Nous n'avons pas réussi à faire fonctionner le montage sur pile et converter, seulement sur secteur.

Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP

Voici un zoom sur le montage :

Zoomcablage.jpg


Explications

Un pixel sur le bandeau est composé de trois petites lampes très rapprochées, l'une rouge, la seconde verte et la troisième bleue. Pour afficher l'image avec le bâton, il faut donc convertir chaque pixel du fichier image en 3 nombres entre 0 et 255, qui seront transformés en une tension électrique par l'Arduino. Cette tension permettra d'allumer plus ou moins chacune des petites lampes, le tout affichera la bonne couleur. (Synthèse additive)

Et dans la vie de tous les jours ?

Ceci ne sert pas tout les jours, mais ravira les photographes.

Vous aimerez aussi

Tutoriel utilisé pour mettre en place ce projet : https://cdn-learn.adafruit.com/downloads/pdf/neopixel-painter.pdf


Sources et ressources utiles

Liens vers les ressources pédagogiques + quelques mots de description si besoin