http://students.iitk.ac.in/roboclub Main Components: Sensors Micro controller Motor drivers Chasis How IR Led sensors work?? On the basis of variation in reflection property of Different Colours Atmega Difficulties with Atmega • Software is not User Friendly • Many softwares required : •CVAVR – Editor and Compiler •AVR Studio – Transfer code to Atmega • External Programmer required So is there a better solution ARDUINO – Open Source Platform What is Arduino?? • Open-source physical computing platform. • Physical Input / Output board (I/O) with programmable Integrated Circuit (IC) • Contains Atmega series Micro controller Why Arduino ?? • Easy to use • Provides a number of libraries to program the microcontroller easily • Hardware platform already has the power and reset circuitry setup • Hardware provides circuitry to program and communicate with the microcontroller over USB • Arduino has a great community of users that you can get help from • Check out: http://arduino.cc/en/Guide/HomePage 1. Download & install the Arduino environment (IDE) 2. Connect the board to your computer via the USB cable 3. If needed, install the drivers. 4. Launch the Arduino IDE 5. Select your board 6. Select your serial port 7. Open the blink example 8. Upload the program See: http://arduino.cc/en/Guide/Environment for more • Code is case sensitive • Statements are commands and must end with a semi-colon • Comments follow a // or begin with /* and end with */ • loop and setup pinMode(pin, mode) Sets pin to either INPUT or OUTPUT digitalRead(pin) Reads HIGH or LOW from a pin digitalWrite(pin, value) Writes HIGH or LOW to a pin MOTOR DRIVER Why MOTOR DRIVER ??? • Micro controllers (Atmega ,Arduino) require 5-10 mA while motors require 150 mA and above so Motor Driver is used . • For driving motor at different rpm by using PWM H-Bridge An electronic circuit that enables a voltage to be applied across a load in either direction. What is PWM ?? Known as Pulse Width Modulation Simple method of obtaining analog output of any value between 0 and 5V • Suppose we need 3V for our device at a specified pin. We supply 5V on it for (3/5)* 100 % = 60% of the time period and 0V for the remaining time period The average voltage at the pin for a time period becomes 3V If this step is repeated very fast (T is very small), then the output behaves as a analog signal of 3V. Programming for Motor Driver in Arduino BLOCK DIAGRAM Line following using 2 sensors Both the sensors detect the line then both motors rotate at same pwm. Hence the bot moves forward . When the right sensor detects the line , left motor is given more speed . Hence the bot moves towars right. When the left sensor detects the line , right motor is given more speed. Hence the bot moves towards left. PWM of Left motor=MEAN PWM –(kp*deviation) PWM of Right motor=MEAN PWM +(kp*deviation) Kp – Constant of Proportionality Derived experimentally