Introduction to Programming Arduino Robots
The ‘Introduction to Arduino Programming’ tutoring group’ is a great way to get kids started in robotics. Participants build electronic circuits to create robots based on the popular ArduinoPro-Mini Controller. Each Participant builds their own robot completely from scratch with direction from experienced teachers. Even gear boxes must be assembled and optimized, introducing students to the concepts of electric motors and mechanical engineering.
About the Class
- Hands-on, goal oriented basic electronics, computer programming and trouble-shooting.
- For those interested in pursuing robotics and basic electronics including the Robotics Merit Badge.
- Classes last 12 weeks, 2 hours each week, for a total of 24 hours of instruction time.
- Each student will build and program their own robot which they will keep at the end of the program.
- The class progresses through a logical series of projects designed to build confidence and skills.
- Concepts are reinforced with robot contests like dance, line following and robot sumo.
- Participants are encouraged to use their own laptop or netbook computers to facilitate at-home learning.
- Software: Arduino IDE is Free, online.
- Assignments: Programming and assembly assignments can be completed at home.
- Assessment: Participants demonstrate successful programs, participate in classroom contests.
- A ‘Robot Party’ is held at the end of the program so that students can to demonstrate each concept.
Goals and Objectives
As a result of instruction, homework, hands-on instructor guided construction of an autonomous, mobile robotics platform, students will be able to:
- Build basic electronic circuits using a solderless breadboard, wire strippers, pliers and components.
- Construct a power supply to convert 9 volts to 5 volts.
- Make a pin ‘flash’ – (digital output)
- Measure analog inputs – (Voltage divider with variable resistors incl. light, heat, pressure)
- Use a button to control output behaviors
- Program binary counters and read and decipher binary numbers.
- Create code and build circuits that enable robots to make music.
- Create code to produce ‘Analog Outputs’ – (Fade/PWM for motor speed control)
- Create code and build circuits to enable their Arduino controller to operate H-Bridge motor controller.
- Construct a two-wheeled independent gear box from a kit.
- Create code and build circuits that will enable robots to navigate by dead reckoning. (Dance)
- Create code and build tactile sensors that will enable robots to avoid obstacles. (Maze solving)
- Create code and build infrared sensors that will enable robots to follow a line. (Line Follower)
- Create code that enables robots to stay inside a black line. (Sumo)
- Create code and build circuits that enable robots to participate in ‘Blind Sumo’.
- Develop a basic understanding of electronics and the integration of computer code.
About the Robot
Cost for supplies provides each student with everything needed to build and program the robot including:
- Arduino Pro-Mini microcontroller w/USB programmer
- All electronic components, sensors, connecting wire
- L293D Dual-H Motor Driver
- Motor and Gear box Assembly Kit & Chassis
- 830 Point Breadboard breadboard and tools
Outline for ten week Arduino Pro Mini ATmega328 Robotics Class
(Rev ‘A’, September 2015)
- Introduction to Arduino Robots and programming the Arduino Pro Mini
a. Overview of class; check robot kits for components
b. Load Arduino IDE (software) on student laptops
c. Write and upload first program to Pro Mini controllers
- Introduction to breadboarding technique
a. Connect Arduino Pro Mini to bread-board to understand layout/operation
b. Attach one external LED and resistor to run ‘Blink’ program on an external pin
c. Apply ‘For’ loops to modify ‘Blink’ sketch
- Addressing 8 digital outputs (LEDs)
a. Building resistor/LED networks attached to controller pins on breadboard
b. Identifying and addressing pins
c. Declaring constants and variables
d. Looping – (Infinite/Conditional)
- Using Variables to display information w/LEDs
a. Using digital inputs to change display
b. Creating feedback for sensors
- Digital Inputs
a. Create tactile sensors, (‘Button’ sketch)
b. Develop code to read sensors
c. Displaying outputs when switches are open/closed
- Connecting “H-Bridge” Motor Controller
a. Wiring the L293D H-Bridge
b. Test running Motors
- Building a Gearbox
a. Selecting the optimal gear ratio
b. Assembling a Tamiya dual motor gearbox
- A to D (Analog to Digital) conversion
a. Detecting light levels
b. Converting light values to voltage
c. Displaying values in binary LED display
- IR Sensors
a. Attach IR sensors to Robot
b. Serial Monitoring to Calibrate Sensors
c. Integrate sensors into code to control behavior
- Follow a Line/ Robot Sumo!
a. Create code so that robot follows a line
b. Calibrate sensors to differentiate light/dark
c. Create code so that robots can stay in ring to play Sumo!