STEP 4 : COMPUTER PINOUTS (PROPOSAL)
It is very important to have ar least an idea how to connect all required sensors, motors, servos and so on with the computers required to control these devices. Therefore I have developed a PRELIMINARY pinout - plan for both computers and the data connection between the Arduino and the Raspberry Pi.
ARDUINO MEGA PINOUT - PWM PINS
The Raspberry board has just very limited IO capabilities, therefore I use the Arduino Mega as an extended GPIO board to be able to control the drive motors, the robotoc arm and the camera mast gimbal system. Since all these devices need a PWM signal, I have designed the layout for the PWM pins as very first.
ARDUINO MEGA PINOUT - DRIVE SYSTEM
To be able to drive each engine forward and backard, we need 2 additional digital pins for each motor. Setting the HIGH or LOW pins we can control the turn direction of the motor.
RASPBERRY PI PINOUT
The Raspberry Pi computer is pilot in command on our rover. Thus it needs to know which obstacles are in between the rover and the next waypoint. The Raspberry Pi will use it's camera and up to 4 ultrasonic sensors to find out if there are any hazards close to the rover. The picture shows the digital pins used to trigger the ultrasonic sensor and the pin waiting for the echo.
To exchange data between Raspberry and Arduino I intend to make use of the I2C bus system. An alternative would be the UART serial bus. The following layout shows the data connection using I2C - it would be no problem to switch to UART later on if required.