arexx arduino robot - produktinfo.conrad.com

AREXX ARDUINO ROBOT
AAR
MANUAL: AAR-04
© AREXX - The Netherlands V062012
-1-
Contents
1. PRODUCT DESCRIPTION AAR
1.1 The ARDUINO Robotics Family
3
1.2 Specifications3
2. ARDUINO General Description5
3. AREXX ARDUINO ROBOT10
3.1. Blockdiagram10
3.2. AAR hardware11
3.2. ARDUINO Software12
4. The AREXX ARDUINO ROBOT (AAR)
13
4.1. Download and installation of the software
13
4.2. The Arduino language
13
4.3. Installation of a USB-driver
13
4.4. AAR Hardware 14
4.4.1. Installing the battery-compartment
14
4.5. ARDUINO Software
15
4.5.1. Programming with Arduino Programs.
15
4.5.2. Selecting an Arduino Program
15
4.5.3. Selecting the correct COM-port
16
4.5.4. Program transfers to the Arduino Robot
17
6. Background-information to the H-Bridge circuits
18
7. Odometry21
8. Programming a Boot-loader24
9. APPENDIX25
9.1 Parts List26
9.2 Main Board - Top View
28
9.3 Main Board - Bottom View
29
9.4 Schematics AAR30
NOTICE!
AAR is a trademarks of AREXX, The Netherlands and JAMA, Taiwan.
AREXX and JAMA are registered trademarks
All rights reserved.
Reprinting any of this instruction manual without our permission is prohibited.
The specifications, form, and contents of this product are subject to change without prior
Technical help:
Manufacturer:
AREXX Engineering
JAMA Oriental
WWW.AREXX.COM
WWW.ROBOTERNETZ.DE
European Importer:
AREXX Engineering
ZWOLLE Holland
© AREXX Holland and JAMA Taiwan
© English translation: AREXX - The Netherlands
-2-
1. PRODUCT DESCRIPTION AAR
1.1. The ARDUINO Robotics Family
Arduino is an open source-Platform for developing of electronic
prototypes, which provides us with a microcontroller including all
peripheral interfaces and the required software.
The Arduino-concept has been designed to learn modern electronics
for robotics, software control and sensors in the simplest possible
way.
As a successor for the ASURO-robot, which has been programmed
in C-language we now designed the AREXX Arduino robot. The new
robot resembles its predecessor ASURO, but in combination with an
„open source“- programming language Arduino programming the
system will be much easier.
1.2.
Specifications:
Motors
2 DC-motors (3 Volt)
Processor-type ATmega328P
Programming language ARDUINO
Supply voltage
4 x AAA-type batteries
4,8 - 6 Volts
Supply current
Min. 10 mA
Max. 600 mA
Communication USB-plug
Extensions ASURO-extensions are compatible
Height 40 mm
Width120 mm
Depth 180 mm
-3-
1.3. Precautions
1. Attention! You must read this manual before supplying power to
any of the terminals! Incorrect connections may damage the
hardware.
2. Attention! Please check the pin function diagram
carefullyBe careful in wiring the circuitry. Incorrect
connections may damage the modules. Respect the correct
power supply’s polarity. A reversed power supply may damage
the hardware.
3. Attention! Don’t use power supply with voltages beyond the
rated voltages! Use stabilized and filtered power supplies to avoid
voltage and spikes.
4. Attention! The board does not provide any waterproof or
wet proof protection. Please use and save the system in
dry environment.
5. Attention! Avoid short circuits at any metallic surface and
do not stress the printed circuit board or the plugs by
excessive forces or weights.
6. Attention! Be careful to avoid ESD (see prevention
measures, precautions and descriptions at
Wikipedia’s Electro-Statical Discharges).
1.4. General Precautions
*
*
*
*
When you open the parts the return right will be disposed
Read before you start assembly the instruction manual
Be careful with tools
Keep this product out of reach of children and do not build this kit
when children are in the neighbourhood, the tools and parts are
dangerous for children
* Check the polarity of the batteries
* Keep the batteries dry, when the ASURO gets wet remove the
batteries and let the AAR dry for some time
* Remove the batteries when you are not using the robot for a
longer period
-4-
2. ARDUINO General Description
2.1. Who or what is ARDUINO?
Arduino is an open source- single board microcontroller, which provides an easy access to programming, microcontrollers and projectplatforms for interactive objects for artists, designer, hobbyists and
others.
The Arduino-platform has been based on an Atmel’s ATmega168 or
ATmega328 microcontroller. The system provides users with digital
I/O-ports and analog input channels, which allow the Arduino-system to receive and respond to signals from the environment.
The market supplies us with several Arduino-boards such as Arduino
Uno, Arduino LilyPad and Arduino Mega 2560. Each Arduino-board
has been designed for specified purposes and users obviously may
choose an ideal Arduino-assembly for almost any project.
For example input signals may be delivered by switches, light sensors, speed and acceleration sensors, proximity sensors and temperature sensors. Additionally commands will be allowed from any
web-sources. Output-signals will be used to control motors, pumps
and screen displays.
The system has been equipped with a compiler for a standardized
programming language and a boot-loader. The programming language has been based on Wiring- language, which corresponds to
C++.
Originally the Arduino project started 2005 in Ivrea, Italy. The concept aimed to support students in projects, in which the prototyping
should be cheaper and more efficient as in most standard methods.
The developer group under Massimo Banzi and David Cuartielles
decided to name the project after a historical character named
‘Arduin of Ivrea’. “Arduino” is the Italian version of the name,
meaning “strong friend”.
The English version of the name is “Hardwin”.
-5-
2.2 Microcontrollers!
2.2.1. Applications
A microcontroller (sometimes abbreviated µC, uC or MCU) is a small
computer on a single integrated circuit containing a processor core,
memory, and programmable input/output peripherals. Program
memory and a small amount of data memory (RAM) is also often
included on chip.
Microcontrollers are used in automatically controlled products and
devices, such as automobile engine control systems, implantable medical devices, remote controls, office machines, appliances,
power tools, and toys. By reducing the size and cost compared to a
design that uses a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to digitally control
even more devices and processes.
A typical home in a developed country is likely to have four generalpurpose microprocessors and three dozen microcontrollers. A typical
mid-range automobile has as many as 30 or more microcontrollers.
They can also be found in many electrical device such as washing
machines, microwave ovens, and telephones.
-6-
2.3. Power Consumption and Speed
Some microcontrollers may operate at clock rate frequencies as
low as 4 kHz, for low power consumption (milliwatts or microwatts). They will generally have the ability to retain functionality
while waiting for an event such as a button press or other interrupt;
power consumption while sleeping (CPU clock and most peripherals
off) may be just nanowatts, making many of them well suited for
long lasting battery applications. Other microcontrollers may serve
performance-critical roles, where they may need to act more like a
digital signal processor (DSP), with higher clock speeds and power
consumption.
The Arduino system applies a powerful Atmel ATmega328P singlechip, providing an 8-bit microcontroller at 16 MHz with 32K bytes
In-system programmable flash. The power supply voltage has been
designed quite versatile in the range DC7-12V, providing stabilized
and protected operating conditions for the chip and isolated power
lines up to 2A for motor circuitry.
2.4 Microcontroller Programs
Microcontroller programs must fit in the available on-chip program
memory, since it would be costly to provide a system with external, expandable, memory. Compilers and assemblers are used to
convert high-level language and assembler language codes into a
compact machine code for storage in the microcontroller’s memory.
Depending on the device, the program memory may be permanent,
read-only memory that can only be programmed at the factory, or
program memory may be field-alterable flash or erasable read-only
memory.
-7-
Microcontrollers were originally programmed only in assembly
language, but various high-level programming languages are now
also in common use to target microcontrollers. These languages
are either designed specially for the purpose, or versions of general
purpose languages such as the C programming language. Microcontroller vendors often make tools freely available to make it easier to
adopt their hardware.
The Arduino system provides us with approximately 32K bytes of
flash-memory for sketches programs, which may be programmed in
C programming language.
2.5. Interface Architecture
Microcontrollers usually contain from several to dozens of general
purpose input/output pins (GPIO). GPIO pins are software configurable to either an input or an output state. When GPIO pins are
configured to an input state, they are often used to read sensors or
external signals. Configured to the output state, GPIO pins can drive
external devices such as LEDs or motors.
Many embedded systems need to read sensors that produce analog
signals. This is the purpose of the analog-to-digital converter (ADC).
Since processors are built to interpret and process digital data, i.e.
1s and 0s, they are not able to do anything with the analog signals
that may be sent to it by a device. So the analog to digital converter
is used to convert the incoming data into a form that the processor can recognize. A less common feature on some microcontrollers
is a digital-to-analog converter (DAC) that allows the processor to
output analog signals or voltage levels.
-8-
In addition to the converters, many embedded microprocessors include a variety of timers as well. One of the most common types of
timers is the Programmable Interval Timer (PIT). A PIT just counts
down from some value to zero. Once it reaches zero, it sends an interrupt to the processor indicating that it has finished counting. This
is useful for devices such as thermostats, which periodically test the
temperature around them to see if they need to turn the air conditioner on, the heater on, etc.
Universal Asynchronous Receiver/Transmitter (UART) block makes
it possible to receive and transmit data over a serial line with very
little load on the CPU. Dedicated on-chip hardware also often includes capabilities to communicate with other devices (chips) in digital
formats such as I2C and Serial Peripheral Interface (SPI).
The Arduino system provides us with 14 digital I/O-lines, 7 analog
I/O-lines.
-9-
3. AREXX ARDUINO ROBOT
3.1 ARDUINO ROBOT Fig. :AAR PCB
Block diagram
1. Connector plug for the battery compartment. (Be careful to check for the correct
polarity!)
2. On/Off-Switch for the Robot.
3. Status-LED: signaling that the robot is being supplied from the power supply.
4. In case you are using rechargeable batteries you may interconnect this dual plug,
which will supply the robot with the correct supply voltage
5. USB-connector to program the robot with the help of the Arduino-Software.
6. Reset-button: to be used to manually reset the robot.
7. ISP-connector, which may allow you to install another bootloader program.
8. LED 14: this LED provides free access for all programming and will blink if the
bootloader is (re-)started.
9. Line-follower: This module provides free access for programming and allows the
robot to follow lines.
10. Wheel-sensor left: this module generates pulses proportionally to the rotation of
the left wheel.
11. Wheel-sensor right: this module generates pulses proportionally to the rotation
of the right wheel.
12. Status LEDs for the left-sided motor: These LEDs indicate the motor’s forward,
respectively backward rotation.
13. Status LEDs for the right-sided motor: These LEDs indicate the motor’s forward,
respectively backward rotation.
14. Connector for the extension board, in which for example an APC220 wireless module
or a Snake Vision-module may be installed and connected to the Arduino-System.
15. Status LEDs for the RS232 communication interface.
16. Status LED 2: freely accessible LED for programming.
17. Status LEDs for USB data-communication.
18. Motor-controller
- 10 -
3.2 Background-information for the AAR
The front-side provides a USB-interface equipped with an FT232 IC.
This chip transforms the USB-signal into a RS232 UART-signal, which
may be processed by the ATMEGA328P Processor (located at right
side of the front position).
At the opposite side we positioned the ON/OFF-switch including a
JP3-connector for the supply-connection and the motor-controller
IC2. The back-side of the printed circuit board (PCB) has been chosen
to locate both engines and the wheel-sensors.
The wheel-sensors are using photo-eyes. The cogwheels have been
equipped with four holes in a 90°-position pattern. As soon as the
light passes a hole and hits a sensor the wheel sensor will send a
trigger-pulse for this corresponding wheel to the processor. Additionally the electronic circuits switch on LED16 respectively LED17. The
trigger pulses allow us to have an accurate overview of the wheelspeed for each of the rear wheels.
At the front-side we located the connectors for extension boards and
at the bottom-side of the PCB we will find the sensors for the linefollower circuit.
The line-follower uses an LED to send a beam of light to the bottom
area. Alongside of the LED two infrared sensors have been positioned
to monitor the reflected light from the bottom. Additionally the PCB
provides us with the other components (LEDs, resistors and capacitors) to complete the line-follower to a working module.
The robot uses an Arduino-board, which may be compared to the
Arduino Duemilanove board. The ATMEGA328P micro-controller is the
system’s core, which provides us with 14 digital I/O-ports, in which
six ports are configurable as Pulse-Width-Modulated (PWM-) output
channels. Additionally the robot has been configured with 6 analog
input channels, a 16MHz crystal oscillator and a USB- connector for
programming and control. The list may be completed with an ISPconnector, enabling experienced hobbyists to program their own
boot-loader program.
The robot has been designed for a 5V-supply voltage and may also
be satisfied with the supply current from the USB-plug. This option is
quite comfortable for testing and programming.
Rather comfortable in this robotic concept are the connector plugs,
which allow you to insert your own extension modules or the AREXXextension modules from the ASURO-series.
- 11 -
3.3 BACKGROUND-INFORMATION FOR THE
ARDUINO SOFTWARE
Arduino Software belongs to the Open Source-category and is universally available to all, including the source codes for the programming platform.
The Arduino programming platform has been equipped with a texteditor, a message window and a text-console. The programming
platform may directly contact the AAR for communication and allows
us to easily transfer programs into the processor.
Programs, which have been written in Arduino-language, are named
„sketches”. A normal text-editor is used for developing and editing
these programs. The “sketch”-files will be stored at your PC’s hard
disc. Sketches are identifiable by their file-extension „.ino“.
Saving-actions the sketch-files are reported in the message-window,
which also includes detected errors in the source-code. The rightsided bottom of the window displays the currently active ArduinoBoard and the serial interface .
The basic Arduino-concept supplies us with libraries filled with extra
functionaility. A library defines a number of predefined functions,
which for recurrent programming sections may be reused at no extra cost for development.
Basically an Arduino-program may be structured in three sections:
•
structure,
•
definitions (for variables respectively constants) and
•
functions.
An Arduino-structure consists of a setup and a loop-function. The
setup is used to initialize variables, pin-definitions („Pin-Modes“) and
libraries-definitions.
The „Loop“-function will be repeated in an endless loop, which allows the program to react permanently ad lib, until the system is
switched off.
The program uses „variable“-definitions to store and handle a program’s modifiable data whereas constants are used to define fixed
values such as pin-definitions for input- or output-functionality and
to define fixed voltage levels at pin-connections.
- 12 -
4. Getting Started
4.1. Download and installation of Arduino’s Software
Install the Arduino software (version 1) from the CD we are sure
this will work. Later you also can go to the ARDUINO website and
download the latest version from this site.
IMPORTANT:
using different versions of the ARDUINO Software and different
version of the application software may give some problems.
Somtimes with a new ARDUINO softtware update you have to
modify your application software otherwise it wil not work!
4.2. Arduino’s language
The grammar of Arduino’s language has been documented in the
official Arduino website. Learn to understand the specific language’s
characteristics to the level you need.
4.3 Installation of an USB-driver
When you connect the board, Windows should initiate the driver installation process (if you haven’t used the computer with an Arduino
board before). On Windows Vista or higher, the driver should be
automatically downloaded and installed.
Select the serial device of the Arduino board from the Tools > Serial
Port menu. This is likely to be COM3 or higher (COM1 and COM2 are
usually reserved for hardware serial ports).
To find out, you can disconnect your Arduino board and re-open the
menu; the entry that disappears should be the Arduino board.
Reconnect the board and select that serial port.
- 13 -
4.4. AAR hardware
4.4.1. Installing the batteries
The robot has been designed for a power supply filled with four 1,5V
AAA-cells. If you prefer to use rechargeable batteries the jumper JP4
should be installed as a bridge to prepare the system for a lower
voltage of the rechargeable batteries (see fig. 1, number 4).
ATTENTION!
Installing the connecting jumper JP4 will disable the polarity
check using the rectifier diode. Errors in power connections
with installed jumper JP4 might seriously damage the robot.
Connect the battery compartment as shown in the figure (fig. 2)
Fig. 2:
Battery
connection
Now you may switch on the robot by activating the ON/OFF-switch.
Located directly besides the switch the power LED (LED5) will be
illuminated.
- 14 -
4.5 ARDUINO software
4.5.1Programming the Robot with Arduino Programs.
Connect the robot by USB-cable to your PC.
As soon as the robot has been connected to an USB-port the Arduino-system does not really need an extra battery or other power
supply. Instead the USB-connection to the PC will provide the required power supply.
ATTENTION:
The robot will always be activated as soon as the system has been connected to the PC. The ON/OFF power
switch and LED5 will only be active in the case of battery powered operation.
Now you may open the Arduino Software (see fig. 3a).
Fig. 3a Arduino software
Fig. 3b Opening Blink program
4.5.2Selecting an Arduino Program
We will start by loading a simple sample program named
„blink“ into the robot. The program will command the robot to
repeatedly flash LED1.
Load the program by searching and clicking the program in Arduino’s software at the menu-entry
File>Examples>1. Basics>Blink (see fig. 3b), which will display the
following messages at the platform’s window (fig. 4a).
- 15 -
Fig. 4a Program Blink
Fig. 4b Select Board
At this stage we will have to select the correct Arduino-board at the
menu-entryTools>Board> Arduino Duemilanove or Nano w/Atmega328 (see fig. 4b)
4.5.3 Select Compoort
The next step defines the correct COM-port for the Arduino-interface.
The correct COM-interface (or COM-port) for the robot is COM 12.
In order to select the COM-interface please open the menu-entry:
Tools>Serial Port>COM 12.
(see fig. 5)
Fig. 5 Selecting the correct
Com-Port
- 16 -
4.5.4.Program transfers from the PC to the Arduino Robot
Please click the button, which has been marked with a red arrow (or
alternatively follow the menu-entry „File>Uploading to I/O board“)
to transfer the selected program to the connected Arduino-robot
(see fig. 6a).
The status window reports the compilation process of the program
and as soon as the program successfully has completed the compilation the system will start the upload to the robot.
At the end of the upload the status window reports: „Done uploading“ (See fig. 6b).
Fig. 6a Uploading softwaren Fig. 6b Ready with the upload
At this stage you might remove the USB-cable to disconnect
the robot from the PC, connect the battery-compartment or
power supply and start the robot.
For further information and downloads we invite you to visit one of
the forums at the websites:
www.arexx.com --> Forum
www.roboternetz.de --> Forum
- 17 -
5. Background-information to the H-Bridge
circuits
A H-bridge is an electronic circuit which allows us to reverse the
polarity of a device (such as a DC-motor) by controlling four switches.
These H-bridges will often be found in robotics to control a motor
rotation in two opposite directions.
Modern systems use integrated circuits for motor control, but to learn
the basic fundamentals and the dimensioning problems of power
supplies it might be important to study an archaic circuit for motor
controls.
5.1 A H-Bridge for 3 Volt Power supplies
The driver circuit for the Hyper-Peppy robots contains two PNP-Transistors TR7 and TR8, respectively NPN-Transistors TR9 and TR10. In
this design we always allow only two transistors to simultaneously
conduct currents into motor M:
via TR7 and TR10 or alternatively
via TR8 and TR9.
The (freely available test-version of the) Microcap simulator allows us
to comfortably calculate the DC-simulation for the circuit and read the
values from the schematic window:
I
Afb. 8: simulation for the
H-bridge in the Hyper Peppy
robot
- 18 -
In the driver stage we may identify the DC-motor M. The
preamplifier of the driver circuit is being simulated by resistor
R14. This resistor will pull the base-ports of transistors TR6
and TR5 to 0V, which results in a condition in which only the
right-sided branch is conducting a significant current.
Transistors TR8, TR5 and TR9 are conducting and the other
transistors are blocked. As soon as we switch R14 to a positive
voltage the right-sided branch will be blocked and the motor
current will be reversed.
The Microcap Simulator allows us to calculate the currents
for all components and read the values from the schematic
window. The total supply current at 3V battery voltage will be
circa 300mA.
The remarkable low supply voltage for this circuit depends on
the combination of silicon PNP- and NPN- transistors, which
both work with 0.7V knee voltages. The motor however has
been designed between two collector ports, which in a saturation mode merely conduct at 0.3V. For the motor M these
switches supply the motor with a respectable 1.5V. As calculated by Microcap the values may be read from fig. 9.
.
Fig. 9: DC-settings for the H-Bridge
in the Hyper Peppy Robot
- 19 -
The 3V-power supply is an ideal condition for a robot with a batterypack of only 2 cells. The PNP-transistors however cannot easily be
integrated in an IC such as the L293D. An IC however has other
advantages such as reliability, protection against bad circuitry and
reduced PCB-area and low weight. For this reason we decided to
use a L293D-chip with a dual H-bridge circuitry to simultaneously
control two DC-motors.
5.2 A H-Bridge for 4,5 Volt
The L293D-chip (see fig. 10) allows us to control output-currents up
to 600mA pro channel (maximal: 1.2A peak currents). The power
supply voltage of the drivers (VCC2) may vary between 4.5V and
36V, which promotes this L293D-Chip to a favorite circuit for DCmotor control.
The minimal power supply voltage (VCC2) however has been specified as 4.5V, which forces us to choose a minimum of 4 rechargeable
batteries as a power supply. This investment increases the robot’s
total weight. It is the price we pay for modern electronic circuitry.
Fig. 10 H-Bridge circuitry with
a L293D-Chip
- 20 -
6.Odometry
This chapter has been devoted to some interesting application-concepts for the AAR-robot. The ideas refer to studies and art-projects.
Maybe developing such software will inspire us in programming
micro-controllers.
6.1 Line-seekers, color-lovers and color-haters
Light-sensitive sensors will allow us to program robots to behave like line-seekers, color-lovers or color-haters. In the first o
these examples the robot should be expected to follow a line in an
8-shaped curve, which in an endless loop will force it to run around
eternally.
The second and third example teaches the robot to avoid red light
sources and maybe feel attracted by green light simultaneously.
These kind of behavior patterns already will be considered as practical survival patterns for simple living organisms such as worms.
6.2 Cowards and music-lovers
Quite interesting is also a behavior pattern which depends on environmental noise. A jumpy robot equipped with a sensitive microphone may be taught to avoid heavy base music but simultaneously be
attracted by high-toned flute-music. The attraction of high frequencies may even override the fear for heavy low frequencies. This way
the robot may be forced to feel attracted by the source of the high
flute-music in spite of the heavy-metall music.
Behavior patterns which depend on high and low frequencies, light
and colors merely need a few sensors, two frequency filters and a
couple of light-dependent sensors, equipped with color filters.
- 21 -
6.3 Complex Line-seekers
Line-seeking and line-following robots usually will need a light
source such as a LED and twi or more light sensors. These devices
allow the system to identify a line and follow the track. Initially the
robot may need a special search pattern routine to find a line. The
pattern may consist of a strategy to follow a spiral pattern with a
gradually increasing radius from the starting point. This pattern is to
be followed until the sensor detects a specific line pattern and starts
following this line.
Developing such programs, which sufficiently solves the problem of
searching any kind of line patterns, already belongs to the sophisticated categories of software.
6.3.1 Complex behavior patterns (as a programming task)
The project may be complicated by specifying the search strategy to
work in a complicated pattern of colored areas and lines and to find
any red line which will lead the robot to a safe and dark “garage”.
As soon as the noise pattern has been absent for a while the robot
may leave its “garage” and start searching a green line, which may
lead the device to another “garage” with bright, green light, in which
the robot will feel comfortable – even in an environment with heavy
music.
As soon as the music however does contain a flute’s high frequencies the robot will feel uncomfortable. It will leave its carport to find
the red lines, which will bring it back home to its dark “garage”.
- 22 -
Experienced programmers are aware of the complexity and design
requirements of a program which needs to serve the problems of a
line-follower with several differentiated color and sound dependencies. Programmers will have to design a program with a hierarchical
set of numerous functions. The modular, structured concept will allow us to write a complex, but reliable software, which is performing
the specified task.
The software’s complexity may inspire the programmers to feel
admiration for the tiny living organisms, which are combining these
behavior patterns with a regular search for food and a successful
procreation strategy. It’s the great effort of nature’s life in perfecting
behavior patterns again and again – to keep life alive....
- 23 -
7.
Programming a Boot-loader
ATTENTION!
The described road-map in this chapter requires
programming experience!
You will be able to upload an Arduino-bootloader into the microcontroller: for instance with the help of STK500.
In order to transfer any program, which has been written in Arduino
language, into the Atmega micro-controller the Atmega-processor
will have to be equipped with a special Arduino-boot-loader. This
boot-loader will be needed to take care of the correct location for
the coded characters inside the Atmega’s memory.
In order to install the boot-loader we will need the following components:
* an AVR Programming Board (for instance the STK500 Board)
* a 12 Volt power supply
* the AAR-Robot including an on-board ISP-connector (fig. 7)
* a PC provided with a physical COM-Port (preferably NOT a USBRS232 converter, which might result in risks by timing-errors)
Please install (respectively update) the current version of the
Arduino-software, which will be found at the website www.arduino.
cc. The downloaded file probably will be delivered as a .ZIP- or
.RAR-type. Unpack these files and store the contents at your hard
disc.
Please apply e.g. WINAVR to transfer the Arduino boot-loader to
the robot.
Fig. 7: ISP connector
Attention!
The ARDUINO software belongs to the freeware category and from
time to time it may happen that Arduino software and Arduino
boot-loaders do not properly cooperate!
If you experience such or similar problems you are invited to visit
the various Arduino websites respectively forums
- 24 -
APENDIX
- 25 -
Partlist
Part
C1
C2
C3
C4
C6
C7
C8
C9
C11
C12
C13
C14
C15
C16
C17
C19
D1
D2
IC1
IC2
IC3
IC4
IC5
JP1
JP2
JP3
JP4
JP5
SV2
T1
T2
T3
T4
U$1
U$2
U$3
U$4
X1
LED1 LED2 LED3 LED4 LED5 LED6 Value
18pF
18pF
0.1uF
0,1uF
0,1uF
470uF
0,1uF
4,7uF
0,1uF
0,1uF
0,1uF
0,1uF
0,1uF
470uF
470uF
470uF
MBR0520
1N4001
FT232RL
L293D
ATMEGA168-AU 74AHC1G14DCK 74AHC1G14DCK M1
M2
BAT
4,8V
ISP
fem header
SFH300
SFH300
LPT80A LPT80A
3,3V
FE03-1
FE03-1
FE02-1
PN61729-S
Rd
Bl
Rd
Gn
Bl
Rd
Package
0805
0805
C0805K
0805
0805
CPOL-USF
0805
1206
0805
0805
0805
0805
0805
CPOL-USF
CPOL-USF
CPOL-USF
SOD-123
DO41-10
SSOP28
DIL16
ATMEGA168-AU
74AHC1G14DCK
74AHC1G14DCK
1X02
1X02
1X02
1X02
2X03
FE07-1
LED5MM
LED5MM
LPT80A
LPT80A
PIN-T
FE03-1
FE03-1
FE02-1
PN61729-S LED5MM
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDIRL80A
- 26 -
Part
LED8 LED9 LED10 LED11 LED12 LED13 LED14 LED16 LED17 LED18 Q1
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28 R29/C3
R31
R32
S1
S2
SV1
Value
Rd
Rd
Rd
Rd
Gn
Rd
Bl
Rd
Rd
Rd
16MHz
20k
20k
1k5
220
1k5
1k
680
680
20k
20k
220
220
10k
220
220
220
220
220
220
10k
10k
10k
10k
220
220
220
220
220
0.1uF
10k
12k
TACT SWITCH 255SB
fem header
Package
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDCHIP-LED0805
LEDIRL80A
CRYSTALHC49UP
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
R-US_R0805
C0805
R-US_R0805
R-US_R0805
TACT_SWITCH
255SB
FE08-1
- 27 -
A. MAIN PCB TOP
- 28 -
B. MAIN PCB BOTTOM
- 29 -
ATmega328P
C. CIRCUIT AAR
- 30 -