Build an Arduino Robot
If you want a Project Idea with full instructions, please pick one without an asterisk (*) at the end of the title.
The Science Buddies Bluebot Kit contains parts to build four different robots:
- A motion-activated robot that uses a passive infrared (PIR) sensor
- A light-tracking robot that uses photoresistors
- A line-following robot that uses infrared emitter-detectors
- An obstacle-avoiding robot that uses bump sensors
However, in each project, the sensors are hard-wired to control the robot's motors. This allows the robot to steer left and right based on input from two sensors, but it does not allow the robot to perform more complex behaviors. For example, it cannot back up and turn around, drive through a pre-planned path, or use multiple types of sensors at once. That is where a programmable microcontroller like an Arduino comes in. You can use the Arduino to take readings from multiple sensors and program how the robot should respond. Can you add an Arduino to your Bluebot kit and design an autonomous robot that can drive around your home? You will need to do some of your own research, prototyping, and testing to figure out how to do this. The suggestions below and resources in the Bibliography section will help you get started.
- Power: you will need a 9V battery and snap connector with barrel jack to power your Arduino (not included in the Bluebot kit).
- Motors: do not attempt to drive the motors directly from the Arduino's pins! The Arduino's pins cannot supply enough current to drive the motors directly. Your Bluebot kit comes with an L293D H-bridge motor driver chip. This chip allows you to control the speed and direction of two motors. It has pins for two power sources: digital logic (5V from the Arduino) and external power for the motors (6V from your 4xAA battery pack). Be careful not to accidentally short-circuit the 5V Arduino power and 6V battery power on your breadboard! The Bibliography section contains a tutorial for using the L293D with an Arduino.
- Sensors: as mentioned above, you can use multiple sensors simultaneously. The instructions for the four Bluebot projects linked in the Bibliography section contain more information about each of the sensors included in your kit.
- Photoresistors: also called photocells or light-dependent resistors (LDRs). Their resistance changes in response to light. Can be used to detect and navigate towards (or away from) light sources.
- Infrared emitter/detectors: these emit infrared (IR) light and detect when IR light is reflected back. Their range is very short—only a few millimeters. They can be used to detect edges, like a dark line on a light surface, or the edge of a table. They can also be pointed forward and used to detect objects that reflect IR light.
- Bump sensors: these are lever switches that can detect when the robot bumps into an object.
- PIR sensor: the type of sensor used in home security systems and motion-activated lights. It detects movement by looking for infrared light (i.e. body heat). Can be used to detect when a person or pet walks in front of the robot.
- Arduino commands: the following Arduino commands will be useful. See the Arduino Language Reference resource in the Bibliography section for more details.
- pinMode(): sets the Arduino's pins as inputs or outputs.
- digitalWrite(): sets the status (high or low) of an output pin. Use this to control the direction of the motors with the H-bridge.
- digitalRead(): reads the status (high or low) of an input pin. Use this to take readings from digital sensors like the PIR sensor.
- analogWrite(): generates a pulse width modulation (PWM) signal on an output pin, which rapidly turns the pin on and off. Use this to control motor speed along with the H-bridge.
- analogRead(): reads an analog value on one of the analog input pins. Use to take readings from analog sensors like a potentiometer or photoresistor.
Figure 1. A Bluebot with an Arduino and multiple sensors.
General electronics tutorials:
- Science Buddies (n.d.). How to Use a Breadboard. Retrieved July 6, 2020.
- Science Buddies (n.d.). How to Use a Multimeter. Retrieved July 6, 2020.
- Science Buddies (n.d.). Wire Stripping Tutorial. Retrieved July 6, 2020.
Reference for using an Arduino:
- Science Buddies (n.d.). Getting Started with Arduino. Retrieved July 6, 2020.
- Arduino (n.d.). Language Reference. Retrieved July 6, 2020.
Reference for using the L293D motor driver chip:
- Last Minute Engineers (n.d.). Control DC Motors with L293D Motor Driver IC & Arduino. Retrieved July 8, 2020.
Bluebot project instructions with more details about each sensor:
- Science Buddies (n.d.). Build a Motion-Activated Guard Robot (Bluebot Project #1). Retrieved July 8, 2020.
- Science Buddies (n.d.). Build a Speedy Light-Tracking Robot (Bluebot Project #2). Retrieved July 8, 2020.
- Science Buddies (n.d.). Build a Zippy Line-Following Robot (Bluebot Project #3). Retrieved July 8, 2020.
- Science Buddies (n.d.). Build a Motion-Activated Guard Robot (Bluebot Project #4). Retrieved July 8, 2020.
- Arduino must be purchased separately
Ask an Expert
If you like this project, you might enjoy exploring these related careers:
Contact UsIf you have purchased a kit for this project from Science Buddies, we are pleased to answer your questions.
In your email, please follow these instructions:
- What is your Science Buddies kit order number?
- Please describe how you need help as thoroughly as possible:
Good Question I'm trying to do Experimental Procedure step #5, "Scrape the insulation from the wire. . ." How do I know when I've scraped enough?
Good Question I'm at Experimental Procedure step #7, "Move the magnet back and forth . . ." and the LED is not lighting up.
Bad Question I don't understand the instructions. Help!
Good Question I am purchasing my materials. Can I substitute a 1N34 diode for the 1N25 diode called for in the material list?
Bad Question Can I use a different part?
- Science Fair Project Guide
- Other Ideas Like This
- Robotics Project Ideas
- Space Exploration Project Ideas
- My Favorites