Auteur Sujet: Réalisation d'un générateur de mires avec un Arduino  (Lu 451 fois)

Hors ligne olc

  • Pensionnaire
  • *
  • Messages: 38
    • Voir le profil
Réalisation d'un générateur de mires avec un Arduino
« le: Dimanche 01 Novembre 2020, 22:59:49 pm »
  • Modération : Sujet scindé depuis  Etude/Réalisation d'un générateur de mires 15/24/31 kHz de gc339

    Mon MTC900 est démonté pour dépannage, je souhaitais en profiter pour refaire les réglages. Du coup, j'ai entrepris de réaliser un équivalent du générateur de mlre de @gc339 sur une base Arduino Uno (je me limite au 15 KHz pour l'instant). Sauf que je tourne en rond sur un problème de synchro : j'ai vérifié et revérifié dans tous les sens et je ne vois pas où est le problème.



    Voici quelques screen shots des timings mesurés à l'analyseur (affichage de lignes blanches, pour faciliter les mesures) :







    Niveau électronique, mon moniteur de test (un BVM Sony) est connecté directement aux sorties de l'arduino.

    Si quelqu'un à une idée ... :) Merci d'avance !
    « Modifié: Mardi 03 Novembre 2020, 22:05:08 pm par AsPiC »

    Hors ligne kaneda56

    • Pink Lover et Tassimo Buveur
    • Historical Gamer
    • *
    • Messages: 4273
    • Localisation: Paris, Chinatown
    • Je pratique le bukkake sur Tibo
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #1 le: Lundi 02 Novembre 2020, 09:21:14 am »
  • Alors je suis loin d’être spécialiste, mais il n’y a pas une spécificité du BVM au niveau de la synchro justement? Tu as essayé sur un moniteur différent?

    "Arrête de te croire fort avec tes roll cancel!!!"
    Paroles de Sac

    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #2 le: Lundi 02 Novembre 2020, 10:30:28 am »
  • Non, mais je n'ai aucun problème avec mes PCB (outrun, streetfighter, ...) & pandora box, mire d'un convertisseur CGA etc... et lorsque je compare les signaux à l'analyseur je n'arrive pas à voir ce qui diffère vraiment (à part que chacun semble faire un peu à sa sauce). Cela dit, il y a p-e des subtilités par rapport aux niveaux électriques mais j'ai testé différentes configs sans que cela change quoi que soit au problème.

    Cette nuit, je me suis demandé si je ne serais pas passé à côté de qq chose d'évident relative au mode entrelacé. Je vais creuser de ce côté là.

    Merci en tout cas pour ta réponse.

    --
    Olivier

    Hors ligne gc339

    • Game Cheater
    • *
    • Messages: 2280
    • Localisation: Lyon
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #3 le: Lundi 02 Novembre 2020, 10:58:09 am »
  • Bonjour à tous.

    Le programme de l'Arduino est écrit en langage Arduino ou en assembleur?
    Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard



    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #4 le: Lundi 02 Novembre 2020, 11:14:56 am »
  • En assembleur, impossible sinon de respecter les timings (je donnerai le source quand il sera un peu stabilisé).
    « Modifié: Lundi 02 Novembre 2020, 11:20:35 am par olc »

    Hors ligne gc339

    • Game Cheater
    • *
    • Messages: 2280
    • Localisation: Lyon
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #5 le: Lundi 02 Novembre 2020, 12:32:25 pm »
  • je me suis demandé si je ne serais pas passé à côté de qq chose d'évident relative au mode entrelacé.

    Le mode entrelacé est plus sophistiqué que le mode progressif car le nombre de lignes dans une image doit être impair. Ceci impose qu'une impulsion trame sur deux débute au beau milieu d'une ligne alors qu'en mode progressif elles sont toutes synchrones avec l'impulsion ligne.

    Pour une mire simple, le mode progressif suffit, les trames sont toutes identiques car elles comportent toutes le même nombre de lignes, les impulsions d'égalisation ne sont alors plus nécessaires.
    Le nombre de lignes par image est donc égal à celui d'une trame quelconque, c'est pour cela que la fréquence ligne en VGA est le double par rapport au CGA entrelacé afin d'obtenir la même définition verticale.


    Détails pour 525 lignes entrelacées et 30 images/seconde.




    « Modifié: Lundi 02 Novembre 2020, 14:41:28 pm par gc339 »
    Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard



    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #6 le: Lundi 02 Novembre 2020, 14:04:52 pm »
  • OK, merci beaucoup pour l'explication, c'est très clair. C'est en relisant une doc que j'avais eu un doute ... je commence à tout mélanger à force de tourner en rond !

    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #7 le: Lundi 02 Novembre 2020, 22:24:46 pm »
  • En mesurant au scope, j'ai constaté un peu de « gigue » sur les signaux qui ne se voit pas à l'analyseur logique. Je vais regarder du côté des timers que je n'ai pas désactivé, avec un peu de chance cela pourrait expliquer ces « glissements » de phase.

    --
    Olivier

    Hors ligne spectroman

    • alias Tondu
    • Staff
    • Game Cheater
    • *****
    • Messages: 2369
    • Localisation: aubagne
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #8 le: Lundi 02 Novembre 2020, 23:28:25 pm »
  • C'est quel arduino que tu utilises?


    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #9 le: Mardi 03 Novembre 2020, 19:13:09 pm »
  • Bon, et bien c'était définitivement les timers ! Une fois les interruptions globales désativées avec l'instruction `cli`, tout est rentré dans l'ordre. Pas mal de temps de perdu mais cela m'a permit de sécouvrir que mon scope avait une fonction très pratique pour synchroniser l'affichage sur une ligne en particulier ! :)

     

    Je vais continuer le développement afin d'ajouter les autres mires.

    @spectroman: un uno et un nano, avec une horloge à 16 MHz, qui permet de générer des patterns pour le 15 KHz. J'ai approvisionné un Arduino Due cadencé à 84 MHz, histoire d'essayer d'aller jusqu'au bout de la démarche tel que l'a fait gc339 à l'époque. Les Arduinos sont peu chers et on les trouve facilement, cela pourra peut-être rendre service à d'autres membres du forum.
    « Modifié: Mardi 03 Novembre 2020, 21:54:58 pm par olc »

    Hors ligne AsPiC

    • Admin
    • Dieu de l' Arcade
    • *****
    • Messages: 8762
    • Localisation: Les Herbiers (85)
    • Present pour Koh Lanta Retrogaming Party 2069 !
      • Voir le profil
      • Mon compte Instagram !!
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #10 le: Mardi 03 Novembre 2020, 22:06:34 pm »
  • Bonjour olc, j'ai scindé tes posts du sujet initial car je penses qu'il intéresse pas mal de monde et je suis sûr que tu va nous partager tes avancés afin que l'on puisse faire comme toi :) ^-^


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

    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #11 le: Jeudi 05 Novembre 2020, 19:46:05 pm »
  • Très bonne idée, Merci AsPiC. Je suis un peu débordé en cette semaine, mais je ferai part de mes avancées sur ce fil dès que possible.

    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #12 le: Dimanche 08 Novembre 2020, 11:46:26 am »
  • Bonjour,

    Une première version, capable de générer une mire composée de 8 bares de couleurs verticales en 15 KHz est disponible. Cela doit fonctionner sur tout Arduino cadencé à 16 MHz (testé sur Uno et Nano).

    Le source en assembleur est accessible sur github: https://github.com/olc/arduino-rgb-pattern-generator/tree/main/15khz_pattern_generator
    Il suffit d'ouvrir le projet avec l'IDE Arduino afin de compiler puis transférer le programme.



    Je vais maintenant ajouter d'autres mire, en prenant modèle sur le développement de gc339 dans son projet à base de micro-contrôleur Parallax.

    Hors ligne tilowil

    • ✌(◕‿◕)✌ Donateur 2021 Brouettes Master's
    • Staff
    • Arcade Kingmaster
    • *****
    • Messages: 4056
    • Localisation: 27
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #13 le: Dimanche 08 Novembre 2020, 20:55:46 pm »
  • Salut,

    J'aime beaucoup l'idée. Je suis ta progression avec interet.  ^-^

    j'avais trouvé un exemple avec un Attiny2313, mais je prefère un arduino.

    A+
    « Modifié: Dimanche 08 Novembre 2020, 21:04:31 pm par tilowil »

    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #14 le: Dimanche 15 Novembre 2020, 19:46:48 pm »
  • Le générateur de mire Arduino est désormais capable d'afficher une grille en plus des bares de couleurs. Le passage d'une mire à la suivante se fait grace à un bouton poussoir connecté à PB0.


    Hors ligne olc

    • Pensionnaire
    • *
    • Messages: 38
      • Voir le profil
    Réalisation d'un générateur de mires avec un Arduino
    « Réponse #15 le: Mercredi 18 Novembre 2020, 19:06:41 pm »
  • Ajout d'une troisième mire : croix. Enjoy! :)

    --
    Olivier