Auteur Sujet: [Tuto] La DMD Clock du pauvre (Data East Tritube) [128x16]  (Lu 15770 fois)

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube) [128x16]
« le: Vendredi 27 Janvier 2017, 09:42:59 am »
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.1


Version 0.2


Mis à jour en version 0.3


Changelog

-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-dWqf6M

Exemple 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:kusAAOSwA3dYJxeQ

On 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éma




Logiciel

Le logiciel de programmation est l'Arduino IDE disponible ici:
https://www.arduino.cc/en/main/software
Il 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.zip


Logiciel 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 BMP2DMD



j'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


Hors ligne Iro

  • Alias le Rouston Masqué
  • Staff
  • Dieu de l' Arcade
  • *****
  • Messages: 17420
  • Iro, chevalier Judaï
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #1 le: Vendredi 27 Janvier 2017, 10:08:15 am »
Waouh , super !!!
File les sources, je vais les mettre à disposition sur GAMO

On attend le suite du tuto   :-)= :-)=
<:)
"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF

LES TUTOS DE GAMO   

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #2 le: Vendredi 27 Janvier 2017, 10:38:30 am »
Je fais une mise au propre du code ce soir et je t'envoie ça. Redonne moi ton mail par MP  ;)

Hors ligne Manu2

  • Grand Pilier
  • *
  • Messages: 978
    • Voir le profil
    • flipper-fr.org
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #3 le: Vendredi 27 Janvier 2017, 12:57:28 pm »
Alors, ça, c'est top !  :-)=

Comme je n'y connais rien, je vais peut-être poser des questions connes : ça peut marcher en dehors du branchement sur un pc ? Il y a une mémoire qui retient l'heure si on l'éteint ?

Merci pour tes réponses.
Recherche backglass de Eight Ball Deluxe - limited edition, carte echo de Centaur, carte stroboscope de Flash Gordon.

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #4 le: Vendredi 27 Janvier 2017, 16:53:43 pm »
Sur la vidéo, le pc ne sert que d'alimentation. En définitive, il y aura un petit transfo 5 volts. La RTC DS3231 est fournit d'origine avec sa pile qui maintient la date et l'heure en cas d’extinction.

Hors ligne AsPiC

  • Admin
  • Dieu de l' Arcade
  • *****
  • Messages: 7907
  • Present pour Koh Lanta Retrogaming Party 2069 !
    • Voir le profil
    • Mon compte Instagram !!
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #5 le: Vendredi 27 Janvier 2017, 18:38:51 pm »
:kikitoutdur: :-*

Moi c'est surtout la partie commande de l'affichage que j'aimerais bien comprendre, le but pour moi serait de générer mes propres animations sans être tributaire de fichier à trouver sur internet. C'est possible ?

Recherche tout élément de Jeutel Galaktron - "AsPiC c'est : no WIP but just RIP" - kos71 2014

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #6 le: Vendredi 27 Janvier 2017, 19:59:43 pm »
Oui, c'est possible même si je continue de réfléchir à la meilleur option. Je vous ferais un topo sur les idées que j'ai pour le moment.

Hors ligne el_nino

  • Beta Testeur
  • *
  • Messages: 2048
    • Voir le profil
    • Mon nouveau blog JV :
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #7 le: Vendredi 27 Janvier 2017, 21:22:04 pm »
ah ça me plait votre histoire, Go Go Go  :-)=
Mes blogs :
Vide grenier, Import, Arcade - http://doudougomgom.blogspot.fr/
Système Lindbergh : http://sega-lindbergh.blogspot.fr/
Système NAOMI : http://arcade-sega-naomi.blogspot.fr/

Hors ligne EK-TOMB

  • Addict
  • *
  • Messages: 339
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #8 le: Vendredi 27 Janvier 2017, 21:42:19 pm »
bonjour, moi aussi ça me plait et c'est dans un budget raisonnable  :-*

Hors ligne vintage76

  • Arcade Killer
  • *
  • Messages: 2833
  • Président de la C.O.G.I.P
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #9 le: Vendredi 27 Janvier 2017, 21:56:20 pm »
Finally sir aganyte has come back home  :-*
Super projet de notre inventeur fou préféré.

A titre d'infos 64-16 ça fait combien en cm ? Parce que ça me plairait bien un truc comme ça discret.
======================================
vive le pouvoir de la carotte
Gloire a carotte au plus haut des cieux
======================================
Membre 144 du "All japan cocktail cabinets fans"
======================================
Cocktail Sega vic / Cocktail Karateco / Sega Naomi sitdown.

Hors ligne lipide512

  • Grand Pilier
  • *
  • Messages: 959
  • Bonheur Pixel Perfect !
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #10 le: Vendredi 27 Janvier 2017, 21:59:09 pm »
Plus que raisonnable, c'est juste WOW !  :-*
Fichier INO attendu avec grande impatience ! :)  :-)=
THX !!

Hors ligne Joe Gillian

  • Confirmé
  • *
  • Messages: 126
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #11 le: Vendredi 27 Janvier 2017, 22:31:53 pm »
Alors la je dit bravo   ^-

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #12 le: Samedi 28 Janvier 2017, 00:29:46 am »
A titre d'infos 64-16 ça fait combien en cm ? Parce que ça me plairait bien un truc comme ça discret.

Tu peux facilement ne connecter qu'une seule dalle et n'envoyer des infos que sur cette dernière.

Après, il faut savoir qu'il existe différents diamètres de led pour la fabrication de ce type de dalle. Ces deux modèles ont la même résolution mais pas du tout la même taille.

122x488mm

304x76mm

Hors ligne aganyte

  • ✌(◕‿◕)✌ Donateur 2018 WIPeur compulsionnel
  • Dieu de l' Arcade
  • *
  • Messages: 5057
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #13 le: Samedi 28 Janvier 2017, 00:39:27 am »
J'ai envoyé le code source de la version 0.2 à Iro. Voici la vidéo correspondant à cette version (le programme occupe 29% de la mémoire)


Hors ligne Little_Rabbit

  • Arcade Myth
  • *
  • Messages: 4660
  • The early 80's : the arcade golden age !!
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #14 le: Samedi 28 Janvier 2017, 10:55:59 am »
Salut,

Superbe !  :-*

Sur cette nouvelle version, le frame rate est bien meilleur que la précédente non ? Les anims font beaucoup plus fluides.

J'aime beaucoup les transitions que tu utilises pour passer de l'affichage de l'heure ou de la température à l'animation suivante, c'est très chouette !

Bravo pour ce développement express !  ^-^

A+
Recherche dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Xenon, Baby Pac Man, Gottlieb des années 80 (Spirit, Amazon Hunt, ...). Divers :  Ice Cold Beer
Trois fois rien quoi ! :D

Hors ligne supercarotte

  • Porteur de Strings
  • Arcade Reference
  • *
  • Messages: 3504
  • Par le pouvoir du string ancestral !
    • Voir le profil
[Tuto] La DMD Clock du pauvre (Data East Tritube)
« Réponse #15 le: Samedi 28 Janvier 2017, 11:29:53 am »
Elle est toute buggée ton horloge, elle indique freeze alors qu'il fait 18,7°   :D :fleche:
Bornes: Out Run DX, Super Hang On DX, ThunderBlade DX, Enduro Racer DX, RoadBlasters DX, Space Invaders, Discs of Tron, SuperSprint, Hang On, Pacmania, Rolling Thunder, Marble Madness, Blasteroids, Super Off Road, Rampage, NBA Jam TE, Operation Thunderbolt, Power Drift, Street Fighter, Jurassic Park Lost Word, Monaco GP, twin Sega Rally, CrazyTaxi, Harley Davidson + Aero City, Jaleco Pony // Cocktails : Missile Command, Galaxian, Nintendo DK // Flip : Creature FTBL, Revenge from Mars, The Machine BOP, Elvira ATPM, Class of 1812, Swords of Fury