• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
BURO Arduino Workshop
 

BURO Arduino Workshop

on

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

Actions

Likes
9
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

11 of 1 previous next

  • 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
      • Bill Verplank
      http://www.billverplank.com/Lecture/
    • 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…