Escolar Documentos
Profissional Documentos
Cultura Documentos
Schedule Day 3
Basic electronics
Arduino in detail Introduction Activity Activity
Books
Physical computing
Transduction
Transforming energy
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 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
Breadboard basics
Blink circuit
Connections Schematic
Write to Serialport
Blink modications
1. Talk to the serial console
3. Change pins
4. Try this!
Basic electronics
Basic electronics
Water analogy
Basic electronics
Mains is nasty!
Basic electronics
Electricity ow
Components in series
Components in parallel
Different current, same voltage
Short circuit
Basic electronics
Basic electronics
Resistor Conductors, insulators and resi Resist the ow of electricity (c Precise control of electrical cur 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
Resistors in series
R = R1 + R2
Basic electronics
Diodes and LEDs Diodes are polarised Electricity ows in one
direction
Basic electronics
Ohms law and current limiting
V
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:
1F / 10F electrolytic
Basic electronics
Capacitors
Capacitors in series
C = C1 x C2 / (C1 + C2)
Capacitors in parallel C = C1 + C2
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
Digital pins
digitalRead
/* * Switch test program */ int switchPin = 2; void setup() { Serial.begin(9600); pinMode(switchPin, INPUT); }
// Switch connected to digital pin 2 // run once, when the sketch starts // set up Serial library at 9600 bps // sets the digital pin as input to read switch
Digital pins
Switching
Digital pins
Pull-up
Pull-down
Digital pins
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. Dont fry your pin!
Has pin been set to input? Check pull-up resistor [digitalWrite(A0, HIGH); ]?
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
Activity
Activity overview
Pair up Use a switch & LED