KEMBAR78
Intro to Arduino | PPT
Avik Dhupar
Overview What is Arduino? What is it used for? How to get started Demonstration Questions are welcome at any time.
What is Arduino? “ Arduino is an open-source physical computing platform based on a simple i/o board and a development environment that implements the Processing / Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer.“   ( www.arduino.cc, 2006 )
Arduino is a platform A physical Input / Output board (I/O) with a programmable Integrated Circuit (IC).
Arduino is a platform Also including an Integrated Development Environment (IDE) for programming. The language itself is based in C but is largely modeled upon the www.processing.org language.
What is it used for? Physical Computing projects / research Interactive Installations Rapid prototyping When you wish to move beyond the traditional Mouse, Keyboard and Monitor to develop novel and custom interactions in your project work.
What can it do? Sensors  ( to sense stuff ) Push buttons, touch pads, tilt switches. Variable resistors (eg. volume knob / sliders) Photoresistors (sensing light levels) Thermistors (temperature) Ultrasound (proximity range finder) Actuators  ( to do stuff ) Lights, LED’s Motors Speakers Displays (LCD)
Why Arduino? It is Open Source, both in terms of Hardware and Software. It is cheap(1300 रु ), the hardware can be built from components or a prefab board can be purchased for approx 900 रु . It can communicate with a computer via serial connection over USB. It can be powered from USB or standalone DC power.
Why Arduino? It can run standalone from a computer (chip is programmable) and it has memory (a small amount). It can work with both Digital and Analog electronic signals.  Sensors and Actuators. You can make cool stuff!  Some people are even making simple robots, and we all know robots are just cool.  
How to get started You’ll need a board of course, along with the USB cable and DC power supplies. Read about, understand what you are working with and download the IDE:  http://www.arduino.cc Mac, Windows and Penguin friendly versions available Then you are ready to plug it in!
Not so fast! It’s important to note at this stage that Arduino’s are electronic devices. This means you MUST consider electrical safety and understand the basics before diving straight in. The board itself doesn’t operate at what would normally be considered dangerous Voltages or Current, but if in doubt at any stage of use you should seek more expert advice.
Basic Electrical knowledge At the moment we don’t have any electrical engineers so we need to do some ground work ourselves. A fantastic guide to electronics in theory, practice and of course safety is available as a PDF at:  http://www.ibiblio.org/obp/electricCircuits/ What you want is Volume 1, DC circuits.  This will help you greatly in understanding how to wire circuits when using sensors and actuators.
Basic Electrical knowledge Resistor symbol  LED symbol, positive pin on the left, negative pin on the right  Each electronic component has a schematic symbol, which is a simplified drawing of the part. For resistors the symbol looks like this: And the symbol for LED's look like this: You can see that the resistor symbol is symmetric, just like resistors themselves. The LED symbol, however, has an arrow thing going on. This is the direction in which current flows. The little arrows that are coming out of the symbol indicate that this is a diode that emits light.  Power and Ground symbols
Basic Electrical knowledge The only thing we need to do now is indicate how the LED and resistor are hooked up and show the 5V and ground connections.  Next to symbols, we often write important information like what the resistor value is, what color and size the LED should be, and the voltage associated with the power supply.
Quiz! LED #1 has a 100 ohm resistor (Brown Black Brown) LED #2 has a 1.0K (Brown Black Red)  LED #3 has a 10K (Brown Black Orange).  Which LED is brightest? Which LED is dimmest ? If we had an LED with a resistor that was 5K ohms, which LED would it be brighter than? Which LED would it be dimmer than?
A Quick Rewiring...  We're going to make a very small modification to our wired up circuit Result?
Getting up and running The power mode must be selected before you plug the board into anything. When powering from the USB cable (5 volts) the jumper should be closest to the USB input, for DC supply the jumper should be closest to the DC input.
 
Getting up and running Plug it into the USB port and install the USB drivers that come with the IDE. Open up the Arduino IDE and select the COM port, usually COM1 or COM2 on a Windows machine. Within the IDE, select the BAUD rate (communication speed for serial connections) Set BAUD rate to 9600 on Windows, (?) for Mac?
Basic Process Design the circuit: What are electrical requirements of the sensors or actuators?  Identify inputs (analog inputs) Identify digital outputs Write the code Build incrementally Get the simplest piece to work first Add complexity and test at each stage Save and Backup frequently  Use variables, not constants Comment liberally
Writing and Downloading Code
Running Code While Tethered
Running Code Stand-Alone
Arduino IDE IDE = Integrated Development Environment http://www.arduino.cc/en/Guide/Environment
Overview of  The  C  Programming Language
Demonstration Start up the Arduino software and open up the  Blink  sketch. For the most basic kind of program you’ll need a simple actuator, an LED with the long leg (+) pushed into pin 13 and the short leg (-) in the adjacent ground pin (GND).  Pin 13 is special, in the sense that it has a built in resistor to correctly control the voltage going into a testing LED just like this. Example 1
Code Structure: Header Header provides information Example 1
Code Structure: setup function setup function is executed only once at the start Example 1
Code Structure: loop function loop function is repeated indefinitely Example 1
Code Digital I/O Functions: pinMode digitalWrite digitalRead pinMode(13, Output) prepare pin 13 for outputs of voltage Example 1
Code digitalWrite(13, HIGH) Sets pin 13 to a voltage that means “on” Digital I/O Functions: pinMode digitalWrite digitalRead Example 1
Code Digital I/O Functions: pinMode digitalWrite digitalRead delay(1000); Tells microcontroller to do nothing for 1000 ms = 1 s Example 1
Code digitalWrite(13, LOW) Sets pin 13 to voltage that means “off” Digital I/O Functions: pinMode digitalWrite digitalRead Example 1
The connections  Example 1
Upload a program At this stage we just programmed the LED to blink on and off at a set time interval.  Press the reset button on the board and then click ‘Upload to I/O board’ in the IDE.  If all goes well lights should flicker on the board and the IDE will confirm success.
MORE
Demonstration Robot controlled by a TV remote Example 2
Demonstration RFID based wireless login system Example 3
Conclusion There’s heaps more to explore, I’ve barely scratched the surface of what you can really do with this technology. Make it happen.  If you want to use an Arduino in your project you’ll have to be proactive about it and do the research yourself.  It really isn’t hard, just get stuck in.
¿  Questions ? Use the website and associated forum for tutorials, code samples and general help: www.arduino.cc Find my PPTs at  www.slideshare.net/avikdhupar Find me at  www.facebook.com/avikd Or drop an email [email_address] Find my videos at http://vimeo.com/avikd/videos
Thank you  

Intro to Arduino

  • 1.
  • 2.
    Overview What isArduino? What is it used for? How to get started Demonstration Questions are welcome at any time.
  • 3.
    What is Arduino?“ Arduino is an open-source physical computing platform based on a simple i/o board and a development environment that implements the Processing / Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer.“ ( www.arduino.cc, 2006 )
  • 4.
    Arduino is aplatform A physical Input / Output board (I/O) with a programmable Integrated Circuit (IC).
  • 5.
    Arduino is aplatform Also including an Integrated Development Environment (IDE) for programming. The language itself is based in C but is largely modeled upon the www.processing.org language.
  • 6.
    What is itused for? Physical Computing projects / research Interactive Installations Rapid prototyping When you wish to move beyond the traditional Mouse, Keyboard and Monitor to develop novel and custom interactions in your project work.
  • 7.
    What can itdo? Sensors ( to sense stuff ) Push buttons, touch pads, tilt switches. Variable resistors (eg. volume knob / sliders) Photoresistors (sensing light levels) Thermistors (temperature) Ultrasound (proximity range finder) Actuators ( to do stuff ) Lights, LED’s Motors Speakers Displays (LCD)
  • 8.
    Why Arduino? Itis Open Source, both in terms of Hardware and Software. It is cheap(1300 रु ), the hardware can be built from components or a prefab board can be purchased for approx 900 रु . It can communicate with a computer via serial connection over USB. It can be powered from USB or standalone DC power.
  • 9.
    Why Arduino? Itcan run standalone from a computer (chip is programmable) and it has memory (a small amount). It can work with both Digital and Analog electronic signals. Sensors and Actuators. You can make cool stuff! Some people are even making simple robots, and we all know robots are just cool. 
  • 10.
    How to getstarted You’ll need a board of course, along with the USB cable and DC power supplies. Read about, understand what you are working with and download the IDE: http://www.arduino.cc Mac, Windows and Penguin friendly versions available Then you are ready to plug it in!
  • 11.
    Not so fast!It’s important to note at this stage that Arduino’s are electronic devices. This means you MUST consider electrical safety and understand the basics before diving straight in. The board itself doesn’t operate at what would normally be considered dangerous Voltages or Current, but if in doubt at any stage of use you should seek more expert advice.
  • 12.
    Basic Electrical knowledgeAt the moment we don’t have any electrical engineers so we need to do some ground work ourselves. A fantastic guide to electronics in theory, practice and of course safety is available as a PDF at: http://www.ibiblio.org/obp/electricCircuits/ What you want is Volume 1, DC circuits. This will help you greatly in understanding how to wire circuits when using sensors and actuators.
  • 13.
    Basic Electrical knowledgeResistor symbol LED symbol, positive pin on the left, negative pin on the right Each electronic component has a schematic symbol, which is a simplified drawing of the part. For resistors the symbol looks like this: And the symbol for LED's look like this: You can see that the resistor symbol is symmetric, just like resistors themselves. The LED symbol, however, has an arrow thing going on. This is the direction in which current flows. The little arrows that are coming out of the symbol indicate that this is a diode that emits light. Power and Ground symbols
  • 14.
    Basic Electrical knowledgeThe only thing we need to do now is indicate how the LED and resistor are hooked up and show the 5V and ground connections. Next to symbols, we often write important information like what the resistor value is, what color and size the LED should be, and the voltage associated with the power supply.
  • 15.
    Quiz! LED #1has a 100 ohm resistor (Brown Black Brown) LED #2 has a 1.0K (Brown Black Red) LED #3 has a 10K (Brown Black Orange). Which LED is brightest? Which LED is dimmest ? If we had an LED with a resistor that was 5K ohms, which LED would it be brighter than? Which LED would it be dimmer than?
  • 16.
    A Quick Rewiring... We're going to make a very small modification to our wired up circuit Result?
  • 17.
    Getting up andrunning The power mode must be selected before you plug the board into anything. When powering from the USB cable (5 volts) the jumper should be closest to the USB input, for DC supply the jumper should be closest to the DC input.
  • 18.
  • 19.
    Getting up andrunning Plug it into the USB port and install the USB drivers that come with the IDE. Open up the Arduino IDE and select the COM port, usually COM1 or COM2 on a Windows machine. Within the IDE, select the BAUD rate (communication speed for serial connections) Set BAUD rate to 9600 on Windows, (?) for Mac?
  • 20.
    Basic Process Designthe circuit: What are electrical requirements of the sensors or actuators? Identify inputs (analog inputs) Identify digital outputs Write the code Build incrementally Get the simplest piece to work first Add complexity and test at each stage Save and Backup frequently Use variables, not constants Comment liberally
  • 21.
  • 22.
  • 23.
  • 24.
    Arduino IDE IDE= Integrated Development Environment http://www.arduino.cc/en/Guide/Environment
  • 25.
    Overview of The C Programming Language
  • 26.
    Demonstration Start upthe Arduino software and open up the Blink sketch. For the most basic kind of program you’ll need a simple actuator, an LED with the long leg (+) pushed into pin 13 and the short leg (-) in the adjacent ground pin (GND). Pin 13 is special, in the sense that it has a built in resistor to correctly control the voltage going into a testing LED just like this. Example 1
  • 27.
    Code Structure: HeaderHeader provides information Example 1
  • 28.
    Code Structure: setupfunction setup function is executed only once at the start Example 1
  • 29.
    Code Structure: loopfunction loop function is repeated indefinitely Example 1
  • 30.
    Code Digital I/OFunctions: pinMode digitalWrite digitalRead pinMode(13, Output) prepare pin 13 for outputs of voltage Example 1
  • 31.
    Code digitalWrite(13, HIGH)Sets pin 13 to a voltage that means “on” Digital I/O Functions: pinMode digitalWrite digitalRead Example 1
  • 32.
    Code Digital I/OFunctions: pinMode digitalWrite digitalRead delay(1000); Tells microcontroller to do nothing for 1000 ms = 1 s Example 1
  • 33.
    Code digitalWrite(13, LOW)Sets pin 13 to voltage that means “off” Digital I/O Functions: pinMode digitalWrite digitalRead Example 1
  • 34.
  • 35.
    Upload a programAt this stage we just programmed the LED to blink on and off at a set time interval. Press the reset button on the board and then click ‘Upload to I/O board’ in the IDE. If all goes well lights should flicker on the board and the IDE will confirm success.
  • 36.
  • 37.
    Demonstration Robot controlledby a TV remote Example 2
  • 38.
    Demonstration RFID basedwireless login system Example 3
  • 39.
    Conclusion There’s heapsmore to explore, I’ve barely scratched the surface of what you can really do with this technology. Make it happen. If you want to use an Arduino in your project you’ll have to be proactive about it and do the research yourself. It really isn’t hard, just get stuck in.
  • 40.
    ¿ Questions? Use the website and associated forum for tutorials, code samples and general help: www.arduino.cc Find my PPTs at www.slideshare.net/avikdhupar Find me at www.facebook.com/avikd Or drop an email [email_address] Find my videos at http://vimeo.com/avikd/videos
  • 41.

Editor's Notes

  • #4 Available openly, free of cost for anyone Physical computing is the interaction with real world