Your SlideShare is downloading. ×
  • Like
  • Save
BURO Arduino Workshop
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BURO Arduino Workshop

  • 5,627 views
Published

Slides used in the Arduino Workshop (24-25 Dec 2009) organised by BURO.

Slides used in the Arduino Workshop (24-25 Dec 2009) organised by BURO.

Published in Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Could I get a copy of these slides?
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
5,627
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
1
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. photo: http://flic.kr/p/5XwBFB
    BURO Arduino Workshop
  • 2. Arduino
    …is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
    http://arduino.cc
  • 3. Physical Computing
    …is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically.
    - Tom Igoe
    http://www.tigoe.net/pcomp/blog/archives/notes/000169.shtml
  • 4.
    • Bill Verplank
    http://www.billverplank.com/Lecture/
  • 5. Embedded Systems
    …are computer systems designed to perform one or a few dedicated functions. They are embedded as part of a complete device often including hardware and mechanical parts. In contrast, a general-purpose computer, such as a personal computer, is designed to be flexible and to meet a wide range of an end-user's needs. Embedded systems control many of the common devices in use today..
    - Smart folks at Wikipedia
    http://en.wikipedia.org/wiki/Embedded_systems
  • 6. Why Arduino?
    Inexpensive
    No need for external programmers, compiler licenses etc.
    Simple, clear programming environment
    All done in a simple IDE, no command line voodoo
    Cross-platform
    Works uniformly across Windows, Linux, MacOS
    Open Source!
    Both software and hardwre
  • 7.
  • 8.
  • 9. Hardware
    Atmel Microcontroller
    ATmega328 (Duemilanove) / ATmega1280(Mega)
    ATmega8/ATmega168 on older versions
    ATmega644 for Sanguino
    Serial Bootloader
    STK500 compatible
    Support Circuitry
    Reset, Voltage Regulator, etc…
    USB/Serial Connectivity
  • 10. Anatomy of an Arduino Board
    digital pins
    USB to serial
    converter
    microcontroller
    (the brain!)
    power circuitry
    (voltage regulator and
    the clever power
    source selection bit)
    analog pins
    power pins
  • 11. Official Arduino Hardware
    http://arduino.cc/en/Main/Hardware
  • 12. “Shield Compatible” Hardware
    (1)
    (2)
    (3)
    [1] Freeduino - http://www.freeduino.org/freeduino_open_designs.html
    [2] Illuminato - http://www.liquidware.com/shop/show/ILL/Illuminato
    [3] Seeeduino - http://www.seeedstudio.com/depot/seeeduino-v328-fully-assembledatmega-328-p-439.html
  • 13. “Bootloader Compatible” Hardware
    (3)
    (2)
    (1)
    (4)
    [1] Oak Micros om328p - http://oakmicros.com/content/om328p.html
    [2] Modified Pico - http://www.modifiedelectronics.com/mp-01.php
    [3] Boarduino - http://www.ladyada.net/make/boarduino/index.html
    [4] Sanguino - http://sanguino.cc/
  • 14. Alternative form factors 
    • Breadboard Arduino
    http://bit.ly/7QMkbx
    One-Chip Arduino
    http://bit.ly/WXqeU
  • 15. There’s more!
    Official boards
    http://arduino.cc/en/Main/Boards
    Arduino-like Boards
    http://www.arduino.cc/playground/Main/SimilarBoards
    Other ‘duinos
    http://www.freeduino.org/duino.html
    ...and possibly others
  • 16. Arduino Shields
    (3)
    (1)
    (4)
    (2)
    [1] Adafruit Motor Shield - http://ladyada.net/make/mshield/index.html
    [2] Nu Electronics LCD shield - http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=2
    [3] Arduino Ethernet Shield - http://arduino.cc/en/Main/ArduinoEthernetShield
    [4] Adafruit Wave Shield - http://ladyada.net/make/waveshield/index.html
  • 17. Again, there’s more!
    http://www.arduino.cc/playground/Main/SimilarBoards
    Look under ‘Shields’
    Some cool ones:
    Liquidware
    TouchShield
    http://www.liquidware.com/shop/show/TS/TouchShield+Stealth
    BatsocksTellyMate Shield
    http://www.batsocks.co.uk/products/Shields/TellyMate%20Shield.htm
    tinker.it RFID shield
    http://tinker.it/en/Teaching/RFID
  • 18. Arduino Bar, Ivrea(from Massimo Banzi’s slides)
  • 19. Big Computer vs. Tiny Computer
    Dell Precision T1500
    Atmel ATMEGA328P
    CPU Speed: 2.93GHz
    Quad-core!
    RAM: 16GB
    Storage: 2TB
    I/O:
    USB, Firewire, Serial, PS/2, RJ-45, Audio, etc.
  • It’s an analog world…
    Digital – only has two values: on/off
    Analog – has many (infinite) values
    Computers don’t really do analog
    So they fake it, with quantization
    From Tod E. Kurt’s ‘Spooky Projects’ notes - http://todbot.com/blog/spookyarduino/
  • 29. Sensors
    Temperature
    Light
    Humidity
    Pressure
    Distance
    Touch/‘Knock’
    Rotation
  • 30. Motors
    DC Motors
    Servos
    Steppers
    Solenoids
    Hydraulics
    Actuators
  • 31. “Modules”
    Bluetooth
    http://www.sparkfun.com/commerce/product_info.php?products_id=582
    Character LCD
    http://www.oomlout.co.uk/lcd-display-16-x-2-p-212.html
    GPS
    http://www.sparkfun.com/commerce/product_info.php?products_id=465
  • 32. BREADBOARDS ARE COOL!
  • 33. The BreadBoard!
    * Drawn using the new Fritzing ( http://fritzing.org )
  • 34. Arduino Software
    Based on avr-gcctoolchain and the Processing IDE.
    Code editor, programming tools and serial terminal all in one place.
  • 35. Arduino Language
    Simplified C/C++
    Based on the Wiring Project
    http://wiring.org.co
    Peripheral Libraries
    LCD, sensors, I2C, etc
  • 36. Useful functions
    pinMode() – set a pin as input or output
    digitalWrite() – set a digital pin high/low
    digitalRead() – read a digital pin’s state
    analogRead() – read an analog pin
    analogWrite() – write an “analog” PWM value
    delay() – wait an amount of time
    millis() – get the current time
    http://arduino.cc/en/Reference/Extended
  • 37. Example: Button
  • 38. Example: SerialDisplay
  • 39. Arduino Community
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl
    http://www.arduino.cc/playground/
  • 40. Resistor
    TheHydraulicAnalogy
    Capacitor
    Wire
    Diode
    Transistor
    http://en.wikipedia.org/wiki/Hydraulic_analogy
  • 41. Resistors
    http://flic.kr/p/EDuqt
  • 42. Resistors
    Parallel
    Connection
    Series Connection
    MAKE Presents: The Resistor - http://youtube.com/watch?v=-td7YT-Pums
  • 43. Diodes
    http://bit.ly/3f5YQt
  • 44. Diodes
    MAKE Presents: The Diode - http://youtube.com/watch?v=AqzYsuTRVRc
  • 45. Light Emitting Diodes
    http://flic.kr/p/38DLnC
  • 46. LEDs
    MAKE Presents: The LED - http://youtube.com/watch?v=P3PDLsJQcGI
  • 47. LED Resistor Calculation
    Let’s assume we have a 9V source…
    R = V / I
    R = (9-3.4) / (20*10-3)
    R = 280 Ω
    Nearest standard value is 330 Ω
    List of standard resistor values: http://www.logwell.com/tech/components/resistor_values.html
  • 48. Ohm’s Law
    V = Voltage
    I = Current
    R = Resistance
    V
    I
    R
    V = Current * Resistance
    I = Voltage / Resistance
    R = Voltage / Current
  • 49. Capacitors
    http://flic.kr/p/EDtRo
  • 50. Capacitors
    Series Connection
    Parallel
    Connection
    MAKE Presents: The Capacitor - http://youtube.com/watch?v=ZYH9dGl4gUE
  • 51. Transistors
    http://flic.kr/p/qjbnc
  • 52. Transistors
    MAKE Presents: The Transistor - http://youtube.com/watch?v=-td7YT-Pums
  • 53. Driving LEDs with transistors(using a transistor as a switch)
    VCC
    Drive here…
  • 54. Interfacing?
    A
    B
  • 55. Standard Computer Interfaces
    Wired
    USB
    Serial Port
    Parallel Port
    Firewire
    Ethernet
    And others…
  • ‘Embedded’ Interfaces
    SPI
    I2C
    1-Wire
    UNI/O
    And others…
  • 59. Example Project: Thermometer
    A temperature sensor is connected to an analog input on the Arduino
    Arduino periodically reports the temperature back to PC
    PC uses this data to plot graphs etc.
  • 60. Thermometer: Arduino Code
    intsensorPin = 0; // the analog pin that the sensor is connected to
    void setup(){
    Serial.begin(9600);
    }
    void loop(){
    //getting the voltage reading from the temperature sensor
    int reading = analogRead(sensorPin);
    // converting that reading to voltage, for 3.3v arduino use 3.3
    float voltage = reading * 5.0 / 1024;
    // print out the voltage
    Serial.print(voltage); Serial.println(" volts");
    // now print out the temperature
    floattemperatureC = (voltage - 0.5) * 100;
    // converting from 10 mV per degree with 500 mV offset
    // to degrees ((voltage - 500mV) times 100)
    Serial.print(temperatureC); Serial.println(" degress C");
    delay(1000); // wait a second
    }
    From Ladyada’s TMP36 Tutorial - http://www.ladyada.net/learn/sensors/tmp36.html
  • 61. Thermometer: PC Side
    Read the incoming data every X seconds (cron)
    Collect and plot temperature graphs (rrdtool)
    Example: thermostat-graph
    http://www.anders.com/projects/thermostat-graph/
    Not an Arduino project but easily hackable!
  • 62. http://arduino.cc
    http://arduino.cc/playground/
    http://freeduino.gen.tr
    http://freeduino.org
    http://buroburo.net/workshop
    Links…