Stefano Ivancich

Mouse Arduino

Scarica il documento PDF
 

È possibile utilizzare il sensore interno contenuto nei mouse da computer Per rilevare lo spostamento compiuto da un oggetto che si muove a rasoterra, come ad esempio un robot aspirapolvere o automobiline radiocomandate.
Questo documento spiega come utilizzare i sensori più comuni, ovvero: AN3101, ADNS-2610, ADNS-2083 o ADNS-2051.
È necessario scaricare la libreria Opti-Mouse e includerla nello sketch.

 
 

Connessione ad Arduino

  • Aprire il mouse e asportare la scheda all’interno.
  • Controllare il datasheet dell’integrato.
  • Tagliare le piste dei pin SDIO e SCLK.
  • Saldare 4 cavetti sui pin 5V, GND, SDIO e SCLK.

 
 

Codice

#include "ADNS2610.h"

#define SCLK 2                            // Serial clock pin on the Arduino
#define SDIO 3                            // Serial data (I/O) pin on the Arduino

ADNS2610 Optical1 = ADNS2610(SCLK, SDIO);

signed long x = 0;                        // Variables for our 'cursor'
signed long y = 0;                        //

int c = 0;                                // Counter variable for coordinate reporting

void setup()
{
  Serial.begin(38400);
  Optical1.begin();                       // Resync (not really necessary?)
}

void loop()
{
    x += Optical1.dx();                   // Read the dX register and in/decrease X with that value
    y += Optical1.dy();                   // Same thing for dY register.....
  if (c++ & 0x80)
  {                                       // Report the coordinates once in a while...
    Serial.print("x=");
    Serial.print(x, DEC);
    Serial.print(" y=");
    Serial.print(y, DEC);
    Serial.println();
    c = 0;                                // Reset the report counter
  }
}

 
 

Link utili

http://www.martijnthe.nl/2009/07/interfacing-an-optical-mouse-sensor-to-your-arduino/