Tout d'abord, je tiens à préciser que ce projet ne vise aucunement à concurrencer le projet exceptionnel de F4brice. Si vous cherchez un grand écran couleur, un serveur internet, une télécommande infra-rouge, et des animations magnifique...le tout clef en main, je ne peux que vous conseiller de passer commande à notre membre dévoué.Ceci étant dit, J'avais depuis 2 ans des dalles leds de 16x16 pixels qui trainaient dans un tiroir de l'atelier. Quand j'ai vu le projet de F4brice, je me suis dis que l'idée était génial. En connectant 8 dalles ensemble, j'ai obtenu un écran de 128x16 pixels, identique en résolution aux dalles utilisées par Data East dans les années 90.
Quelques heures de travail plus tard, je peux vous livrer la première version (0.2) qui intègre déjà les animations des flippers Star Trek, Hook et Batman de Data East (le Teenage Mutant Ninja Turtle suivra bientôt)
Pour être intéressant, je voulais que ce projet soit totalement "open source" et avec un coût réduis au maximum.
Le code étant "open source" (c'est de l'Arduino donc avec un logiciel de compilation/programmation gratuit) vous pourrez faire tous ce que vous voulez; modification de la page d'accueil, des fonts, des animations, etc...libre à vous de vous amuser.
À l'heure actuel, les animations, et les fonts sont stockées directement dans l'Eeprom de l'Arduino Due (il n'y a donc pas de carte micro SD). Il reste encore un peu plus de la moitié de la place disponible dans le composant. Dans tout les cas, on pourra toujours rajouter un lecteur de carte SD plus tard si besoin (des librairies d’accès sont déjà disponibles pour les Arduinos)
Les animations sont codées comme suit :
- 4 "niveaux de gris", 1 bit par pixel sur 2 pages (soit 2 bits par pixel). La première page en mémoire pour le gris clair, et la suivante pour le gris foncé (un "et logique" entre les deux pages donne le tout ou rien).
C'est la méthode d'encodage sur les flippers Data East, je suis donc resté la dessus.
Pour ce qui est du montage, pas de soudure, toutes les cartes se connectent entre elles avec des câbles Dupont ou des cavaliers.
Voici une vidéo de la version 0.1 (qui était basée sur un Arduino Mega 2560, la prochaine vidéo vous montrera la version 0.2 basée sur la Due). L'Arduino Mega étant limité en vitesse, il n'y a que 3 niveaux de gris, la gestion du 4eme niveau ne fonctionnant bien que sur la Due.
Version 0.1Version 0.2Mis à jour en version 0.3Changelog-Ajout d'une mire à quatre niveaux de gris au démarrage
-La fonction Image_DOT devient Image_1Bpp, elle sert exclusivement aux images "bi-color"
-Ajout de la fonction Image_2Bpp, elle sert exclusivement aux images en "quadri-color"
-Ajout d'un fichier Mix.h (c'est le "fourre-tout" dans lequel vous pouvez mettre toutes les anims qui vous plaise)
-Ajout de tous les gifs convertis cette semaine (merci aux contributeurs de gif), ainsi que d'une animation du Circus Voltaire.
-Correction de quelques commentaires dans le code
-Ajout d'une fonction setTime (qui permet de régler l'heure quand le DS3231 est neuf, ou au passage heure d'été/heure d'hiver)
-Les pointeurs d'animations passent de 8 bits à 16 bits (j'ai dépassé la valeur fatidique des "255" dans le fichier mix.h cette semaine)
-Ajout du fichier Tmnt.h qui contient les animations du Teenage Mutant ninja Turtles (je les trouve moche donc elles ne sont pas activées, elles n'occupent donc pas de place dans le composant)
-Nous sommes actuellement à 48% d'espace occupée (bien sur à terme, libre à vous d'enlever ce qui ne vous plais pas pour récupérer de la place)
Matériel- 8 dalles lcd 16x16 pixels (80€ frais de port compris, c'était les prix il y a deux ans)
ou
-2 dalles lcd 64x16 pixels (30€ frais de port compris, 01-02-17)
http://www.ebay.fr/itm/3-75-Unit-Board-64x16-Dot-Matrix-LED-Display-Screen-F3-75-Module-304x76mm-KEU-/191793765829?hash=item2ca7cc9dc5:g:rAUAAOSwa-dWqf6MExemple de prix-1 Arduino Due (14€ frais de port compris - 01/02/17)
http://www.ebay.com/itm/1PCS-DUE-R3-Board-SAM3X8E-32-bit-ARM-Cortex-M3-Control-Board-Module-For-Arduino-/151913531405?hash=item235ec0880d:g:UPoAAOSwfZ1Wa~AD-1 RTC DS3231 (1,19€ frais de port compris 01-02-17, ce composant fait à la fois l'horloge et la température)
http://www.ebay.fr/itm/DS3231-Precision-RTC-Temps-Reel-Horloge-Module-Pour-Arduino-Raspberry-Pi-DIY-/291955858305?hash=item43f9ecdb81:g:kusAAOSwA3dYJxeQOn peut donc s'en tirer pour ~42€
-Un chargeur de téléphone d'au moins 1 Ampère en 5V fera l'affaire pour l'alimentation.
SchémaLogicielLe logiciel de programmation est l'Arduino IDE disponible ici:
https://www.arduino.cc/en/main/softwareIl faut sélectionner "Arduino Due (programming port)" dans la liste des cartes, ainsi que le port COM détecté quand vous connectez cette dernière.
Et le programme à injecter
Sources :
http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.1.rar (contient aussi le projet Proteus pour simuler le dot)
http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.2.rar http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.3.rar http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.4.rar http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.4v2.rar (inversée vidéo)
http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.4v3.rar (mirroré)
http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/DMD_Clock_V0.5.zipLogiciel de conversion BMP2DMD Fichier python : http://www.gamoover.net/redacteur/Aganyte/DMDclock/128x16/Convert01.py
Necessite Python 3.2 pour fonctionner :
https://www.python.org/download/releases/3.2/ (Pour Windows
64bits et
32bits)
Un tuto plus précis sur son utilisation sera fait très rapidement
Exemple de création d'un scrolling vertical avec BMP2DMDj'ai d'abord recoupé l'image pour ne garder que le logo.
puis je l'ai redimensionné pour obtenir un fichier de 128x64 pixels (à noter que tout les multiples de 16 auraient put me servir de hauteur, comme 128x80, 128x128, 128x256 etc...)
On convertit en 4 couleurs, et on retourne l'image verticalement avec IrfanView
Il faut pour cela allez dans l'option Batch Conversion/Rename du menu File (Vous remarquer l'option Vertical Flip et Custom colors:4)
Ce qui nous donne
Enfin, on lance le programme avec la commande
python convert.py SF02.bmp
tout les fichiers à convertir doivent finir par 2 chiffres, "02" dans le cas présent. Si il y a d'autres images, dans le cas d'une animation, les autres fichiers seront du type 03,04,05 etc...(cela se fait automatiquement avec IrfanView quand on demande le découpage d'un gif)Voila le résultat (à noter que j'ai travaillé sur le programme afin d'avoir une vérification visuelle rapide de ce que le logiciel voit)
ce scrolling ne pèse que 8 trames soit 2 Ko