Mouse sensor + Arduino for Distance Traveled (X and Y)

Hey guys,

I'm pretty new to Arduino. For my masters thesis I have to find a way to track the movement of a flat component. Right now I have an Arduino Mega 2560 and am free to choose/buy additional components needed for this project.

I would like to use an optical mouse sensor to measure distance traveled in X and Y but I need an acceleration free sensor, so the measured distance ist not affected by it's velocity. Cheap and acceleration free sensors that I found are:
ADNS-3090, ANDS-3988 and PMW-3310

There are a lot of USB Mice available, that use these sensors but during research it came to my understanding that reading USB signals with an Arduino might be very very complicated opposed to reading PS/2 signals. So my question to you guys is the following:

Should I (as a rookie) consider taking an accelerated mouse sensor with PS/2 since it becomes a lot easier to read the data? Or can I stick with acceleration free sensors which are made for USB?
I appreciate any help and suggestions regarding code, needed libraries or hardware.

Regards
iamming

A quick look at the datasheet of the ADNS-3090 shows the chip has an SPI interface. This interface can be read directly by many microcontrollers, including the Arduino's AVR processors. I didn't check the others, probably similar. In a mouse, there'd be an MCU that interfaces this with the USB or PS/2 bus.
This also means there's a good chance that you can hack an existing mouse (use the case and detectors - remove the mouse's built-in MCU and instead connect the detector chip to the Arduino), or otherwise use a standard mouse casing to re-use the lens and other optics that are needed for this to work, while placing your own detector in it.
There's also a fair chance that you'll be writing your own driver for this chip.

Thanks alot!

I already checked which connectors were used in a similiar project connecting the ADNS-9800 to an Arduino. My plan was to copy as much code of the following project and then adapt it to my personal one:

I wasn't sure if that would work though, but now that I know the Interface is called SPI, I can do a little more research. The code that confuses me the most ist the adns_upload_firmware command.
There is a firmware.ino file which was originally a text-file with copyrights by the sensor manufacturer. Where do I get a firmware text file for my sensor or could it be the same one for alle sensor models?

I just took the first part you listed, mostly out of curiousity of how it works, had a quick skim of the data sheet. The pins list MOSI, MISO, clock (SCK) and a chip select: that's the lines that make up the SPI bus. Later in the data sheet is a typical application diagram which confirms this.

No idea where you can find ready-made drivers; try Google.

Or choose a part where you know Arduino libraries exist for already (it's a very important part of the design considerations) - that you found this example project would be a vote for the ADNS-9800 for me.

Do make sure the part you choose is current - not obsolete, "last buy", etc - and readily available in your locality, as there's a fair chance you destroy it in the process of experimenting and need another one (so for cheap parts I always order spares right away). The newer versions are usually more capable while costing the same or less than the part they replace.