/ledbar

a basic library for light painting with a ledbar

Dans le cadre du THSF, J'ai suivi un atelier Light Painting. Le principe est de faire une barre de leds commandée par un arduino pour afficher un texte. Cet atelier était animé par des personnes du GRL que je remercie. Je ne traiterait pas de la partie prise de vue avec un appareil photo qui dépasse mes compétences.

Préparation

Couper une moulure électrique sur 15, centimètres. Avec un forêt du diamètre des diodes, percez les trous à distance égale (environ la taille de la petite broche (cathode) de la diode):

percez

Ensuite, insérez les leds:

inserez les leds

Pliez et soudez les cathodes entre-elles:

soudez les leds

Enfin, soudez les résistances aux anodes.

ajoutez les résistances

Vous n'avez plus qu'à tirer un fil entre ces dernières et les pins 3 à 9 de l'arduino UNO. Enfin, vous pouvez refermer la moulure. Vous pouvez alimenter votre arduino avec une pile 9 volts. Il vous est conseillé de bien fixer le tout (avec du ruban adhésif par exemple).

Code utilisé pour le projet

Le code est disponible sur la page suivante, ici. Il faudra installer tk pour utiliser l'UI. Si vous utilisez python 3, il faudra remplacer <> par != et tKinter par tkinter. Vous entrez votre texte, et le script vous génère un sketch arduino correspondant. J'ai néanmoins codé une bibliothèque basique que je présente ci-dessous.

Ledbar

Tout comme pour mon précédent article, j'utilise mon propre makefile. J'explique cela sur le github arduino makefile. Vous pouvez ensuite cloner mon projet github via un: github clone https://github.com/yazgoo/ledbar.git Il vous suffit alors de modifier le Makefile pour inclure votre makefile principal ainsi que ledbar.cpp pour afficher votre texte:

#include "Arduino.h"
#include "ledbar.c"
void setup() {
        // initialise la bibliothèque
        ledbar_setup();
}
void loop()
{
        // affiche HELLO WORLD avec un délai de 200ms entre chaque lettre.
        ledbar_write_text(200, "HELLO WORLD");
}

Conclusion

Si vous voulez voir ce que cela donne avec le générateur python, voilà le résultat.