Making things sense - Day 1 (May 2011)
Upcoming SlideShare
Loading in...5
×
 

Making things sense - Day 1 (May 2011)

on

  • 1,590 views

Slides for Edge workshop

Slides for Edge workshop

Statistics

Views

Total Views
1,590
Views on SlideShare
1,590
Embed Views
0

Actions

Likes
0
Downloads
128
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

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…
Post Comment
Edit your comment

Making things sense - Day 1 (May 2011) Making things sense - Day 1 (May 2011) Presentation Transcript

  • Making things senseUrban sensing and physical computing Day 1 (7-8 May 2011) Markus Rittenbruch QUT Urban Informatics / FAST & NICTA
  • Schedule - Day 1• 12:00 - 12:20 Introduction• 12:20 - 13:30 Getting started• 13:30 - 13:45 Short Break• 13:45 - 14:15 Basic electronics• 14:15 - 15:00 Arduino in detail• 15:00 - 15:30 Coffee break (Lumia)• 15:30 - 15:50 Introduction Activity• 15:50 - 16:50 Activity
  • Schedule - Day 2• 12:00 - 12:10 Introduction• 12:10 - 12:30 Analogue sensors• 12:30 - 13:00 Activity• 13:00 - 14:00 Sharing sensor data• 14:00 - 14:10 Short break• 14:10 - 16:10 Project activity• 16:10 - 16:50 Project presentations• 16:50 - 17:00 Wrap up
  • Making things sense - Day 1
  • Examples
  • http://www.tangibleinteraction.com
  • http://www.arduino.cc/playground/Main/CoffeeTronics
  • http://diydrones.com/profiles/blog/show? id=705844%3ABlogPost%3A44817
  • http://www.slq.qld.gov.au/whats-on/lumia
  • Books
  • SlidesDay 1 http://www.slideshare.net/markumotoDay 2 http://www.slideshare.net/markumoto
  • Getting started
  • Physical computing• Transduction • Transforming energy• Digital and analog• Parallel and serial• Stages of input, output and processing
  • Overview• Workshop hardware components• Parts: http://www.littlebirdelectronics.com/ http://toysdownunder.com/• Physical computing• Arduino board• Arduino code• Arduino IDE• Writing a program• Download and install Arduino• Arduino Hello World / Blink• Tutorials: http://www.ladyada.net/learn/arduino/index.html http://www.sparkfun.com/commerce/tutorials.php
  • Arduino starter kit
  • Arduino overview (Atmega8U2)Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware andsoftware. Its intended for artists, designers, hobbyists, and anyone interested in creating interactive objectsor environments.The boards can be built by hand or purchased preassembled; the software can be downloaded for free. Thehardware reference designs (CAD files) are available under an open-source license, you are free to adaptthem to your needs.
  • Arduino specification• Arduino Uno (2011)• Microcontroller ATmega328 • DC Current for 3.3V Pin• Operating Voltage 5V 50 mA• Input Voltage • Flash Memory 32 KB of (recommended) 7-12V which 0.5 KB used by bootloader• Input Voltage (limits) • SRAM 2 KB 6-20V• Digital I/O Pins 14 • EEPROM 1 KB• Analog Input Pins 6 • Clock Speed 16 MHz• DC Current per I/O Pin 40 mA
  • Other platforms PhidgetsI-CubeX Wiring Stamp
  • Arduino code• Code in a C-like high-level language (Wiring)• Inbuilt functions to read and set digital and analog inputs and outputs• Includes libraries to perform common hardware or software tasks• Sketches• Many language bindings: • Flash & Flex, Processing, Python, Ruby, Java,C. C++, Objective-C, .NET
  • Arduino IDE
  • Blink code
  • Breadboards
  • Breadboard basics
  • Blink circuitConnections Schematic LED: Anode / Cathode
  • Arduino IDE install• Install Arduino 22 (http://www.arduino.cc/en/ Guide/HomePage)• (Install USB driver)• Select serial port• Select board• Examples: Blink• Compile and upload process• Write to Serialport
  • Blink modifications 1. Talk to the serial console 2. Experiment with intervals3. Change 4. Try this!pins
  • Well done! Take a break.
  • Basic electronics
  • Basic electronics • Water analogy
  • Basic electronics• Current,Voltage and Power • Voltage is measured in Volts (V) → V • Current is measured in Amperes (A) → I • Power is measured in Watts (W) → P • Power = Current x Voltage (P = I x V) • Arduino • 5V (or 3.3V) • 40mA (0.04A) output pin • Direct current (DC) and alternating current (AC) • Mains is nasty!
  • Basic electronics• Electricity flow • Path of least resistance • All electrical energy must be used• Basic electrical circuit • Components in series • Same current, decreasing voltage • Components in parallel • Different current, same voltage • Short circuit
  • Basic electronics• Schematic / Circuit diagram
  • Basic electronics• Resistor • Conductors, insulators and resistance • Resist the flow of electricity (current) • Precise control of electrical current • Measured in Ohm (1Ω - 1MΩ) • Symbol • Colour-code
  • Basic electronics
  • Basic electronics • Types of resistors• Thermistor• Photocell (LDR)• Potentiometer (trim pot, variable resistor)• Force sensitive resistor (FSR)• Flex sensor
  • Basic electronics• Resistor and resistance • Resistors in series • R = R1 + R2 • Resistors in parallel • R = R1 x R2 / (R1 + R2)
  • Basic electronics• Diodes and LEDs • Diodes are polarised • Electricity flows in one direction • Anode (+), Cathode (-) • LED (Light-emitting diode)
  • Basic electronics • Ohm’s law and current limiting V I R Ohm’s triangle R =V / I I =V / R V=IxR• Data sheets are your friend!
  • Adjusting brightnesshttp://www.ladyada.net/learn/arduino/LEDs.html
  • Basic electronics• Capacitor • Store electricity • Farad (F) (mF or μF, pF, nF) • Polarised , unpolarised • Ceramic, tantalum, electrolytic • Common sizes: • 22pF / 0.01μF / 0.1μF ceramic • 1μF / 10μF electrolytic
  • Basic electronics• Capacitors • Capacitors in series • C = C1 x C2 / (C1 + C2) • Capacitors in parallel • C = C1 + C2
  • The Arduino in detail
  • Overview• Digital pins• Pull-up and pull-down resistors• Analogue input pins• Pulse with modulation (PWM)• Other • ICSP • Interrupts • I2C communication • Analogue reference
  • Digital pins• Pins 0-13 (GPIO pins)• Either input our output (default to input)• Can output 40 mA• pinMode• digitalWrite
  • Digital pins• digitalRead (http://www.ladyada.net/learn/arduino/ lesson5.html)
  • Digital pins • digitalRead/* * Switch test program */int switchPin = 2; // Switch connected to digital pin 2void setup() // run once, when the sketch starts{ Serial.begin(9600); // set up Serial library at 9600 bps pinMode(switchPin, INPUT); // sets the digital pin as input to read switch}void loop() // run over and over again{ Serial.print("Read switch input: "); Serial.println(digitalRead(switchPin)); // Read the pin and display the value delay(100);}
  • Digital pins• Switching
  • Digital pins• Pull-up and pull-down resistors Pull-up Pull-down
  • Digital pins• Arduino schematic / Reset
  • Digital pins• What happens if we digitalRead a pin that is not connected?• 20K internal pull-up resistor• Serial pins 0 (RX) and 1 (TX). Connected to FTDI USB-to-TTL• Pin 13 is different (input) (RES + LED)• Analogue pins A0-A5 can be used as digital pins 14-19 (GPIO)• Read up to 5V. Don’t fry your pin!
  • Analogue input pins• Pins A0-A5• 6 channel analog-to-digital (A/D) converter• 10 bit resolution (from 0-5V to int 0-1023)• 100 microseconds (0.0001 s) to read an analog input, maximum reading rate is about 10,000 times a second.• Pull-up resistor same as digital pins• Unexpected readings? • Has pin been set to input? • Check pull-up resistor [digitalWrite(A0, HIGH); ]?
  • Analogue input pins• AnalogRead (use A1 instead of 1)
  • Pulse with modulation• PWM used to create analogue output on digital pins• Simulate voltage between 5V and 0V using square waves (signal switching between on and off)• Pins 3, 5, 6, 9, 10, and 11
  • • AnalogWrite
  • Other pins• ICSP (In Circuit Serial Programming) directly program AVR micro-controllers• I2C / TWI (Two-wire interface) communication • Inter IC control • Arduino analog input A4 = I2C SDA (serial data line) • Arduino analog input A5 = I2C SCL (serial clock line)• External interrupts • Event-handling without polling • Interrupt 0 (on digital pin 2) and 1 (on digital pin 3)• Analogue reference • Set analogue reference for ADC
  • Coffee break
  • Activity
  • Activity overview• Pair up• Use a switch & LED• Use a poti & LED• Design challenges: http://www.ladyada.net/learn/arduino/ lesson5.html• Draw a circuit diagram• Fade 2 LEDs• Use multicolour LED• http://www.arduino.cc/en/Reference/HomePage• [Use your digital temperature sensor]