Wednesday, August 3, 2011

Arduino bot


This is an Arduino based bot built by the OISE Computer Technology Grade 11-12 teachers in July.
Top view.
Side ViewBottom viewFront view.

Thanh Nguyen

Paresh Christian

George Goutziomitros

Esteban De Los Santos Lezama

Richard Davies

Jackie Griffith

Course: TEJAQ Grade 11/12

Teacher: Mike Druiven

OISE

August 3, 2011

Robotics - Lesson Plan



Topic: Computer Technology TEJ4M – How to Create a Robot



Notes


Context: Approximately 20 – 25 Instructional Days




Learning Outcomes:


A3.1 use technical terminology to accurately describe the specifications for electronic components and computer interfaces;

A3.2 describe the function and operation of various input devices, output devices, and electronic circuits used in interface and control systems;

A3.5 research and select components based on circuit requirements;

B1.3 construct and test connection media for interfacing a computer with an external device;

B3.1 use a design process and appropriate software design circuits;

B3.3 safely construct electronic circuits for interfacing or robotic applications using appropriate materials, tools, and techniques, including soldering;

B3.4 test and troubleshoot electronic circuits, using appropriate methods and test equipment and modify the circuits to meet design requirements if necessary;

B5.2 apply programming concepts including subroutines, parameter passing, decision and repetition structures, arrays, and character representation;

B5.3 use a design process to create a program that interacts with a real-world device;

B5.4 write a low-level program that runs on a real or simulated controller device.



References:


Part Supplier in Montreal - http://robotshop.com/ca


Servo Specifications - http://www.servocity.com/html/hs-311_standard.html

Servo Modification - http://www.flickr.com/photos/randomskk/2569969633/

There were also two resources that we use for the programming of the line sensor QRE1113.

One was for specifications and the other was for programming.

Line Sensor Specifications –

http://www.robotshop.com/world/sfe-digital-ir-line-sensor-qre1113-2.html

Programming - http://bildr.org/2011/06/qre1113-arduino/


Tools Required:


Phillips screw driver, soldering iron, pliers, wire cutters, wire strippers, multi meter, super glue, safety glasses, drill press, band saw machine, needle nose pliers, scissor, electrical tape.




Step-by-Step Instructions:


  1. Collect all needed parts

  2. Modifying HS-311 servo motors for continuous rotation

  3. Cut the baseboard to accommodate Arduino UNO board and breadboard for electronic connections

  4. Attach brackets to servo motors so they can be attached on the baseboard

  5. Drill holes and attach modified servo motors to the underside of the baseboard

  6. Attach wheels to the servo motors

  7. Attach the “third leg” to the underside of the baseboard so the robot can move smoothly

  8. Attach Arduino UNO board with Velcro and breadboard to top of the baseboard (breadboard is preferred at the front of the breadboard)

  9. Install battery holder (4 AAs) on the underside of the baseboard with Velcro.

  10. Connect (used) AC/DC Power Supply Adapter Plug to the 9v battery pigtail.

  11. Connect wires of the servo motors to the Arduino board through the breadboard (Red wire - 5V, Black wire - GND and Yellow wires - pin 9 or pin 10 PWM of the Arduino)

  12. Write a program on the Arduino board so it can control rotation of the wheels

  13. Design the front board (front loaders) to be attached to the baseboard to accommodate QRE1113 line-sensors

  14. Attach two QRE113 line-sensors on the inside bottom of the front loader. One on each side of the front-loader

  15. Solder the wires to the line-sensors so they can be connected to the breadboard. The sensors should be about 3 – 5mm from the ground

  16. Connect wires from line sensors to the breadboard so they can be monitored and controlled by the Arduino UNO (Vcc – 5V, GND – GND and OUT – pin 3 or pin 5 PWM on the Arduino)

  17. Modify the program on the Arduino so it can accept the outputs of the line-sensors, determine outcome and output commands to control the rotation of the wheels

  18. Load the program to the Arduino and test the robot using already made board with pattern of black lines











Extension Activity:


Addition of two antennas in order to transform the robot in a light seeking vehicle.


We can connect 2 antennas to the robot. Each antenna has an LDR at the end connected as the diagram illustrates below. When there is more light hitting the voltage read in the Analog pin increases. The idea is simple.


If the difference between the absolute value of the two LDR readings is smaller or equal than a pre-tested value d, then continue moving forward (the value d has to be found through experimentation).

Else, if the reading from LDR1 is smaller than the reading from LDR2, then turn right.

Else turn left.


The pseudo code for the main loop would be the following:



if (|LDRVal1 - LDRVal2|<=d) {

// continue moving forward

} else if (LDRVal1 < LDRVal2) {

// turn right

} else {

// turn left

}





Parts List:



Item

Part #

Quantity


Standard Servo motor

HS-311

2


Microcontroller board, i.e Arduino Uno board with 14 digital input/output pins and 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button


1


Breadboard


1


Line sensor

QRE 1113

2


Wires solid

# 22 size

3m


Nut and bolts

(4-40, 6-32)

lots


Battery Holder (for 4 AA 1.5 v batteries)


1


AA battery 1.5


4


9 volt Battery cap


1


USB A / B cable


1


Wheel SW 2-5/8” Diameter

RB-Sbo-86

2


Velcro


15cm


Plastic board


14cm x 8cm


LDR (for extension activity)


2


Resistor (for extension activity)

100 kilo ohms

2


(used) AC/DC Power Adaptor


1








RUBRIC

Categories

Level 1

50%

Level 2

60%

Level 3

70%

Level 4

80%

Knowledge

of content


demonstrates limited understanding of functionality of parts and proper wiring


demonstrates some understanding of functionality of parts and proper wiring


demonstrates considerable understanding of functionality of parts and proper wiring



demonstrates thorough understanding of functionality of parts and proper wiring

Thinking


uses creative thinking processes in the design and layout of the robot with limited effectiveness


uses creative thinking processes in the design and layout of the robot with some effectiveness


uses creative thinking processes in the design and layout of the robot with considerable effectiveness



uses creative thinking processes in the design and layout of the robot with high degree of effectiveness

Communication


the layout and organization of the robot allows debugging with limited effectiveness


the layout and organization of the robot allows debugging with some effectiveness


the layout and organization of the robot allows debugging with considerable effectiveness



the layout and organization of the robot allows debugging with high degree of effectiveness

Application


the line following test of the robot was successful with limited effectiveness


the line following test of the robot was successful with some effectiveness


the line following test of the robot was successful with considerable effectiveness



the line following test of the robot was successful with high degree of effectiveness

Robotics - Rubric