1. Arduino Uno and VHN5019

Robot

Figure 1: Front View of Our Robot


1.Overview

In this project, a robot is setup to self-explore inside an unknown space and find the shortest path from the start point to the destination point. In order to achieve so, several hardware components like Arduino Uno, Raspberry Pi, batteries, DC motors with wheels and multiple sensors are required to be put on the robot body. In this part, an introduction to Arduino is made.


2. Arduino Uno and VNH5019 motor driver shield

Arduino Connected to Motor Driver Shield

Figure 2: Arduino Uno (bottom) and VNH5019 (top)

Arduino Uno is the microcontroller board to control the movement of the robot and collect data from various sensors. It has 14 digital I/O pins, 6 analog pins and a USB serial port.

Each of the 14 digital pins on the microcontroller can be selected as an input or output mode, which is decided by function pinMode(). It could read from and write to external devices by function digitalRead() and digitalWrite().

The I/O pins could also be used as PWM outputs to control wheel speeds. An important thing to notice is that the digital pins could only provide or receive a maximum of 40mA. As a result, it is necessary to use VNH5019 motor driver shield, which could output high current to make the DC motors rotate.

The 6 analog inputs could be used to collect data from IR (infrared) sensors. It has a 10-bit resolution, which converts 0-5 volts to a digital value of 0 – 1023 (2^10-1). The converted digital value could be returned by analogRead() function.

The USB serial port could communicate with external devices like Raspberry Pi to receive commands and send sensor information.