La “Piccola Enciclopedia del Joystick”

Nella storia dei videogiochi sono stati usati molti tipi diversi di sistemi di controllo. Quello più popolare è sicuramente il classico joystick, ma non si tratta certamente dell’unico.

Quella che segue è una breve storia (e una descrizione) dei vari tipi di joystick e degli altri sistemi di controllo per videogiochi, seguita da un approfondimento sul funzionamento di quelli per PC (del quale vi consiglio la lettura qualora aveste delle difficoltà a capire come funzionano i miei controlli autocostruiti).


Vari tipi di sistemi di controllo

Joystick digitali

Il tipo di joystick più comune usato con gli home computer è stato quello digitale “tipo Atari”, chiamato così proprio perchè fece la sua prima apparizione con la console Atari 2600. In seguito venne adottato anche da tutti i più famosi home computer dell’epoca (parliamo di anni ’80…) fra cui il VIC 20, il Commodore 64, lo Spectrum, i vari MSX e l’Amiga.

Il joystick è semplicemente una scatoletta con un’asta (stick) e un pulsante con i quali controllare i movimenti nel gioco. In questa versione il funzionamento è ottenuto utilizzando 5 interruttori temporanei, 4 dei quali corrispondono alle 4 direzioni della leva (su, giù, destra e sinistra) e l’ultimo è collegato al pulsante di fuoco. Questi interruttori sono normalmente aperti, ma quando l’asta viene spostata dalla sua posizione centrale, uno o due contatti vengono chiusi (a seconda della direzione del movimento). Il pulsante di fuoco funziona in modo che il contatto venga chiuso quando il pulsante viene premuto. Il cavo del joystick termina con un connettore femmina a 9 pin che ne consente il collegamento al computer.

Questo tipo di joystick viene definito come “digitale” in quanto fornisce solamente informazioni di tipo binario (0-1). Questo perchè lavora solo con interruttori, ovvero componenti che ammettono solo 2 stati: aperto o chiuso. Il joystick potrà quindi indicare, per esempio, se l’asta è al centro oppure se è a destra, ma non di quanto è a destra. Questo può essere un pregio o un difetto, a seconda del tipo di videogioco che si sta usando.

La nota positiva dei joystick “tipo Atari” è che erano standard e che erano disponibili molti modelli diversi realizzati da differenti costruttori. Purtroppo, però, la maggior parte erano costruiti in modo molto economico e tendevano a rompersi abbastanza rapidamente…

Paddle

Paddle è la definizione più comune per quei sistemi di controllo che, al posto dell’asta, sono dotati di una manopola da ruotare a destra o a sinistra. Questi controlli sono stati utilizzati nei primissimi videogiochi da collegare al televisore, nei quali si doveva muovere una racchetta per colpire una pallina che rimbalzava sullo schermo (Pong…).

I Paddle consistono semplicemente in una scatoletta dotata di un potenziometro (collegato alla manopola) e di un interruttore (il pulsante per tirare la pallina…). Si tratta del primo sistema di controllo ad utilizzare un principio di funzionamento analogico, in quanto il potenziometro (che è una resistenza variabile) permette di rilevare anche tutte le posizioni intermedie fra le due estremità del movimento.

Il segnale analogico deve comunque essere convertito in valori numerici per poter essere interpretato dal computer. Oggi esistono dei semplici convertitori A/D (analogue to digital) per questo scopo, ma nei primi anni ’80 questo genere di componenti erano costosi, difficili da trovare e difficili da usare, per cui si utilizzava un sistema diverso. La posizione del potenziometro veniva convertita in un’ampiezza d’impulso (pulse width) che poteva essere facilmente tradotta in numeri mediante un apposito chip “contatore” o una semplice routine software (loop). Questo sistema era economico, ma non molto accurato, soprattutto quando veniva utilizzato un loop software per la conversione.

Joystick Analogici

I joystick analogici possono essere considerati come un’evoluzione e un’integrazione dei concetti che stanno dietro ai joystick digitali e ai paddle. L’idea era di utilizzare dei potenziometri per misurare il movimento dell’asta del joystick (invece degli interruttori) in modo da rendere possibile un controllo più accurato della posizione, indispensabile per alcuni tipi di giochi come i simulatori di volo. I joystick analogici sono utilizzati dai computer Apple, dagli Amiga (almeno teoricamente…) e dai PC IBM, i quali dispongono di ingressi analogici per i joystick.

Oggigiorno il tipo più diffuso di joystick analogico è quello per i PC “IBM compatibili”, presentato dalla IBM stessa insieme al suo primo PC, che consiste in un semplice stick analogico con due bottoni. I bottoni sono i soliti interruttori temporanei normalmente aperti, mentre i potenziometri possono essere di vario tipo, anche se la resistenza utilizzata va sempre da 0 a 100 Kohm circa. Alcuni joystick usano potenziometri a movimento lineare (tipo cursore o slider), ma la maggior parte utilizza potenziometri rotativi. Questi, a loro volta, possono essere dei componenti speciali da 100 Kohm dall’escursione limitata a 60/90° (l’angolo di movimento massimo dello stick) oppure dei normali potenziometri da 470 Kohm e 270° di rotazione, utilizzati solo per 1/4 circa di escursione (da 0 a 120 Kohm). La qualità dei potenziometri che si trovano nei joystick in commercio, soprattutto quelli più economici, è spesso scadente e questo causa una scarsa precisione che peggiora ulteriormente con l’uso, rendendo presto il controllo inutilizzabile…
Nei joystick “di qualità” più moderni il problema dell’usura è stato risolto definitivamente sostituendo i classici potenziometri con dei rilevatori ottici di movimento, in grado di simulare (con una precisione “digitale”) il funzionamento di un comune potenziometro.

Altri tipi di controlli

Negli ultimi si è verificato un “boom” commerciale senza precedenti nel campo dei videogiochi per PC e questo fenomeno ha ovviamente portato le aziende a mettere in commercio molti sistemi di controllo di nuovo tipo. Questi sono i principali:

joypad: controlli per giochi di tipo arcade, fatti per essere tenuti in mano. Sono nati con le console (che per la loro natura di videogioco “da salotto” ben si prestano ad essere usati stando seduti in poltrona e quindi senza un’adeguata superficie sulla quale appoggiare un joystick tradizionale) e poi adottati anche dai PC. Funzionano come un joystick digitale, solo che al posto dell’asta hanno una rotella (o una croce) direzionale da pilotare con un pollice, premendola nella direzione desiderata. Ultimamente sono stati messi sul mercato alcuni joypad che dispongono anche di una modalità di funzionamento analogica, selezionabile in alternativa a quella classica digitale.

volanti: controlli analogici per giochi di corse automobilistiche, solitamente sono dotati anche di una pedaliera con freno e acceleratore.

controlli per simulatori di volo: qui si sono raggiunte le massime sofisticazioni, con un fiorire di cloche di ogni forma (da quelle “tipo F16” a quelle “tipo volante” per i simulatori civili) spesso abbinabili a controlli per la manetta e a pedali per il timone, fino ad arrivare a cruscotti in grado di replicare tutti i controlli di un vero aereo!

controlli con force-feedback: sono dei controlli tradizionali (joystick, cloche, volanti o addirittura joypad!) ai quali sono applicati dei motori elettrici che consentono di sviluppare un “ritorno di forza” comandato dal PC. In questo modo il comando può vibrare o diventare più o meno resistente in sincronia con quanto avviene all’interno del gioco (ovviamente se quest’ultimo supporta questo tipo di periferica) aumentando parecchio il realismo della simulazione. Si tratta di una tecnologia molto promettente ma per ora poco diffusa, principalmente a causa dell’alto costo dei pochi modelli attualmente sul mercato e dei pochi titoli interessanti in grado di sfruttarli.

Oltre a questi, ci sono anche altri controlli che hanno fatto brevi apparizioni sul mercato, ma con scarsissimo successo. Questo per vari motivi: a volte per il costo elevato (caschi e sistemi per la realtà virtuale), altre volte per la scarsità di giochi in grado di supportarli (pistole tipo light-gun) oppure semplicemente perchè erano fin troppo bizzarri perchè a qualcuno venisse in mente di comprarli (tipo i controlli a comando vocale o i caschetti che interpretano il movimento della testa…).


I sistemi di controllo per PC

In ogni caso, parlando di controlli per PC, è possibile fare una suddivisione in due principali categorie: quelli che funzionano utilizzando la normale porta joystick e quelli che sfruttano sistemi “alternativi”.

Utilizzo standard della porta joystick

La porta joystick dei PC è dotata di circuiti per la gestione di due joystick, anche se normalmente è dotata di un solo connettore per cui, volendo utilizzare due joystick contemporaneamente, occorre servirsi di un apposito cavo a “Y”. Alcune vecchie ed economiche schede joystick erano addirittura limitate alla gestione di un solo joystick, ma per fortuna ben difficilmente vi capiterà di averne una sul vostro PC…

Attualmente le porte joystick più utilizzate sono quelle messe a disposizione dalle schede audio, ma i giocatori più esigenti possono comunque decidere di comprarsi una scheda game dedicata. Queste schede sono generalmente di qualità migliore e, soprattutto, sono spesso dotate di un controllo per adattare il segnale del joystick alla velocità del computer (i velocissimi computer moderni, infatti, possono causare dei problemi di temporizzazione con una conseguente perdita di precisione nella lettura dei valori dei joystick). Le schede dedicate, inoltre, sono solitamente dotate di due connettori separati per i joystick e quindi non è necessario acquistare il cavo a “Y”.
Per quanto riguarda le porte presenti sulle schede audio, c’è invece da dire che solitamente sono utilizzate anche come interfacce MIDI (una pratica introdotta dalla Creative sulle sue schede Sound Blaster e poi imitata dagli altri produttori). Questo, purtroppo, è un utilizzo non standard della porta che in alcuni casi può anche causare dei problemi, per esempio alcune funzioni di qualche vecchio joystick potrebbero non funzionare oppure la stessa scheda audio potrebbe non funzionare correttamente quando vi è collegato un certo joystick!

Al connettore del PC, come già detto, si possono collegare due joystick, ognuno dei quali dotato di due assi analogici e di due pulsanti. Più in generale, quindi, si può dire che il PC può gestire un totale di quattro ingressi analogici e quattro pulsanti, visto che nessuno vieta di usare tutte queste possibilità in un unico sistema di controllo. In questo modo è possibile realizzare joystick o joypad con quattro pulsanti, oppure avere una cloche con un controllo analogico della manetta (che utilizza un ingresso analogico del joystick 2). E’ ovvio che un sistema di questo tipo preclude l’utilizzo contemporaneo di un secondo joystick.

Ovviamente anche i controlli tipo cloche o volanti sono costruiti in modo da essere visti dal PC come dei normali joystick. Nei volanti con pedaliera, per esempio, il volante controlla il potenziometro dell’asse X, i pedali sono uniti a due potenziometri che, collegati in serie, rappresentano l’asse Y, mentre la leva del cambio aziona i due pulsanti!

Agli ingressi analogici della porta joystick sono connessi dei potenziometri da 100 Kohm, anche se solitamente possono essere utilizzati senza problemi componenti dalla resistenza 2 o 3 volte maggiore (in effetti, nei joystick per PC, le tolleranze sono molto ampie ed è proprio per questo motivo che i programmi necessitano di una procedura di calibrazione dei controlli prima di poterli utilizzare). La resistenza dei potenziometri è al minimo quando l’asta del joystick è nella posizione in alto a sinistra.

La porta joystick del PC è costituita da un connettore femmina a 15 poli (DB15). Il cavo del joystick termina quindi con un corrispondente connettore maschio. Di seguito trovate una tabella con la funzione di ognuno dei 15 contatti (pin) presenti nella porta di una qualsiasi scheda audio. Nella tabella i potenziometri vengono indicati con una sigla che rappresenta l’asse e il joystick (es. X1 = asse X joystick 1), mentre i bottoni sono indicati con la lettera B e un numero da 1 a 4 (i bottoni 3 e 4 sono quelli del joystick 2).

1 +5 Volt dal PC per X1 e Y1
2 ingresso B1
3 ingresso X1
4 GND (massa) per B1 e B2
5 GND (massa) per B3 e B4
6 ingresso Y1
7 ingresso B2
8 +5 Volt dal PC
9 +5 Volt dal PC per X2 e Y2
10 ingresso B3
11 ingresso X2
12 GND per segnali MIDI (TDX)
13 ingresso Y2
14 ingresso B4
15 +5 V per segnali MIDI (RDX)

Tenete presente che mentre gli ingressi sono “fissi”, nessuno impedisce di utilizzare le alimentazioni (+5 Volt) e le masse (GND) in modo diverso, per esempio alimentando da due pin diversi i due assi di un joystick invece che collegarli in comune, oppure usando una massa diversa per ogni bottone. E’ comunque consigliabile attenersi a questo schema, che rappresenta i collegamenti standard, soprattutto se il joystick deve essere collegato su un cavo a “Y” e volete evitare che qualche suo componente smetta di funzionare…

Quello che segue è lo schema elettrico di un normale joystick per PC a due assi e due pulsanti.

A questo punto dovreste avere un’idea abbastanza chiara di come funziona un joystick per PC (almeno lo spero…) e quindi non dovreste avere problemi a comprendere il funzionamento dei miei progetti ed eventualmente a modificarli per adattarli alle vostre necessità.
Ovviamente potete utilizzare queste informazioni anche per costruire qualche nuovo “aggeggio” da collegare al vostro PC (sempre a vostro rischio e pericolo…)!

Controlli con collegamenti alternativi

Costruire sistemi di controllo che utilizzano in modo standard la porta joystick del PC, come avete visto, è una cosa molto semplice. Purtroppo, però, si tratta di un sistema che comporta delle pesanti limitazioni.

I moderni videogiochi, infatti, necessitano spesso di un numero di controlli molto superiore ai 4 assi e 4 bottoni gestibili da una normale porta joystick! Vi basti pensare ad un gioco “arcade” tipo un beat’em up o un gioco di calcio, dove il personaggio che dovete pilotare dispone di decine di mosse diverse: come fare a sfruttarle tutte con solo quattro tasti? Tra l’altro questi giochi danno il massimo se giocati contro un altro avversario umano, per cui bisognerebbe anche poter collegare contemporaneamente due joystick con 8 o 10 tasti ciascuno…

I principali produttori di periferiche da gioco si sono quindi dovuti inventare nuovi sistemi per aggirare i limiti dei joystick tradizionali, introducendo dei controlli che utilizzano, per esempio, il connettore della tastiera, la porta seriale o un protocollo di comunicazione seriale attraverso la normale porta joystick. Soprattutto quest’ultimo sembra essere il sistema preferito dai costruttori, che hanno cominciato a commercializzare joypad a 10 tasti (dei quali è possibile usarne due o addirittura quattro contemporaneamente!) o cloche per simulatori di volo piene zeppe di bottoni e bottoncini vari! L’attuale definizione di joystick o joypad “digitale” si riferisce solitamente proprio al fatto che il collegamento al PC avviene mediante questo sistema. Il joystick, quindi, può anche avere un funzionamento di tipo analogico, ma questo viene convertito numericamente all’interno della periferica stessa (da un apposito microchip) e quindi “digitalmente” inviato al PC.

Questi tipi di sistemi di controllo hanno il difetto di non essere standard (ogni modello ha un proprio protocollo di comunicazione) e quindi, per poter funzionare al massimo delle proprie possibilità, necessitano di appositi driver. Questo ne limita solitamente l’uso all’ambiente Windows 9x, ma vista l’enorme diffusione di questo S.O. si tratta di un difetto che diventa quasi trascurabile di fronte agli innegabili vantaggi.


NOTA: Buona parte delle informazioni presenti in questa pagina sono tratte dalla sezione Joystick interfaces and projects del sito Web del finlandese Tomi Engdahl, dove potete anche trovare ulteriori approfondimenti tecnici sull’argomento (in inglese, of course…).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

:smile: :grin: :mrgreen: :wink: :neutral: :sad: :cry: :eek: :confused: :cool: :lol: :razz: :oops: :mad: :evil: :twisted: :roll: :surprised: :!: :?: :idea: :arrow: :clap: :dance: :doh: :drool: :eh: :hand: :liar: :naughty: :pray: :shhh: :shifty: :sick: :silenced: :snooty: :think: :wall: :whistle: :love: :censored: :crazy: :food: :thumbup: :ciao: :cheers: :winky: :kiss: :rotfl: :ninja:

QR Code Business Card