The first I/O Board is almost ended. You can see the top side on the picture below.
This board is composed with:
- 2 USB2AX
- 1 Arduino Due
- 1 USB HUB
We integrate one accelerometer and one gyroscope to allow a control about the head move.
These sensors are connected via the TWI to the Arduino Due.
#I/O Board
##Alimentation
First of all, the I/O Board has two ways to be powered. One by the alimentation connector, which is allowed for when you use the entire robot, and a second by the programming port, but you don’t power the ODROID. This protection is here to permit the reprogrammation of the Arduino part without the consumption of the ODROID ( theoretically 2A at max which is very big for USB port).
##USB HUB
The second part is the USB Hub. It allows a simple connection with every part of the I/O Board. Moreover we have prefered to keep a real USB communication ( in opposition to USB2Serial communication) between Arduino Due Part and Hub.
The direct integration of the USB hub has suppressed the connectors and lightened the I/O Board.
##USB2AX
They are directly connected on the USB Hub. So you can use the script made by Nicolas Saugnier to reprogram the device.
But please be carefull if you reprogram the device, we have suppressed the solder point between RX and TX.
The integration of the USB2AX was from the source that you can found here.
Sensors
Accelerometer ADXL345
The accelerometer have four measurement range:
- 2g with 10-bit output resolution
- 4g with 11-bit output resolution
- 8g with 12-bit output resolution
- 16g with 13-bit output resolution
The output data rate is up to 3200Hz
Gyroscope ITG-3200
The gyroscope give a value with an output data rate up to 36kHz with a separation at 1.7kHz.
The full scale range is ± 2000°/s with a 16-bits Gyro ADC word length
##Arduino Due
We have chosen to integrate an Arduino Due for two reason:
- The ATSAM is the newest technology of ARM core
- The Arduino Due is the only board Arduino compatible with ARM microcontroller
In order to allows an evolution of the board, and to authorize other usage of it, we have kept some headers like on the arduino Due.
See the pin mapping below.
The name of the Pin is the same to the arduino due. This property is necessary to be compatible with Arduino.