• Save
BURO Arduino Workshop
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

BURO Arduino Workshop

on

  • 7,082 views

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.

Statistics

Views

Total Views
7,082
Views on SlideShare
6,955
Embed Views
127

Actions

Likes
11
Downloads
0
Comments
1

4 Embeds 127

http://localhost 71
http://freeduino.gen.tr 41
http://www.slideshare.net 14
http://omer.kilic.name 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Could I get a copy of these slides?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

BURO Arduino Workshop Presentation 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.
    • CPU Speed: 20MHz
    • 20. Not Quad-core
    • 21. RAM: 2KB
    • 22. Storage:
    • 23. 32KB Program Memory
    • 24. 1KB EEPROM
    • 25. I/O:
    • 26. Up to 23 generic I/O
    • 27. 6 of them ‘analog-capable’
    • 28. UART/SPI/I2C, 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…
    • Wireless
    • 56. WiFi
    • 57. Bluetooth
    • 58. IrDA
  • ‘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…