Mouse con Arduino Leonardo

Realizziamo un mouse per il nostro computer.

Come per il tutorial sul controller per Davinci Revolve, anche in questo esempio utilizzeremo la libreria USB-Input presente nell’istallazione base dell’IDE di Arduino, in abbinamento ad un Arduino Leonardo.

Per chi non lo conoscesse, Arduino Leonardo è una scheda di prototipazione rapida simile ad Arduino Uno ma basata su microcontrollore ATmega32u4. La peculiarità di questa scheda è il fatto di avere una USB integrata e quindi la possibilità di essere vista da un computer come una dispositivo di input (tastiera o mouse).

Lista dei componenti utilizzati

Quando si utilizzano le librerie di input bisogna fare molta attenzione. Un piccolo bug o una serie di dati inviati a raffica, possono rendere inaccessibile la periferica ad una successiva riprogrammazione. Visto che utilizzano la stessa seriale sia per inviare che per ricevere dati, e non posso fare entrambe le cose contemporaneamente.

Una buona regola è quella d’inserire un pulsante o un interruttore per attivare o disattivare la funzione d’invio dati (meglio se con controllo di tipo interrupt).

Nel codice ho utilizzato questa funzionalità collegando un pulsante in modalità INPUT_PULLUP sul pin 2 ma senza interrupt.

Schema elettrico

Le letture analogiche del joystick sono: asse X sui A0 e asse Y su A1.

Per simulare la pressione del tasto sinistro del mouse ho utilizzato il pulsante presente sul modulo KY-023 sempre in modalità INPUT_PULLUP e collegato al pin 3.

Il codice

Lavorando a stati è possibile attivare o disattivare la funzione di controllo mouse ogni qual volta che il pulsante, collegato al pin 2 viene premuto. Quando e LOW inverte il valore del suo stato, memorizzandolo su due variabili in modo da poter effettuare un controllo tra stato attuale e precedente.

Solo se la funzione mouse è attiva, vengono letti valori i degli ingressi analogici A0 e A1 per essere poi rimappati dalla funzione LetturaAssi().

Questa funzione ottimizza la scala a 10bit dell’ADC in valori più comodi per le coordinate da inviare alla freccia de mouse. Inoltre le soglie d’attivazione e posizionamento.

Tutte le spiegazioni relative al codice sono presenti come commenti nel codice stesso, oppure guardando il video è possibile avere ancora più info.

Scarica lo sketch da questo link:
Mouse_Arduino

Tutti i file compressi disponibili per il download, sono stati realizzati utilizzando il software IZArc. Il software è totalmente gratuito e scaricabile da qui. Per una corretta estrazione dei file, Vi consiglio di scaricarlo.

Per qualsiasi info, per un aiuto nella realizzazione dei vostri progetti, o più semplicemente per segnalarci degli errori o link corrotti, utilizzate la pagina Contattaci.

Grazie per aver letto questo articolo, se puoi leggine degli altri, commenta per sostenere il blog e iscriviti al mio canale Youtube. Seguimi anche su Instagram e Facebook dove puoi anche pubblicare i tuoi progetti sul gruppo Arduino For Peoplem.

You may also like...

Lascia un commento

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