Introduction to the Arduino RobotFollow article
Building the Arduino Robotand running the example sketches.
I have dabbled in the world of electronics for just over a year now and have produced less than a handful of blogs, so with my limited knowledge and experience I thought the Arduino Robot would be something achievable, yet fun and cool to build.
My first encounter with Arduino was via the Starter Kit, so from the very beginning this is a platform I knew I would feel comfortable using. It can be as simple or as complicated as you like, and Arduino caters for a whole range of abilities.
The Arduino Robot Kitcontains:
full colour screen (with micro SD reader)
micro SD 2GB memory card with adapter
4 rechargeable AA batteries
Robot Quick Start Guide
What makes up the Robot?
The Arduino robotconsists of two boards, one stacked on top of the other. These are the control board and the motor board, which each have separate programmable processors. There are various sensors and peripherals on the control board:
5x momentary switches
160x120 pixel colour screen
3x I2C connectors
8x TinkerKit input connectors
Constructing the Robot
In terms of actual construction of the kit there isn't very much to do, as it is mostly pre-assembled; there is only inserting the memory card into the screen then inserting the screen into the control board of the robot to complete construction.
The Robot asks for your name to be entered, then following this for you to give the Robot a name (deciding this was possibly the hardest part of everything!) I finally settled for Johnny 6. Initially I made a few heavy handed mistakes when trying to use the potentiometer and the buttons to enter each letter as the buttons are very sensitive and often entered each digit multiple times.
Connecting to a computer
I was then ready to see the robot in action and so connected it to my laptop.
I had a few issues at first, as the Quick Start Guide directs you to arduino.cc/robot/examples to see all the example sketches that are available to download from Arduino. However, when I tried to visit this page it displayed '404 page not found'. But there are several other ways you can access the examples and you could either open up the Arduino IDE and navigate to file>examples>robot_control>explore, or there is an alternative page on the Arduino website where the examples and a description of them can also be found: http://arduino.cc/en/Reference/RobotLibrary .
Once Arduino had opened and I had found the examples, I attempted to upload my first sketch. However, an error message displayed saying “Couldn’t find a Leonardo on selected port...” I checked the port and board selected, and as I suspected they were correct. So I then closed and reopened Arduino a few times and also rebooted the Robot, and finally after a few attempts everything worked fine. I suspect this may have been a problem with Windows.
I then could then begin uploading my first sketch.
For my first sketch I just followed the instructions on the Arduino website, which advised that you do the 'motor test' first. This is uploaded just like any sketch on a normal Arduino board.
The motor test sketch basically moves the robot around in random directions, to the ensure that the motors were working. I noticed with this that there was no proximity sensor and so the Robot will bump into things, or if on a high surface such as a table it will drive straight off the edge and could easily smash. Also the Robot does not like uneven surfaces, so if the ground isn’t perfectly flat, it most likely will get stuck.
Disco Bot was the second sketch I uploaded and in my opinion was by far the best (and most fun!) out of all the examples. With this the Robot plays music and 'dances' to it, and for something so simple this is somewhat entertaining, however, the music can become quite annoying after a while.
With the Inputs example sketch the robot does not move, and instead it reads the value of switches and the potentiometer and uses these to control sound.
This is almost like a very simplified micro DJ program, as you use the up and down buttons to control the pitch and the left and right buttons to control the tempo. This is all displayed on the colour screen so that you can see the maximum and minimum output of the controls. This example also has a clock shaped circle displayed on the screen witch you can control with the potentiometer.
This example sketch is pretty cool and gives you the opportunity to control the Robot yourself. Once the sketch is uploaded you use the buttons to give the Robot up to 20 commands of direction.
I noticed that when commanding my Robot to go straight forward it was veering to the right. So I looked in the example sketches and found one called Wheel Calibration. This sketch sets both the wheel motors going at the same speed, so that you can then adjust a trimmer potentiometer on the motor board to correct for it veering off to one side.
LCD Write test
This is a sketch to test that the screen is working properly. Because this is by far the simplest of the sketches, for someone like me who has limited experience, it provided a great opportunity to have a go at modifying a sketch, which I did so that it displayed my own message on screen.
I managed to change the message on the screen from “Hello world! I am a robot.” to “Hello world! I am a robot, called Johnny 6, Who likes to dance!”. This allowed me to try my hand at modifying a simple sketch and to re-familiarise myself with the Arduino programming language.
Again this is one of the much simpler sketches. It provides the facility for you to upload your own images onto the SD card, to then be displayed on the robot. Failing this it works with sample pictures provided in the detailing of the sketch. You have the option to either use the buttons to change the image on screen or you can tilt the robot to change them (this had to be done quite violently in my experience).
Speed by potentiometer
This was an interesting and fun example sketch that enables you to control the speed of the robot by turning the potentiometer, and works for both forwards and backwards motion.
The only minor downside to this kit is that there is very little assembly to do since it comes mostly pre-assembled. However The Arduino Robot has tons of potential, as both of the boards have plenty of room for expansion and with loads of peripheral connectors and space for solder prototyping. So while you get a lot out of the box, it is only the beginning as far as the hardware capabilities are concerned!
Like all Arduino boards it starts out very basic for those who are just getting their feet wet, but can be put to more advanced uses by those with more experience. It also has the potential to be used in pretty complex projects by using the TinkerKit inputs to add things such as additional sensors.
I think this is a brilliant kit! And after all, who wouldn’t want to build a robot?