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

BURO Arduino Workshop

on

  • 6,949 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
6,949
Views on SlideShare
6,822
Embed Views
127

Actions

Likes
10
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 BURO Arduino Workshop Presentation Transcript

  • photo: http://flic.kr/p/5XwBFB
    BURO Arduino Workshop
  • 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
  • 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
    View slide
    • Bill Verplank
    http://www.billverplank.com/Lecture/
    View slide
  • 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
  • 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
  • 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
  • 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
  • Official Arduino Hardware
    http://arduino.cc/en/Main/Hardware
  • “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
  • “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/
  • Alternative form factors 
    • Breadboard Arduino
    http://bit.ly/7QMkbx
    One-Chip Arduino
    http://bit.ly/WXqeU
  • 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
  • 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
  • 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
  • Arduino Bar, Ivrea(from Massimo Banzi’s slides)
  • 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
    • Not Quad-core
    • RAM: 2KB
    • Storage:
    • 32KB Program Memory
    • 1KB EEPROM
    • I/O:
    • Up to 23 generic I/O
    • 6 of them ‘analog-capable’
    • 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/
  • Sensors
    Temperature
    Light
    Humidity
    Pressure
    Distance
    Touch/‘Knock’
    Rotation
  • Motors
    DC Motors
    Servos
    Steppers
    Solenoids
    Hydraulics
    Actuators
  • “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
  • BREADBOARDS ARE COOL!
  • The BreadBoard!
    * Drawn using the new Fritzing ( http://fritzing.org )
  • Arduino Software
    Based on avr-gcctoolchain and the Processing IDE.
    Code editor, programming tools and serial terminal all in one place.
  • Arduino Language
    Simplified C/C++
    Based on the Wiring Project
    http://wiring.org.co
    Peripheral Libraries
    LCD, sensors, I2C, etc
  • 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
  • Example: Button
  • Example: SerialDisplay
  • Arduino Community
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl
    http://www.arduino.cc/playground/
  • Resistor
    TheHydraulicAnalogy
    Capacitor
    Wire
    Diode
    Transistor
    http://en.wikipedia.org/wiki/Hydraulic_analogy
  • Resistors
    http://flic.kr/p/EDuqt
  • Resistors
    Parallel
    Connection
    Series Connection
    MAKE Presents: The Resistor - http://youtube.com/watch?v=-td7YT-Pums
  • Diodes
    http://bit.ly/3f5YQt
  • Diodes
    MAKE Presents: The Diode - http://youtube.com/watch?v=AqzYsuTRVRc
  • Light Emitting Diodes
    http://flic.kr/p/38DLnC
  • LEDs
    MAKE Presents: The LED - http://youtube.com/watch?v=P3PDLsJQcGI
  • 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
  • Ohm’s Law
    V = Voltage
    I = Current
    R = Resistance
    V
    I
    R
    V = Current * Resistance
    I = Voltage / Resistance
    R = Voltage / Current
  • Capacitors
    http://flic.kr/p/EDtRo
  • Capacitors
    Series Connection
    Parallel
    Connection
    MAKE Presents: The Capacitor - http://youtube.com/watch?v=ZYH9dGl4gUE
  • Transistors
    http://flic.kr/p/qjbnc
  • Transistors
    MAKE Presents: The Transistor - http://youtube.com/watch?v=-td7YT-Pums
  • Driving LEDs with transistors(using a transistor as a switch)
    VCC
    Drive here…
  • Interfacing?
    A
    B
  • Standard Computer Interfaces
    Wired
    USB
    Serial Port
    Parallel Port
    Firewire
    Ethernet
    And others…
    • Wireless
    • WiFi
    • Bluetooth
    • IrDA
  • ‘Embedded’ Interfaces
    SPI
    I2C
    1-Wire
    UNI/O
    And others…
  • 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.
  • 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
  • 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!
  • http://arduino.cc
    http://arduino.cc/playground/
    http://freeduino.gen.tr
    http://freeduino.org
    http://buroburo.net/workshop
    Links…