EqPad: joystick Arduino per Eqmod

Usando regolarmente EqAscom per controllare la nostra montatura, si presentata la necessità di poter muovere il telescopio in maniera semplice senza utilizzare la tastiera del PC. Sfruttando la capacità di EqAscom di gestire un joystick abbiamo realizzato un joystick dedicato.

 

Joystick con funzione tasti

Funzionamento

Oltre all’ovvia presenza dei 4 tasti di movimento, è presente un tasto shift per funzionalità aggiuntive spiegate successivamente e un commutatore per la scelta della velocità di movimento.

La tastiera si blocca automaticamente con un Bip-Bip dopo 2 minuti di inattività accendendo il led rosso. Per sbloccare la tastiera premere il tasto Shift per 2 secondi, lo sblocco viene indicato con un singolo Bip e l’accensione del led verde.

Premendo il tasto Shift assieme al tasto Sud si ha la funzione di arresto di emergenza di EqMod. Dal momento che per Eqmod l’arresto di emergenza causa anche un Park, questo porta ad una perdita dell’allineamento della montatura. Per questa ragione l’utilizzo di Shift-Sud (Arresto di emergenza) viene automaticamente seguito dai comandi Shift-Ovest (UnPark) e Shift-Nord (Velocità siderale). Ovviamente, i tasti Shift-Nord, Shift-Ovestt, Shift-Sud DEVONO essere assgnati rispettivamente alle funzioni Velocità Siderale, Unpark e Stop di emergenza.

 

Eqmod gamepad configuration

La pagina di configurazione di EqMod

Per poter configurare nella “GamePad Configuration” di EqMod le funzioni Nord-Est, Nord-Ovest, Sud-Est, Sud-Ovest e L’arresto di emergenza è necessario mettere la pulsantiera in una modalità “Speciale”, dove non vengono mai inviati i tasti singoli Nord Sud Est Ovest e Shift-Sud invia solo la funzione di arresto di emergenza senza farla seguire dalle altre funzioni. Questa modalità si attiva sbloccando la tastiera col tasto Sud invece che il Tasto Shift e viene segnalato con il lampeggio del led rosso.

Assegnazione dei tasti

PulsanteBottone JoystickFunzione
NordBUTTON_1Muovi a Nord
OvestBUTTON_2Muovi a Ovest
SudBUTTON_3Muovi a Sud
EstBUTTON_4Muovi a Est
Nord + OvestBUTTON_5Muovi a Nord-Ovest
Sud + OvestBUTTON_6Muovi a Sud-Ovest
Sud + EstBUTTON_7Muovi a Sud-Est
Nord + EstBUTTON_8Muovi a Nord-Est
Shift + NordBUTTON_9Velocità Siderale
Shift + OvestBUTTON_10Unpark
Shift + SudBUTTON_11Stop di emergenza
Shift + EstBUTTON_12Non assegnato
Slider in altoBUTTON_13Velocità 1
Seconda posizioneBUTTON_14Velocità 2
Terza posizioneBUTTON_15Velocità 3
Slider in bassoBUTTON_16Velocità 4

Realizzazione

interno-topeqpad-lato-rameSulla base del progetto originale di Matthew Heironimus “USB Joystick” su piattaforma Arduino Leonardo, abbiamo realizzato una “Paletta” USB per il movimento in Ra e Dec della nostra montatura EQ6 controllata dal driver EQASCOM
I test iniziali sono state effettuate con una scheda originale “Arduino Leonardo” ma per la realizzazione finale abbiamo disegnato un circuito stampato che ci ha permesso di ottenere un oggetto molto compatto.

Il materiale elettronico è stato reperito da vari rivenditori tipo www.aliexpress.com, ebay o fiere dell’elettronica, mentre il circuito stampato è stato inciso in casa su basette presensibilizzate.

Per la realizzazione della nostra versione è richesta una buona esperienza in montaggi elettronici con componenti SMD.
Per chi è meno esperto è comunque possibile realizzare il tutto utilizzando una scheda Arduino Leonardo ovviamente con altre dimensioni e meccanica.

Dopo questa premessa partiamo dalla libreria Arduino scritta da Matthew Heironimus che implementa un Joystick USB che potete trovare sul sito:  https://github.com/MHeironimus/ArduinoJoystickLibrary

Partendo dall’esempio della libreria abbiamo aggiunto alcune funzioni che ne permettono l’uso come controllo della montatura come il cambio di velocità, il blocco pulsanti dopo un periodo di inattività per evitare movimenti accidentali, 2 led per indicare lo stato e ritrovare la pulsantiera al buio infine un cicalino per enfatizzare il “click” dei pulsanti e avvisare del blocco tasti.

Qui trovate i pdf dello schema elettrico, e il file per realizzare il circuito stampato.

Lo schema e il relativo PCB sono stati realizzati con cad DipTrace versione free (www.diptrace.com). Potete scaricare i file CAD.

La programmazione inizale e’ stata effettuata con il programmatore Atmel in seguito si potra’ usare anche l’IDE di Arduino.

Qui lo sketch Arduino versione 1.6.6 o successiva

Leave a Reply

Your email address will not be published.