Il s'agit d'un petit cadre photo, tout à fait ordinaire vu de l'extérieur, mais abritant en son sein une matrice de LED capable d'afficher de petits dessins en Pixel art.
Le cadre est recouvert d'une feuille de papier, ce qui lui donne un rendu organique et "naturel" à la manière du e-paper.
Très simple à utiliser et esthétique, cet objet est également adapté à un usage en atelier, ou les participants pourront dans un premier temps apprendre à faire de petite oeuvre en pixel art sur GIMP puis les afficher chez eux ou sur leur bureau.
Il s'agit d'un petit cadre photo, tout à fait ordinaire vu de l'extérieur, mais abritant en son sein une matrice de LED capable d'afficher de petits dessins en Pixel art.
Le cadre est recouvert d'une feuille de papier, ce qui lui donne un rendu organique et "naturel" à la manière du e-paper.
Très simple à utiliser et esthétique, cet objet est également adapté à un usage en atelier, ou les participants pourront dans un premier temps apprendre à faire de petite oeuvre en pixel art sur GIMP puis les afficher chez eux ou sur leur bureau.
Étape 1 - Raccorder la matrice de LEDs à l'arduino
La première chose à faire est de réaliser le raccordement entre la matrice et l'arduino nano (ou uno/leonardo) pour qu'il puisse communiquer.
Il existe plusieurs modèles de matrice de LED adressage (ws2812b). De manière générale elles sont structurées de la même manière :
Un câble qui achemine les informations (Data In and Data Out)
Un câble qui achemine le courant (VCC ou 5V)
Un câble qui ferme le circuit en ramendant à la terre (Ground ou GND)
• Le câble VCC est à raccorder au 5V de l'arduino
• Le câble GND est à raccorder au Ground de l'arduino
• Le câble DI doit être raccordé à la PIN 6 (pour fonctionner avec les codes, proposez dans ce tutoriel).
• Le câble DO sert à raccorder une matrice avec une autre matrice. Dans se cas le DO de la matrice 1 doit être connecté avec le DI de la matrice 2.
Étape 2 - Intégrer la matrice au cadre photo
L'idée est d'afficher dans son salon ou dans son bureau, ou dans les couloirs de l'école, l'entreprise ou ailleurs ses oeuvres en pixel art.
Pour ajouter un effet E-Paper, j'ai ajouté une feuille de papier devant la vitre, côté regarder.
Ouvrir le cadre et utiliser le dos du cadre comme patron pour découper un rectangle de papier à la bonne taille (un peu épais, du papier à dessin 80g c'est pas mal)
Facultatif : Téléverser le code "test_de_la_matrice_arduino.ino" dans l'arduino nano (instruction à l'étape 6) pour avoir un aperçu du résultat.
À l'aide d'un marqueur, marquer le dos du cadre pour savoir ou percer pour laisser passer les câbles et où coller la matrice
Percer avec une perceuse, nettoyer avec un cutter
Pisto-coller la matrice. Le but est de coller la matrice de LED tout en la surélevant un petit peu pour laisser de la place aux câbles.
Disposer le rectangle de papier devant la vitre (côté regarder) puis assembler les deux parties du cadre.
Fermer le tout en repliant les petits ergots.
Étape 3 - Dessiner un pixel art de 8x8 pixels
En atelier ou pour les fans de retro gaming : dessiner ses propres oeuvres.
Glisser déposer les fichier "main.py" et "create_arduino_code.py" (fournis dans ce tutoriel) dans le projet acuel
Ouvrir le terminal et lancer les deux commandes suivantes
pip3installpillowpip3installpyperclip
UTILISER LE CODE POUR TRANSOFORMER UNE IMAGE EN CODE ARDUINO
Il s'agit surtout de changer ces paramètres
############################## PARAMETERS ################################ Don't forget to edit the parametersfolder_path='/Users/Studio/Desktop/PIXEL/'name_of_the_drawings='EXEMPLE'number_of_drawings=1# 7 is the maximum for 8x8 matrice and arduino nanomatrix_width=8# this works for an 8x8 matricetime_between_scene=2000# in millisecondsbrightness=50#########################
folder_path = chemin absolu menant jusqu'au dossier contenant les images
name_of_the_drawings = le nom de la série de dessins ou d'images sans les chiffres.
Si la série est 'MOON1, MOON2, MOON3, etc...' name_of_the_drawings = 'MOON'
S'il n'y a qu'une seule image, elle doit s'appeler 'MOON1' et name_of_the_drawings = 'MOON'
number_of_drawings = le nombre d'images de la série
matrix_width = largeur de la matrice de led (généralement 8 ou 16)
time_between_scene = le temps d'attente entre une image et la prochaine
brightness = luminausité des LEDs
Une fois ces informations modifié faite tourner le scripte. Le code Arduino s'inscrit dans la console python et est automatiquement copier dans le presse papier à la fin (grâce à la bibliothèque pyperclip).
Il ne vous reste plus qu'a coller le code dans Arduino IDE
Étape 6 - Installer les bibliothèques et Téléverser le code
C'est l'étape ultime : envoyé le code sur l'arduino.
INSTALLER LES LIBRAIRIES
À ne faire qu'une fois , lors de la première utilisation
Croquis►Inclure une librairie►Gérer les bibliothèques
Rechercher et installer "FastLED NeoMatrix". Lorsque demandé, choisir "Install all", ce qui installera toutes les bibliothèques nécessaires au bon fonctionnement du code.
TELEVERSER LE CODE (Upload en anglais)
En fonction de la carte utilisé renseigner les champs suivant dans le menu outil.
Outils►Types de cartes►(Dans mon cas Arduino Nano)
Outils►Procésseur►(Dans mon cas ATmega328P old boot loader)
Outils►Port►(Dépend d'un ordinateur à l'autre)
Si un "Sketch" n'est pas ouvert par défaut créer en un nouveau : Fichier►Nouveau (ctrl +N)
Supprimer tout et remplacer par le code obtenu grâce au code python
Cliquer sur le bouton "Téléverser" ou cliquer sur Croquis►Téléverser (ctrl +U, "U" pour Upload en anglais)
Attendre
Vous réjouir de tout le chemin parcouru :)
Notes et références
J'espère que ce tutoriel vous à plu. Pour info, je suis codeur amateur et serait ravi d'intégrer vos améliorations.