HARDWAREMONTAGES ★ INFORMATIQUE PRATIQUE : Un joystick proportionnel ★

Informatique pratique - Un joystick proportionnel|Science&Vie)Hardware Montages

Sur un joystick conventionnel la position de la manette ne commande que la direction de déplacement du curseur, ou du joueur, sa vitesse restant liée au programme. Dans notre cas, au contraire, nous utiliserons deux potentiomètres pour commander directement la position du curseur. L'un agira sur l'axe des X et l'autre sur celui des Y. Ainsi sa position sera directement fonction de celle des deux potentiomètres et sa vitesse de déplacement ne sera donc plus liée au programme. Comme illustration de cette propriété nous vous proposons de transformer, grâce à un petit programme très simple, votre ordinateur en ‘Télécran”. Ce jeu bien connu des enfants permet de tracer à l'aide de deux boutons des figures sur un écran effaçable. Cependant notre joystick proportionnel vous sera certainement beaucoup plus utile si vous l'utilisez pour commander les déplacements du joueur dans un programme de jeu de votre cru.

Le principe de fonctionnement de ce montage est des plus simples. Nous nous contenterons en effet de transformer la tension variable issue de chaque potentiomètre en une valeur numérique comprise sur un octet. Pour effectuer cette conversion, nous utiliserons deux convertisseurs ana-logiques-digital du type ADC 0804. L'un d'entre eux sera également utilisé comme générateur d'horloge et pilotera directement le second ; ceci simplifie le câblage de ce joystick. Enfin notons que nous avons deux valeurs à fournir à l'ordinateur: l'une concernant l'axe des X et l'autre celui des Y. Notre interface principale ne pouvant transmettre qu'une seule valeur à la fois, nous enverrons ces deux données alternativement. Pour cela, l'ordinateur demandera à l'interface de sélectionner l'octet à lui transmettre, et ce grâce à une instruction “OUT". En effet, si l'ordinateur envoie 254 (OUT 255, 254), il recevra l'octet concernant l'axe des X et s'il envoie 253 (OUT 255, 253) il recevra celui concernant l'axe des Y : tout ceci dans le cas où nous travaillons avec une machine équipée d'un Z80 (Sinclair par exemple).

5 BORDER 1:PAPER 0:INK 5:CLS
10 LET XP=0:LET YP=0
15 OUT 255,254
20 LET X=IN 255
25 OUT 255,253 30 LET Y=IN 255
ÎOO IF XP=0 AND YP=0 THEN GOTO 120
110 DRAW X-XP,(Y-YP)/1.5
120 PLOT X,Y/ 1.5
130 LET XP=X : LET YP=Y
200 GOTO 15

La réalisation de ce montage est également très simple : seuls deux circuits intégrés sont nécessaires, les deux convertisseurs ADC 0804. Le câblage de ces derniers sera, comme toujours, effectué en wrap-ping ainsi que leur connection au support 24 points nous servant de connecteur vers l'interface principale. Les potentiomètres seront reliés aux circuits à l'aide de fils de câblage classique. Précisons que si vous avez la fâcheuse tendance de malmener vos joysticks, nous vous conseillons vivement de prévoir des fils assez longs de manière à ce que tous les éléments électroniques soient en sécurité et que seuls les potentiomètres supportent vos humeurs.

Simplicité toujours avec le programme que nous vous proposons. Il permet, comme nous l'avons dit, d'effectuer des tracés sur l'écran à l'aide de notre joystick proportionnel. Voyons rapidement ses grandes lignes. Nous l'avons écrit ici sur Sinclair spectrum +2. La ligne 5 fixe simplement la couleur de l'écran, de son pourtour et du tracé. Nous prévoirons ensuite deux variables XP et YP que nous utiliserons par la suite pour le tracé. A la ligne 15 nous demanderons la valeur de X grâce à OUT 255,254 puis celle-ci sera attribuée à X en ligne 20. Nous pratiquerons de même pour Y aux lignes 25 à 30. Enfin, les lignes 110 et 120 effectueront notre tracé. Notons que pour le MO 5 la ligne 15 deviendra POKE 43006,254 et la ligne 20 : X = PEEK (43007). De même, les lignes 25 et 30 devront être remplacées par:

25 POKE 43006,253
30 Y = PEEK (43007)

Précisons que les valeurs fournies pour X et Y par notre réalisation seront comprises entre 0 et 255. Ceci ne correspond pas forcément au format de l'écran de l'ordinateur en mode graphique. Pour le Spectrum, par exemple, si cette gamme de valeur convient pour X il n'en est pas de même pour Y. C'est pourquoi, dans ce cas, nous appliquerons à Y un facteur correctif, 1,5 en l'occurence, lors de l'instruction PLOT de la ligne 120. Il nous reste à mettre en place
notre joystick. En premier lieu, avant de mettre l'ordinateur sous tension, l'interface principal lui sera connectée. Puis ce nouveau montage sera raccordé à l'interface grâce à notre connecteur. L'ordinateur sera alors mis sous tension et le programme frappé. Une fois RUN demandé, les tracés sur l'écran seront obtenus en agissant sur les potentiomètres. Rappelons que les lignes 15 à 30 de notre programme sont les seules indispensables au fonctionnement de ce joystick proportionnel. Vous pourrez donc les réutiliser pour les insérer dans un programme de votre choix.

/im4/sv840c2.jpg

Henri-Pierre PENEL , Science&Vie n°840

★ EDITEUR: Science&Vie
★ LICENCE: ???
★ ANNÉE: 1987
★ AUTEUR: Henri-Pierre PENEL
★ INFO: En réponse à un abondant courrier, nous vous rappelons que l'interface principale pour Z 80 a été publiée dans notre n° 824 de mai 86 et sa mise à jour dans le n° 834 de mars 87. Pour l'interface MO 5, les schémas ont été publiés dans le n° 831 de décembre 86.

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 041 millisecondes et consultée 364 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.