Réalisation d'un Mire à l'aide d'un Arduino Uno

Bonjour,
Je vous propose une réalisation personnelle d’une Mire N/B personnalisable en injection direct ou via un modulateur composite vers RF pour nos vieux téléviseurs.

Câblage de l’Arduino :

Le pont diviseur peut être changé en fonction de la tension crête crête d’attaque choisie.

Configuration de l’Arduino :

Télécharger la librairie TV OUT de l’Arduino :

https://downloads.arduino.cc/libraries/github.com/Avamander/TVout-1.0.1.zip

Programme (1) :

#include <TVout.h>
#include <A vous de mette le chemin vers \fontALL.h>
#include <A vous de mette le chemin vers\car.h>
const int inputPin = 0;
const int scalePin = 2;
const int samplePin = 3;
TVout TV;

void setup() {

TV.begin(_PAL,120,96);
TV.select_font(font4x6);
TV.clear_screen();
TV.print(10,10,« DOC_TSF »);
TV.delay(5000);
TV.clear_screen();
TV.bitmap(10,10,car);
TV.delay(40000);

}

void loop() {
// A vous de mettre votre programme

}

Sous - Programme (1) :
Nommez le fichier car.cpp

#include « car.h »

PROGMEM const unsigned char car[ ] = {

120,96,

0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x00,0x02,0x00,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x00,0x02,0x00,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x18,0x30,0x41,0x82,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x00,0x02,0x00,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10
,0x00,0x00,0x40,0x02,0x04,0x10,0x20,0x81,0x02,0x08,0x10,0x40,0x81,0x04,0x10

};

// Si vous souhaitez mettre l’image de la mire a affiché de votre choix en Hexa. personnellement j’utilise
// Convert picture to C code array et inserer le code dans car.cpp.

Sous-programme 2:

Nommez le car.h

#include <avr/pgmspace.h>

#ifndef CAR_H

#define CAR_H

extern const unsigned char car[ ];

#endif

Enfin pour le sous programme 3 (font4x6.cpp) vous sera peux être demandé par IDE a vous de mettre le chemin du fichier de la librairie TVOUT. EX: C:\Users\Utilisateur\Documents\Arduino\libraries\TVout\TVoutfonts\font4x6.cpp.

Si vous souhaitez faire de l’affichage en 819 lignes je serai ravi de vous répondre pour faire la modif.

Pour plus d’information je serai ravi de vous répondre.
:upside_down_face:

1 « J'aime »

Bonjour,
Je serais aussi ravi d’avoir votre réponse sur le fonctionnement en 819 lignes.
Yannick

Pour le 819 lignes je modifie directement la librairie TVOUT
Documents\Arduino\libraries\TVout\spec\video_properties.h
Et je modifie les timings ex:PAL
#define _TIME_VIRT_SYNC 55
#define _PAL_TIME_SCANLINE 96
#define _PAL_TIME_OUTPUT_START 10

#define _PAL_LINE_FRAME 409
#define _PAL_LINE_START_VSYNC 0
#define _PAL_LINE_STOP_VSYNC 7
#define _PAL_LINE_DISPLAY 260

A vous ajustez les timings en fonction du rendu.

NB: Il faut téléverser le programme dans l’Arduino à chaque modification du fichier video_properties.h

Cela veut dire que nous pouvons également générer une mire 405 et 441 lignes ?

Oui il faut jouer avec les timings mais c’est faisable

Bonjou ced_tsf
Peut-on avoir une image du rendu sur un tv ou moniteur ?
Yannick

Bonjour Yannick,
Le signal vidéo est un signal composite donc oui du moment que vous faites soit une injection direct (TV sans entrée) ou via une entrée composite sur une TV concernant un moniteur c’est possible enfin l’image est un bien grand mots vous ne pourrez pas codé des images trop complexe seul des motifs simples et en N/B sont réalisable.
394f4eb5263df6e878da5b7f4aebe3aa

Oui bien sur.
Pouvez vous nous montrer le résultat obtenu sur un tv ou moniteur même si votre image est tres simple.
Qu’en est-il de la synchro ?
Yannick

J’ai fait ça vite fait il faut affiné la définition pour remplir l’écran concernant la synchro dans la librairie PAL et NTSC sont disponible sans modif après on peut modifier les timings en modifiant la librairie (voir message plus haut).

Merci ced_tsf
Un arduino uno R3 ?
Bon dimanche.

Oui un R3 fera le travail

Parfait, j’en ai deux sur l’étagère.
Je vais regarder cela après avoir traité les autres bidouilles en cours.
A bientôt

1 « J'aime »

Je me suis procuré une carte Arduino Uno R3 à Saint-Quentin Radio.
Je suis intéressé de faire ma mire, mais pour cela, j’aurais besoin du programme intégral pour que je puisse l’étudier en détail ainsi que faire des modifs.
Merci.