Upload
cassio-paz
View
71
Download
11
Embed Size (px)
Citation preview
Making things sense
Day 3:Basic Electronics with DFRduino
Schedule – Day 3
Basic electronics•Arduino in detail•
• Introduction Activity
• Activity
Making things sense
Books
Physical computing
Transduction•Transforming energy•
Digital and analog•Parallel and serial•Stages of input, output and•processing
OverviewWorkshop hardware components•
http://www.littlebirdelectronics.com/ http://toysdownunder.com/Parts:•Physical computing•Arduino board•Arduino code•Arduino IDE•Writing a program•Download and install Arduino•Arduino Hello World / Blink•
http://www.ladyada.net/learn/arduino/index.htmlTutorials:•http://www.sparkfun.com/commerce/tutorials.php
Arduino starter kit
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
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
Basic electronics
Basic electronicsWater analogy•
Basic electronicsCurrent,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 electronicsElectricity 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 electronicsSchematic / 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 onedirection
• Anode (+), Cathode (-)• LED (Light-emitting diode)
Basic electronics• Ohm’s law and current limiting
V
I R
Ohm’s triangle
R =V / II =V / RV=IxR
• Data sheets are your friend!
Adjusting brightness
http://www.ladyada.net/learn/arduino/LEDs.html
Basic electronics
• CapacitorStore 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
OverviewDigital pins•Pull-up and pull-down resistors•Analogue input pins•Pulse with modulation (PWM)•Other•
ICSP•Interrupts•I2C communication•Analogue reference•
Digital pinsPins 0-13 (GPIO pins)•Either input our output (default to input)•Can output 40 mA•pinMode•digitalWrite•
Digital pinsdigitalRead (http://www.ladyada.net/learn/arduino/•lesson5.html)
Digital pinsdigitalRead•
/** 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 bpspinMode(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 valuedelay(100);
}
Digital pinsSwitching•
Digital pinsPull-up and pull-down resistors•
Pull-up
Pull-down
Digital pinsArduino schematic / Reset•
Digital pinsWhat 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 pinsPins 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 pinsAnalogRead (use A1 instead of 1)•
Pulse with modulationPWM 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 pinsICSP (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•
Activity
Activity overviewPair 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]•