27/05/2015
Arduino Mobile Robot
What is so powerful about this mobile robot? The robot chassis is comprised of two serially connected platforms (top and bottom), each of which features an ATmega32U4 (the controller on Arduino Leonardo) and acts as an independent Arduino board. The upper platform, called the Control Board, includes a five-button keypad, k**b potentiometer, color LCD, SD card reader (with SD card preloaded with images and sound files), speaker, and digital compass. The lower platform, or Motor Board, controls the two integrated DC motors and includes five reflectance sensors that can be used for line following or edge detection. The robot ships fully assembled and includes a USB cable, four rechargable AA batteries, and a 9V wall adapter for charging.
The Arduino Robot has many integrated hardware peripherals for interacting with the user and the robot’s environment. The Control Board (top) features:
5-button keypad
potentiometer
160×120-pixel color LCD
speaker
digital compass
SD card reader
A reset button
4 prototyping areas
5 digital I/O pins (of which 4 can be used as analog input pins)
6 PWM channels
8 possible analog input pins (multiplexed).
Microcontroller: ATmega32U4
Operating voltage: 5VDC
Input voltage: 5V through flat cable
Digital I/O pins: 5
PWM channels: 6
Analog input channels: 4 (on Digital I/O pins)
Analog input channels (multiplexed): 8
DC current per I/O pin: 40 mA
Flash memory: 32 KB (4 KB is used by bootloader)
SRAM: 2.5 KB (ATmega32U4)
EEPROM (internal): 1 KB (ATmega32U4)
EEPROM (external): 512 Kbit (I2C)
Clock speed: 16 MHz
Keypad: 5 keys
K**b: potentiometer attached to analog pin
SD card reader: FAT16 format (SD card included)
I2C soldering ports: 3
The Motor Board (Bottom) has:
5 reflectance sensors (with indicator LEDs) for line following or edge detection
2 prototyping areas
4 digital I/O pins (which can all be used as analog input pins)
A trimmer for motor calibration
Microcontroller: ATmega32U4
Operating voltage: 5 V
Input voltage: 9 V to battery charger (9 V AC-to-DC wall adapter included)
AA battery slot: 4 NiMH rechargeable batteries (batteries are included)
Digital I/O pins: 4
PWM channels: 1
DC current per I/O pin: 40 mA
DC-DC converter: 5 V
Flash memory: 32 KB (4 KB is used by bootloader)
SRAM: 2.5 KB (ATmega32U4)
EEPROM: 1 KB (ATmega32U4)
Clock speed: 16 MHz
I2C soldering ports: 1
A protective cover is included and can be attached to the bottom of the Motor Board to help prevent it from getting damaged.
Programming the robot is similar to programming the Arduino Leonardo: the robot’s two ATmega32U4 microcontrollers have built-in USB functionality, eliminating the need for a secondary processor dedicated to load program. The boards will appear to a connected computer as a virtual (CDC) serial / COM port. Each board has a separate USB product identifier and will show up as a different port on your Arduino IDE. It is important to choose the right one when programming. An Arduino library makes it easy to interface with the included hardware peripherals, and there are a number of project examples to get you started. See Arduino’s getting started page for more detailed information.
The Arduino Robot can be powered via USB or with 4 rechargable NiMH AA batteries; the power source is selected automatically. (For safety purposes, the motors are disabled when the robot is powered from USB.) The robot features an integrated battery charger that is active whenever the included 9 V AC-to-DC adapter is connected to the Motor Board’s power jack and USB is disconnected, so you must only use rechargeable batteries with the Arduino Robot.