I am not very experienced with Arduino (yet), but I am hoping to change that!
The project I have is to get rotation data from an 16bit (probably incremental) optical encoder, and sent that data to my computer using UDP over WiFi or ethernet. I would like to use Arduino for this purpose.
However, I have some questions on how to approach this project: 1. What Arduino should I use? Uno, Mega, or Due? Since I need precise data on the rotation of the encoder, I am going to use a 16bit encoder. Is the Mega fast enough to yield reliable data and fast enough to read the encoder and send data to the WiFi/ethernet shield? Should I be worried that the Arduino might 'miss' some steps in the encoder (since it has such a high resolution)? Or should I use the Due?
I read that the Due has a lower voltage. Does this affect the type of encoder I can use? Also, I tried to find if the Due is compatible with the Arduino WiFi/Ethernet shield, but could find a definite answer.
Some encoders use the SPI interface. However, the WiFi shield also uses SPI. Should I avoid using two SPI devices on one Arduino board to avoid problems in interference with the shield and the encoder? In other words, is it wise to let the WiFi shield use the SPI, and use an encoder with a digital inputs?
Any advice on the design would be greatly appreciated!