
Auteur : Coléry David
Professeur : Mr B. Hanssens
Année : 2ème Informatique
Table des matières.
2.2 Plaquettes pour les deux manettes.
3.2 Difficultés spécifiques au montage.
4.1 Analyse détaillée du fonctionnement.
c) Génération de la vidéo par le µC AVR
4.2 Simulation sur logiciels ou le rapport des essais.
4.3 Rapport personnel : modifications.
5.1 Analyse de chaque composant.
5.2 Vue des différents schématiques.
5.3 Vue des différents Boards.
5.4 Câblage des périphériques.
6 Manuel d’utilisation (Notice de fonctionnement)
6.1 Expliquer votre montage au client.
6.4 Pannes simples et solutions.
Dans le cadre du cours de laboratoire d’électronique appliquée, il nous est demandé de réaliser un projet. Après m’être documenté dans diverses revues présente à l’école, j’ai trouvé dans la revue « Elektor de Juin 2003 » un dossier sur un jeu électronique.
Cette réalisation ramène à la vie, à l’aide d’un microcontrôleur AVR d’atmel épaulé par une poignée de composants passifs seulement, un jeu vidéo rétro classique : le tennis sur téléviseur, Le « MAHPONG ».
Comme je cherchais un projet qui m’intéressait et qui me serait utile, et que je ne voulais pas réaliser un circuit qui n’aurait servit que de ramasse poussières, ce projet m’a directement plus dés que je l’ai découvert. Il m’a plus car c’est un jeu vidéo et que malgré le nombre restreint de composants sa complexité était suffisamment élevée pour le réaliser dans le cadre de ce cours.
- Résistances
R1=1kΩ 0.10€
R2=576Ω / Tolérance 1% 0.10€
R3=1k2Ω 0.10€
R4=820Ω 0.10€
R5=150Ω 0.10€
- Condensateurs
C1, C2, C3, C4 = 100nF 4*0.20= 0.80€
C5 = 10 µF/16V radial 0.20€
C6 et C7 =22pF 2*0.20= 0.40€
- Semi-conducteurs
D1 = diode 1N4148 0.15€
IC1 = régulateur 78L05 0.65€
IC2 = microcontrôleur AT90S8515 9.72€
- Divers
X1 = Quartz 8MHz 1.10€
Bt1 = pile compacte 9V+connecteur a pression 4.15+0.25= 4.40€
K1, K2 = embase Sub-D 9 points encartable en équerre mâle 2*1.30= 2.60€
K3, K4 = embase Cinch pour circuit imprimé RCACH90 2*0.85= 1.70€
K5 = embase mâle à 2 rangées de 5 contacts (HE-10) avec ergot de détrompage 0.25€
Embase femelle à 2 rangées de 5 contacts (HE-10) avec ergot de détrompage 0.30€
2 * S1 à S6 bouton-poussoir à touche contact ronde – Carrée(0.75/pc) 12*0.75= 9.00€
2 * Connecteurs Sub-D 9 points femelle CC005 2*0.65= 1.30€
2 * Capot sub-D 9 broches CC011(0.65/pc) 2*065= 1.30€
2 * Câble de connexion adapté pour les embases K1 et K2. 2*1.00= 2.00€
TOTAL= 36.37€

Vue de la plaquette telle que le créateur du jeu l’a réalisée.

Schématique du circuit électronique.
|
|
|
Schématique et boards nécessaires à la réalisation des manettes de jeu. Il est précisé dans le dossier d’elektor que ces manettes sont des manettes de commodore 64. Donc si vous en possédez, pas besoin de les fabriquer. Sinon, leur réalisation n’est pas très compliquée.
- Les dimensions par défaut pour la plaquette sont de 10cm sur 16cm.
- L’utilisation d’Eagle pour créer le board du circuit.
- Les difficultés spécifiques au montage sont peu nombreuses. En fait, elles se limitent à la programmation du microcontrôleur.
Le microcontrôleur est un PIC de marque ATMEL qui a une fabrication totalement différente au micro PIC de chez MICROCHIP. La difficulté sera donc la programmation. Pour résoudre les problèmes, en annexe, je vous fournis les schématiques nécessaires à la réalisation d’un programmateur, tout a fait compétent pour programmer ce microcontrôleur, ainsi que le programme complet pour réaliser ce jeu.
- Le résonateur peut être remplacé par un quartz de la même valeur sur lequel on place deux condensateurs de 22pF en parallèle (Voir dossier fabrication).
- L’embase K5 n’est nécessaire qu’à la programmation du microcontrôleur. Si vous possédez déjà un programmateur, vous n’en avez pas forcement besoin. C’est à vous de vérifier si vous devez programmer le pic sur cette plaquette ou pas.
Si au contraire vous devez réaliser le programmateur vous-même, reportez vous aux annexes : Soit vous adaptez les connections, soit vous allez visiter le site du fabricant (http://www.lancos.com/siprogsch.html) qui vous fournira les différents schématiques nécessaires pour les microcontrôleurs Atmel.
- En alimentation :
§ Une pile carrée de 9Volts pour alimenter le circuit
§ Une diode de protection au cas où on met la pile à l’envers.
§ C3, C4 condensateur de découplage pour éviter l’oscillation sur les bornes du régulateur.
§ Un régulateur 78L05 qui permet au pic d’être alimenté par la tension nécessaire à son utilisation et à sa programmation. Comme le circuit est alimenté par une pile de 9Volts et que le pic doit être alimenté en 5Volts on utilise le régulateur 78L05 qui rabaisse la tension à 5Volts.
§ C5 condensateur de filtrage
§ C1 condensateur de découplage pour éviter l’oscillation sur la patte d’alimentation du micro-contrôleur.
èCette alimentation permet au microcontrôleur de s’alimenter.
- K1 et K2 sont des embases sub D-9, qui servent à relier les deux manettes de jeux. Elles sont reliées au PORTA du microcontrôleur. Sur un manche de commande numérique, chacune des directions est dotée d’un interrupteur (contact) qui, lorsqu’il est activé (fermé), met à la masse la ligne de commande correspondante.
La résistance de forçage au niveau haut (pull up) intégrée dans le microcontrôleur permet une prise en compte fiable des mouvements des manettes.
- Les résistances R1 à R3 prises entre le microcontrôleur et K3 constituent, de pair avec les résistances de terminaison de 75Ω du téléviseur, un diviseur de tension.
- L’embase Cinch K3 permet la sortie du signal télé
- Coté sortie son sur l’embase K4, la tension de R4/R5 se trouve ramenée à une tension de l’ordre de 1Volt. On pourra jouer sur le volume par le biais de la commande correspondante sur le téléviseur. Si vous préférez une sonorité plus moelleuse vous pouvez ajouter le condensateur C2 en parallèle sur R5.
- Pic 90S8515 de chez Atmel. Ce PIC est l’élément central du circuit. Il possède tout le programme qui permet la génération du son et de l’image sur la télévision. C’est lui qui gère tout dans le circuit.
- Un résonateur 8MHz fournit la fréquence d’horloge.
Pour réaliser des calculs précis, on commencera par déterminer les courants devant être présents sur la résistance d’entrée de 75 Ω de l’embase CVBS du moniteur.
On en dérive les valeurs des différentes résistances :
R1 : Sync
Niveau de noir : 0.3V
Courant à fournir par la broche 14 (Sync) : 0.3 V/75 Ω = 4mA
Tension de sortie au niveau du port : 4.5 V à 4mA
Résistance total requise : 4.5 V / 4mA = 1 125 Ω
Résistance de limitation : 1 125 Ω -75 Ω=1 050 Ω (1kΩ)
R2 : PixelOut1
Niveau de gris clair : 0.8V
Courant fournit par la broche 28 : (0.8 V-0.3 V) / 75 Ω = 6.7mA
Tension de sortie au niveau du port : 4.0 V à 6.7mA
Résistance totale requise : 4 V / 6.7mA = 600 Ω
Résistance de limitation : 600 Ω - 75 Ω = 525 Ω(580Ω)
R3 : PixelOut0
Niveau de gris foncé : 0.5V
Courant fourni par la broche 24 : (0.5 V-0.3 V) / 75 Ω=2.7mA
Tension de sortie au niveau du port : 4.6 V à 2.7mA
Résistance totale requise : 4.6 V / 2.7mA = 1 700 Ω
Résistance de limitation : 1 700 Ω-75 Ω = 1 625 Ω (1.2kΩ)
De ce fait, le gris foncé s’éclaircit quelque peu mais reste encore parfaitement distinguable du gris clair.
Ce jeu se base sur
a) Un programme sophistiqué qui comprend les modules principaux suivants :
§ La routine de RAZ (Reset) et d’initialisation initialise les directions et les niveaux des lignes du port d’E/S et se charge du déroulement des opérations au cœur du microcontrôleur.
§ Le programme principal attend les informations de sélection de jeu et accède, régulièrement en cours de jeu, à la routine de jeu.
§ La routine de jeu PLAYPONG est synchronisée avec la sortie écran et attend, après avoir été appelée, le lancement d’une nouvelle image (VSYNC). On procède ensuite à l’interrogation des paramètres de jeu et on calcule, à partir de ces informations, la position des raquettes. La première étape consiste à effectuer une recherche d’obstacles sur la trajectoire de la balle. En l’absence d’obstacle, la balle se déplace en ligne droite. Si la balle rencontre un objet elle subit une déviation (angle d’impact = angle de rebond) et repart dans l’autre direction. On s’assure en outre si la balle a ou non touché un mur en fin de court. Si tel est le cas, on a remise à jour du score. Un contact de balle est accompagné d’un signal sonore dont les caractéristiques dépendent de l’objet touché. Lorsque l’un des joueurs a atteint le score correspondant à une victoire, un écran spécial vainqueur apparaît.
§ La routine d’interruption TMR0 de génération du signal vidéo tourne parallèlement au processus principal. L’organisation chronologique du système prend une importance capitale pour le bon fonctionnement de l’affichage vidéo. Il va sans dire qu’il ne saurait être question d’interrompre ou de retarder de quelque façon que ce soit la routine vidéo. Cela signifie qu’il ne peut y avoir qu’une unique routine d’interruption (à savoir la routine vidéo) et que c’est cette dernière qui attribue au programme d’application son temps de calcul.
A ces routines s’ajoutent encore
§ Un ensemble de fonctionnalités pour l’écriture et la lecture de la mémoire d’écran.
§ Un ensemble de fonctionnalités de démarrage du son, de sa génération et de son arrêt.
b) Les surprises du CVBS
La norme VBS (VBS pour Video, blanking et Synchronisation en anglais) définit la visualisation d’images noir et blanc et a servi de base pour les versions évoluées de cette norme telles que CVBS (Color) ou PAL. Une image VBS est constituée de 625 lignes d’une durée de 64µs. De ce fait, la durée de visualisation d’une image est de 40ms, ce qui se traduit par une fréquence de rafraîchissement (d’image) de 25Hz. Pour éviter le scintillement de l’image on utilise un processus d’interlaçage au cours duquel on écrit alternativement des demi-images constituées l’une des lignes paires, l’autre des lignes impaires.

Le signal vidéo VBS transmet sur une seule et même ligne tant l’information de synchronisation que de luminosité. Le niveau de signal VBS se promène entre 0 et 1V. La ligne de signal VBS est terminée à 75Ω par le moniteur. Ce que l’on appelle le palier du noir se situe à 0.3V. Tous les niveaux de gris se situent entre 0.3 et 1V. Le moniteur interprète tout au niveau de signal de 0V comme étant un signal de synchronisation.
L’impulsion de synchronisation horizontale (HSYNC) de 4.7µs signale le début d’une ligne. Le moniteur interprète une impulsion de 160µs comme étant une impulsion de synchronisation verticale.
Chaque demi-image comporte 312.5 lignes (625/2). Sur le chronogramme suivant ;

On constate, sur la première demi-image, que VSYNC et HSYNC débutent au même instant, mais qu’elles sont décalées d’une demi-image. Cette différence permet au moniteur de différencier les 2 demi-images et ainsi de les visualiser correctement.
La figure suivante représente la structure vidéo VBS.

La ligne débute en aval du palier arrière (le bord droit invisible de l’image). L’impulsion HSYNC indique au moniteur le début d’une nouvelle ligne. On trouve ensuite le palier avant (le bord gauche invisible de l’image). Ce niveau de signal constitue la référence pour les endroits les plus sombres du signal d’image en aval. Le domaine actif contient le signal d’image proprement dit (ici un escalier de niveaux de gris).
c) Génération de la vidéo par le µC AVR
Le module de graphisme qui effectue son travail sans que le programme utilisateur ne le remarque vraiment requiert une part importante de temps de calcul disponible. Cependant, si l’on envisageait de mettre le processus de génération d’image dans une routine d’interruption, cela n’aurait pour effet que de ralentir le programme utilisateur sans que celui-ci ne prenne conscience du labeur intense prenant place en arrière-plan.
Commençons par nous intéresser à la mémoire d’image. L’AVR dispose de 512 octets de SRAM, ce qui suffit pour mémoriser une surface de 48 x 30 pixels en 4 niveaux de gris (2bits :00=noir, 01=gris foncé, 10=gris clair et 11=blanc). Il nous reste même dans ces conditions 152 octets pour la pile et la mémoire de variables.
Le décompte débute en haut à gauche avec les coordonnées 0 :0. Chaque octet correspondant à 4 pixels, la valeur haute/basse de la luminosité est répartie sur les 2 quartets (un demi-octet). La mémoire d’image est constituée d’un bloc.
Une ligne vidéo se compose d’une partie active d’une durée de 52µs. Dans le cas d’une résolution horizontale de 48 pixels on dispose de l’ordre de 1µs seulement par pixel. La durée de cycle de l’AVR est de 125ns, ce qui implique qu’il faut, en 8 cycles, indiquer l’adresse de mémoire d’image, charger la valeur de gris de la mémoire d’image et positionner les lignes de port correspondantes.
Le code reproduit ci dessous constitue, pense l’auteur, l’approche la plus rapide pour transférer des données de pixel vers un port.

On y voit comment sont combinés les temps d’exécution différents des différentes instructions en vue d’écrire très précisément un pixel par bloc de 4 cycles. Cet extrait montre que l’AVR est capable, en continu, de visualiser un pixel tous les 4 cycles (500ns). Techniquement et mathématiquement, une telle vitesse devrait permettre une résolution horizontale plus faible adoptée, chaque bloc d’écriture/ de décalage a été doté de 4 instructions NOP (No OPeration) de manière à ralentir la logique de décalage à 1µs par pixel.
En ce qui concerne la résolution verticale, le maximum possible correspond bien évidemment au nombre de lignes affichées. Pour des raisons de capacité de mémoire nous devons nous limiter, comme mentionné plus haut, à 48 x 30 pixels, une résolution supérieure pourrait être l’affaire de projets ultérieurs. Les pixels sont ici de forme carrée, ont une largeur de 1µs soit 8 cycles d’horloge et possèdent une hauteur de 16 lignes.
L’image vidéo a une taille de 48µs (des 52µs possibles) et une hauteur de 480 lignes (des 625 à notre disposition). Le contour noir ainsi créé permet une visualisation fiable de l’image visible sur toutes sortes d’écran (de télévision) quel que soit leur paramétrage.
Après avoir résolu le point critique du transfert vidéo, il nous reste encore à ajouter les signaux de synchronisation aux données des pixels. Un coup d’œil à la figure 4 (p 12) et on remarque que le processeur doit, au cours d’une ligne d’image, s’occuper des données des pixels et qu’il ne lui reste pas de temps pour faire quoi que ce soit d’autre. De ce fait, le contrôle au cours de la totalité du processus de génération d’image reste « aux mains » de la routine de service d’interruption TMR0 (T0-TSR). Lors du traitement des lignes noires du haut et du bas de l’écran la routine T0-TSR se contente de générer les signaux HSYNC. Ensuite, on quitte T0-TSR et le contrôle passe pendant 59µs au programme utilisateur qui a été interrompu. Comme le temporisateur a été paramétré à 64µs (une durée de ligne) la routine T0-TSR pourra être remise à contribution à temps pour l’impulsion HSYNC suivante.
Il faut malheureusement, lors de l’appel de la routine T0-TSR, tenir compte de ce que l’on appelle le temps de latence d’interruption. Ceci signifie que le CPU ne se laisse pas arrêter par une interruption lorsqu’il est en cours d’exécution d’une instruction machine. Bien au contraire, il mène à bien l’exécution de l’instruction démarrée, place sur la pile l’adresse de l’instruction suivante pour l’utiliser comme adresse de retour et ce n’est qu’ensuite qu’il passe au traitement de l’interruption (ISR = Interrupt Servicing Routine). La raison de ce mode d’opération est que l’AVR possède des instructions de durée d’exécution différentes. L’appel de ISR peut durer entre 4 cycles (minimum) et 7 cycles (maximum). Comme nos pixels ont une largeur de 8 cycles, cela signifie que la ligne d’image supérieure peut « trembloter » sur une largeur d’un demi-pixel. Pour cette raison, la routine d’interruption n’est plus quittée du début des 2 dernières lignes noires de la demi-image visible jusqu’à la fin de celles-ci. Toutes les durées situées à l’intérieur de cette plage sont interdépendantes par le biais de durées d’exécution d’instruction parfaitement calibrées.
Notre image vidéo comporte 480 lignes, l’image VBS étant elle constituée de 625 lignes. Nous mettons 4 lignes à contribution pour la compensation des durées de latence d’interruption. Le programme d’application dispose de 40ms, de quelque (625-480-4)*59µs=8 319µs. Ceci correspond à 20% environ de la totalité du temps processeur.
Le programme d’application dispose de 3 fonctions pour accéder à la mémoire d’image. PLOTSCREEN permet de copier dans la mémoire graphique une image (écran du titre ou surface de jeu vide) présente dans la mémoire Flash. La fonction SETPIXEL permet l’écriture d’un pixel possédant un niveau de gris donné en vue de représenter la balle ou les raquettes. La fonction GETPIXEL permet d’évaluer la valeur de gris d’un pixel ce qui permet, par exemple de détecter l’impact (collision) de la balle sur un obstacle.
d) Génération du son
L’auteur a ajouté une génération de sons sans trop de prétentions. C’est la borne Output-Compare-A-Pin (OC1A) du temporisateur à 16 bits, timer 1 qui est utilisée en tant que sortie son. Lorsque l’état du comparateur atteint la valeur du registre de comparaison A, on a inversion de la sortie son et remise à zéro du contenu du compteur. Le système de génération de sons comporte une liste de notes de musique (fréquence/durée) extensible.
Une fois lors de chaque création de demi-image, c'est-à-dire toutes les 20ms, le programme d’application fait appel à une fonction DOSOUND, fonction qui compare un compteur VSYNC à la durée de la note qui vient d’être jouée et qui passe, la cas échéant, à la note suivante. Les fonctions STARTSOUND et STOPSOUND permettent, à tout instant, de démarrer ou d’arrêter un nouveau morceau de musique.
Un régulateur sert à réguler ou stabiliser un potentiel sur sa broche de sortie. Il peut être fixe ou réglable (il dispose alors d’une vis de réglage 25 tours) et être positif ou négatif par rapport à la masse (ex: 7805 positif avec en sortie +5V et 7905 négatif avec en sortie -5V).
Symbole :

Le montage d'un régulateur est très simple, la patte 1 est l'entrée, la patte 2 se branche à la masse et la patte 3 est la sortie.
Il faut éviter d'alimenter l'entrée avec une tension trop forte par rapport à la sortie pour éviter qu'il ne chauffe pour rien, de préférence 2 à 4 volts en plus.
Les deux derniers chiffres indiquent généralement la tension de sortie, 7805 pour 5V ; 7812 pour 12V.
La série 78xx indique une sortie positive par rapport à la masse et la série 79xx indique une sortie négative.
Le « L » est utilisé pour les boîtiers TO 92 , Imax 100mA

Le « T » est utilisé pour les boîtiers TO220, Imax 1,5A

Le
« K » ou « CK » pour des boîtiers TO3, Imax

b) Le résonateur
Le résonateur fournit une fréquence d’horloge de 8MHz au PIC. Si vous ne possédez pas de résonateur, vous pouvez utiliser un quartz de même valeur avec deux condensateurs de 22pF en parallèle. Le résonateur en céramique contient déjà les condensateurs mentionnés comme montrés sur le schéma suivant, mais contrairement à l'oscillateur il possède trois arrêts au lieu de deux). La vitesse à laquelle le microcontrôleur opère c’est-à-dire la vitesse à laquelle le programme fonctionne dépend fortement de cette fréquence d'oscillateur.

c) Les QUARTZ
Descriptions
|
photo d' un quartz naturel . |
|
Le quartz est composé de silice Si O2, qui est une matière minérale , une fois taillé en fine lamelle le quartz présente la particularité d'être piézo-électrique. Généralement incolore on peut le trouver dans la nature mais on l'obtient maintenant surtout par synthèse dans l'industrie.
|
|
photo de divers quartz . |
Symboles

Quartz horloge
Voici quelques boîtiers :



Pour les Quartz horloge à résonance parallèle. Fonctionnement en mode
fondamental ou harmonique (3, 5 ou 7). Tolérance: ±30 à ±50 ppm.
Capacité de charge: 30 pF (12.5 pF pour 32.768 kHz)
Types de boîtiers :
|
MINI pour la fréquence de 32.768 kHz. |
Boîtier TC38 |
|
|
HC33/U avec sorties à fils pour 1 MHz |
Boîtier |
|
|
HC49/U ou HC18/U pour les autre fréquences jusqu' a 48 MHz |
Boîtier HC49/U |
|
|
|
Boîtier HC18/U |
|
|
Boîtier bas profil |
Boîtier |
|
Composition

La lamelle de quartz se déforme sous une tension électrique à cause des charges électriques. Un quartz se connecte avec deux broches qui alimentent les électrodes de part et d’autre du cristal .Sur le support un isolant permet de maintenir les broches, le tout est encapsulé dans un boîtier métallique. Si un quartz est placé dans un circuit électronique résonant il va osciller à une fréquence dépendante de ses dimensions (plus la fréquence croît, plus la lamelle est mince). Pour des fréquences allant jusqu'à 30 MHz, le quartz oscille sur sa fréquence fondamentale, au dessus il faudra utiliser un quartz taillé pour une fréquence plus basse et on le fera osciller sur une harmonique.
Une fois le circuit imprimé terminé, nous allons réaliser toute une série de tests.
- Premier test : Regarder si l’alimentation fonctionne correctement c’est-à-dire
· Tester à l’entrée du régulateur, avec un multimètre, si l’on a bien les 9V DC fournit par la pile.
· Tester à la sortie du régulateur, si l’on a bien le 5V DC que le régulateur doit fournir.
- Second test : Vérifier toutes les soudures et vérifier en suivant le circuit, à l’aide du test de continuité du multimètre, si le signal passe comme il faut.
- Troisième test : Au niveau des manettes, vérifier que les boutons poussoirs sont dans le bon sens et que lorsque l’on appuie dessus le signal est bien envoyé à la masse.
-
Quatrième
test : A l’aide d’un oscilloscope, vérifier que le signal vidéo est
correct (Photo ci dessous)

-
Test
ultime : Brancher le circuit sur la télévision et si vous avez l’image
suivante c’est que tout fonctionne.

- J’ai supprimé de l’interrupteur S1 qui permet de laisser la pile branchée.
- J’ai également modifié les branchements des câbles des manettes pour pouvoir communiquer correctement avec le micro-contrôleur. (Voir dossier fabrication)
- J’ai créé mon propre résonateur en céramique de 8Mhz en utilisant un Quartz de la même fréquence et deux condensateurs 22pF.
BT1 : Pile de 9V qui alimente le circuit.
D1 : Diode 1N4148 qui sert à protéger le circuit d’une polarisation inverse
C3 et C4 : Condensateur de découplage qui sert à protéger le régulateur d’une oscillation.
IC1 : Régulateur 78L05 qui abaisse la tension de 9V fournie par la pile à une tension de 5V réclamée par le microcontrôleur.
C1 : Condensateur de découplage qui sert à protéger la borne d’alimentation du PIC contre les oscillations.
IC2 : Microcontrôleur AT90S8515, représente le cerveau du circuit. Grâce à un programme compliqué il permet la génération de l’image et du son.
K5 : Embase de 10 broches qui sert au branchement d’un programmateur pour pouvoir programmer le microcontrôleur sur cette plaquette.
K1 et K2 : Embase SUBD-9 qui servent au branchement des deux manettes de jeu.
R1, R2 et R3 : Résistances qui permettent de limiter la tension et le courant nécessaire pour les trois couleurs utilisées pour la génération de l’image.
K3 : Embase Cinch qui émet le signal vidéo
R4 et R5 : Forment un pont diviseur pour ramener la tension, aux bornes de la sortie du son, à 1V.
K4 : Embase Cinch pour le signal du son.
C2 : Condensateur qui permet d’avoir une sonorité plus « moelleuse ».
Q1 : Quartz de 8MHz qui remplace le résonateur mais qui a le même rôle, c'est-à-dire qu’il fournit la fréquence d’horloge.
C6 et C7 : Deux condensateurs de 22pF servent à remplacer les deux condensateurs internes du résonateur.

Schématique de la plaquette principale

Schématique des manettes
|
|
|
|
Vue du dessous |
Vue du dessus |
|
Board de la plaquette principale |
|
|
|
|
|
Vue du dessous |
Vue du dessus |
|
Board des manettes |
|
Les seuls périphériques à brancher sont les manettes. Cela peut sembler très simpliste, mais les boutons des manettes doivent être reliés à la bonne borne du PIC sinon le jeu ne fonctionnera pas.
Voici un dessin qui explique comment réaliser les câbles pour que les périphériques soient correctement reliés.

Ce circuit est un montage très simple. Il se résume en une paire de résistances et un microcontrôleur. L’alimentation est une pile de 9V plus communément appelée pile carrée. Sa tension de 9V étant trop grande pour le PIC, un régulateur se charge de la rabaisser à 5V. Les quelques condensateurs présents autour du régulateur sont là pour la protection de ce régulateur.
Les résistances présentes sur ce circuit possèdent des valeurs qui ont été au préalable calculées pour pouvoir fonctionner comme il le faut. Ces calculs – voir chapitre 4.1.2 – ont été réalisés par rapport à la résistance interne de votre téléviseur et aux différentes tensions utilisées dans ce dernier.
Le microcontrôleur est le cerveau de ce circuit : c’est grâce à un programme sophistiqué qu’il permet de générer les images et le son et qu’il gère les deux manettes.

Souvenez vous du temps où les consoles n’étaient pas aussi répandues dans nos foyers, où les jeux n’étaient pas aussi violents, où même vos parents y jouaient.
Pour les plus nostalgiques d’entre nous, voici le premier jeu vidéo qui a été créé. Vous y avez joué durant votre enfance et vous désirez que vos enfants y jouent à leur tour.
C’est maintenant possible grâce à
MAHPONG.
Tout d’abord brancher les deux manettes dans les embases prévues à cet effet. Ensuite brancher le circuit au téléviseur sur les bornes audio et vidéo.
Dés que tout cela est effectué vous pouvez brancher la pile dans le bon sens.
Dés la mise sous tension du montage on devrait voir apparaître à l’écran l’image de bienvenue.

Notons que la manette 1 permet même de sélectionner une variante de jeu : si l’on appuie sur le bouton droit de cette manette le jeu joué sera le tennis. Une action sur la touche gauche permettra de choisir un jeu que l’auteur a baptisé Soccer.
Ce choix se traduit en outre par un mouvement sensiblement plus lent de la balle et une action sur les touches gauche et droite permettra un déplacement latéral de la raquette.
Une fois que vous avez choisi le jeu auquel vous voulez jouer, il faut que les deux joueurs appuient vers le haut en même temps et le jeu se lance.
Si la balle entre en collision avec l’un des murs verticaux, le joueur se trouvant dans l’autre camp marque un point. Le premier joueur à marquer 21 points sera déclaré vainqueur de la partie, victoire visualisée à l’écran par une image créée à cet effet. Pour quitter cet écran de victoire, les 2 joueurs doivent mouvoir leur manette de jeu vers le bas.
Si rien ne s’affiche, vérifier que tout est branché correctement. Si tel est le cas, vérifier que la pile n’est pas « morte », tester avec une autre pile.
Si vous avez une image, mais que le signal n’est pas correct, c'est-à-dire que l’image n’est pas nette, c’est que vous avez branché les cordons sur les mauvaises bornes de votre téléviseur. Ce jeu fonctionne sur les fiches RCA Audio et vidéo et non sur la même prise que la télédistribution. Si votre télévision n’en possède pas, il devrait exister des adaptateurs dans le commerce.
Si vous n’avez toujours pas d’image malgré que tout est correctement branché et que votre pile est complètement chargée, vérifier que le microcontrôleur est bien placé dans le bon sens.
Si vous créez ce circuit vous-même, sachez que le microcontrôleur n’est pas vendu programmé, vous devez le programmer vous-même. Pour cela aller voir en annexe.
Pour tout renseignement supplémentaire, vous pouvez soit
- téléphonez au 069/xxxxxx ou au 0475/xxxxxx
- Envoyer un e-mail à l’adresse suivante : the_baby_boom@hotmail.com
Pour toute réclamation, envoyer une lettre expliquant correctement votre problème à l’adresse suivante :
Coléry David
Rue du Cache après
7012 Trou perdu
http://www.elektor.fr/dl/dl.htm
http://www.atmel.com/dyn/resources/prod_documents/DOC0841.PDF
http://www.national.com/pf/LM/LM78L05.html
http://www.international-electronics.be
· Le programmeur atmel que vous devez réaliser pour programmer le PIC.
|
|
|
|
Vue du dessous |
Vue du dessus |
|
Board du programmateur |
|
· Le code source du programme est téléchargeable sur ce lien.
· Les datasheets de quelques composants
§ Le microcontrôleur : AT90X8515.pdf
§ Le régulateur : 78L05.pdf