Você está na página 1de 43

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

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 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 modications
1. Talk to the serial console

2. Experiment with intervals

3. Change pins

4. Try this!

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 ow

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

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 ows in one
direction

Anode (+), Cathode (-) LED (Light-emitting diode)

Basic electronics
Ohms law and current limiting
V

Ohms 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.01F / 0.1F ceramic

1F / 10F 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; 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

void loop() { Serial.print("Read switch input: "); Serial.println(digitalRead(switchPin)); delay(100); }

// run over and over again

// Read the pin and display the value

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. Dont 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

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]

Você também pode gostar