SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Making things sense
Urban 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
Slides


Day 1 http://www.slideshare.net/markumoto

Day 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 and
software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects
or environments.
The boards can be built by hand or purchased preassembled; the software can be downloaded for free. The
hardware reference designs (CAD files) are available under an open-source license, you are free to adapt
them 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



             Phidgets

I-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 circuit



Connections

                      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 intervals




3. 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 brightness




http://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 2

void 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]

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Arduino course
Arduino courseArduino course
Arduino course
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Arduino
ArduinoArduino
Arduino
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Intro to Hardware Programming with the Arduino Uno
Intro to Hardware Programming with the Arduino UnoIntro to Hardware Programming with the Arduino Uno
Intro to Hardware Programming with the Arduino Uno
 
A Fast Introduction to Arduino and Addressable LED Strips
A Fast Introduction to Arduino and Addressable LED StripsA Fast Introduction to Arduino and Addressable LED Strips
A Fast Introduction to Arduino and Addressable LED Strips
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and Programming
 
Introduction to arduino!
Introduction to arduino!Introduction to arduino!
Introduction to arduino!
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino Workshop
Arduino WorkshopArduino Workshop
Arduino Workshop
 
Cassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshopCassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshop
 
Introduction to Arduino Microcontroller
Introduction to Arduino MicrocontrollerIntroduction to Arduino Microcontroller
Introduction to Arduino Microcontroller
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
 
How to measure frequency and duty cycle using arduino
How to measure frequency and duty cycle using  arduinoHow to measure frequency and duty cycle using  arduino
How to measure frequency and duty cycle using arduino
 
arduino
arduinoarduino
arduino
 
Introduction to Arduino and Hands on to Iot
Introduction to Arduino and Hands on to IotIntroduction to Arduino and Hands on to Iot
Introduction to Arduino and Hands on to Iot
 
Arduino Programming
Arduino ProgrammingArduino Programming
Arduino Programming
 

Ähnlich wie Making things sense - Day 1 (May 2011)

ArduinoSectionI-slides.ppt
ArduinoSectionI-slides.pptArduinoSectionI-slides.ppt
ArduinoSectionI-slides.ppt
Lam Hung
 
Arduino spooky projects_class3
Arduino spooky projects_class3Arduino spooky projects_class3
Arduino spooky projects_class3
Anil Yadav
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 

Ähnlich wie Making things sense - Day 1 (May 2011) (20)

Introduction Arduino uno
Introduction Arduino uno Introduction Arduino uno
Introduction Arduino uno
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1
 
Arduino-101-Workshop (Introduction to Arduino and motor driver)
Arduino-101-Workshop (Introduction to Arduino and motor driver)Arduino-101-Workshop (Introduction to Arduino and motor driver)
Arduino-101-Workshop (Introduction to Arduino and motor driver)
 
Introduction to Arduino Webinar
Introduction to Arduino WebinarIntroduction to Arduino Webinar
Introduction to Arduino Webinar
 
ArduinoSectionI-slides.ppt
ArduinoSectionI-slides.pptArduinoSectionI-slides.ppt
ArduinoSectionI-slides.ppt
 
Arduino spooky projects_class3
Arduino spooky projects_class3Arduino spooky projects_class3
Arduino spooky projects_class3
 
Digital clock workshop
Digital clock workshopDigital clock workshop
Digital clock workshop
 
arduinoworkshop-160204051621.pdf
arduinoworkshop-160204051621.pdfarduinoworkshop-160204051621.pdf
arduinoworkshop-160204051621.pdf
 
Ardui no
Ardui no Ardui no
Ardui no
 
teststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptxteststststststLecture_3_2022_Arduino.pptx
teststststststLecture_3_2022_Arduino.pptx
 
Intro to Arduino Revision #2
Intro to Arduino Revision #2Intro to Arduino Revision #2
Intro to Arduino Revision #2
 
ATmega 16
ATmega 16ATmega 16
ATmega 16
 
Arduino Foundations
Arduino FoundationsArduino Foundations
Arduino Foundations
 
Arduino plus Delphi Mobile Apps - Beyond Basics
Arduino plus Delphi Mobile Apps - Beyond BasicsArduino plus Delphi Mobile Apps - Beyond Basics
Arduino plus Delphi Mobile Apps - Beyond Basics
 
ArduinoPart1.ppt
ArduinoPart1.pptArduinoPart1.ppt
ArduinoPart1.ppt
 
ArduinoPart1.ppt
ArduinoPart1.pptArduinoPart1.ppt
ArduinoPart1.ppt
 
ArduinoPart1.ppt
ArduinoPart1.pptArduinoPart1.ppt
ArduinoPart1.ppt
 
Parth xyz
Parth xyzParth xyz
Parth xyz
 
Arduino Programming - Brief Introduction
Arduino Programming - Brief IntroductionArduino Programming - Brief Introduction
Arduino Programming - Brief Introduction
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Making things sense - Day 1 (May 2011)

  • 1. Making things sense Urban sensing and physical computing Day 1 (7-8 May 2011) Markus Rittenbruch QUT Urban Informatics / FAST & NICTA
  • 2. 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
  • 3. 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
  • 8. http://diydrones.com/profiles/blog/show? id=705844%3ABlogPost%3A44817
  • 10. Books
  • 11. Slides Day 1 http://www.slideshare.net/markumoto Day 2 http://www.slideshare.net/markumoto
  • 13. Physical computing • Transduction • Transforming energy • Digital and analog • Parallel and serial • Stages of input, output and processing
  • 14. 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
  • 16. Arduino overview (Atmega8U2) 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. The boards can be built by hand or purchased preassembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, you are free to adapt them to your needs.
  • 17. 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
  • 18. Other platforms Phidgets I-CubeX Wiring Stamp
  • 19. 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
  • 24. Blink circuit Connections Schematic LED: Anode / Cathode
  • 25. 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
  • 26. Blink modifications 1. Talk to the serial console 2. Experiment with intervals 3. Change 4. Try this! pins
  • 27. Well done! Take a break.
  • 29. Basic electronics • Water analogy
  • 30. 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!
  • 31. 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
  • 32. Basic electronics • Schematic / Circuit diagram
  • 33. 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
  • 35. Basic electronics • Types of resistors • Thermistor • Photocell (LDR) • Potentiometer (trim pot, variable resistor) • Force sensitive resistor (FSR) • Flex sensor
  • 36. Basic electronics • Resistor and resistance • Resistors in series • R = R1 + R2 • Resistors in parallel • R = R1 x R2 / (R1 + R2)
  • 37. Basic electronics • Diodes and LEDs • Diodes are polarised • Electricity flows in one direction • Anode (+), Cathode (-) • LED (Light-emitting diode)
  • 38. 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!
  • 40. 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
  • 41. Basic electronics • Capacitors • Capacitors in series • C = C1 x C2 / (C1 + C2) • Capacitors in parallel • C = C1 + C2
  • 42. The Arduino in detail
  • 43. Overview • Digital pins • Pull-up and pull-down resistors • Analogue input pins • Pulse with modulation (PWM) • Other • ICSP • Interrupts • I2C communication • Analogue reference
  • 44. Digital pins • Pins 0-13 (GPIO pins) • Either input our output (default to input) • Can output 40 mA • pinMode • digitalWrite
  • 45. Digital pins • digitalRead (http://www.ladyada.net/learn/arduino/ lesson5.html)
  • 46. Digital pins • digitalRead /* * Switch test program */ int switchPin = 2; // Switch connected to digital pin 2 void 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); }
  • 47. Digital pins • Switching
  • 48. Digital pins • Pull-up and pull-down resistors Pull-up Pull-down
  • 49. Digital pins • Arduino schematic / Reset
  • 50. 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!
  • 51. 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); ]?
  • 52. Analogue input pins • AnalogRead (use A1 instead of 1)
  • 53. 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
  • 55. 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
  • 58. 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]