Post on 13-May-2015
description
Placas de Circuito Impresso DIY
Material:● Glossy Paper● Impressora Laser● Ferro de passar roupa● Vasilia com água e detergente
Modo de Fazer:
● Imprima o circuito no papel Glossy● Coloque o papel impresso em cima da placa e
passe com o ferro por cerca de 10 minutos● Deixe a placa descançar na vasilia por uns 15
minutos● Retire o excesso de papel com o dedo
Ferramentas
Ferramentas
Multímetro
Alicates
Fios (jumpers)
Protoboard
Estanho
Ferro de Solda
Componentes
Sugador
Mãos extras
Protoboard
...
...
Protoboard
Physical Computing
● Computação Ubiqua● Computação Pervasiva● Ambiente Inteligente● Objetos inteligentes● Interação
Arduino
● Plataforma Open Source Physical Computing
Arduino
● Hardware Livre
● Plataforma Open Source Physical Computing
Arduino
● Hardware Livre
● Comunidade
● Plataforma Open Source Physical Computing
Arduino
● Hardware Livre
● IDE
● Comunidade
● Plataforma Open Source Physical Computing
Origens do Arduino
● Baseado no AVR-GCC, avr-libc, AVRlib e no Processing, filho do Wiring
● Usa o microcontrolador AVR Atmega168● Possui um bootloader padronizado
Características Atmega8
● 8 Kbyte - memória flash● 1 Kbyte - RAM● 512 byte – EEPROM● 13 digital I/O● 5 analog input● 6 analog output● 16 Mhz (Apple II: 1 MHz / Intel 286: 12.5 MHz /Intel Core 2: 3 GHz)
● Digital Pins 2-13 (verde)
● Digital Pins (RX,TX) 0,1 (verde)
● Reset (azul)
● In-circuit Serial Programer (azul)
● Analog in Pins (azul)
● Power 5v e 9v (laranja)
● Terra (verde e laranja)
● Alimentação externa 9v – 12v (rosa)
● USB (amarelo)
● Jumper para mudar a alimentação do Diecimila (roxo)
Pinagem
● Digital: On/Off, 1/0, 5v/0v● Analógico: 0 até ∞ (muitos valores● Computadores não entendem valores analógicos, esses valores são convertidos em pulsos digitais
Digital e Analógico
PWM (analog output)
● Oscilando rapidamente a saída Digital, tem-se a impressão de que a quantidade de energia enviada para o circuito é variável;
Pulse Width Modulation
● ● No Arduino, as portas 9, 10, 11 podem ser usadas como PWM;●
● Essa técnica pode ser utilizada para variar a intensidade luminosa de um led, a velocidade de um motor, etc;
● No Arduino, as portas 9, 10, 11 podem ser usadas como PWM;
● Usa-se a função analogWrite(x, y) para controlar essa saída. Por exemplo: analogWrite(9,128), seta o pino 9 como PWM, usando 50% da sua tensão total. O valor máximo possível é 255;
Mão na massaMontar projetos ao invés de falar sobre eles, a filosofia do Arduino.
Digital OutputBlink: http://www.arduino.cc/en/Tutorial/Blink
Digital OutputBlink: http://www.arduino.cc/en/Tutorial/Blink
int ledPin = 13;
void setup(){ pinMode(ledPin, OUTPUT);}
void loop(){ digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);}
int ledPin = 13;int inputPin = 2;int val = 0;
void setup() { pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT);}
void loop(){ val = digitalRead(inputPin); if (val == HIGH) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); }}
Digital InputButton: http://arduino.cc/en/Tutorial/Button
int value = 0;int ledpin = 9;
void setup(){pinMode(ledpin, OUTPUT);
}
void loop() { for(value = 0; value <= 255; value+=5) { analogWrite(ledpin, value); delay(30); } for(value = 255; value >=0; value-=5) { analogWrite(ledpin, value); delay(30); } }
PWM OutputFading: http://arduino.cc/en/Tutorial/Fading
Potentiometer InputAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
int ledPin = 9;int potPin = 0int value = 0;
void setup() { pinMode(ledPin, OUTPUT); pinMode(potPin, INPUT); }
void loop(){ value = analogRead(potPin); delay(100); analogWrite(ledpin, value); }
Potentiometer InputAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
Variable Resistor InputAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
int ledPin = 9;int ldrPin = 0int value = 0;
void setup() { pinMode(ledPin, OUTPUT); pinMode(ldrPin, INPUT); }
void loop(){ value = analogRead(ldrPin); delay(100); analogWrite(ledpin, value); }
Variable Resistor InputAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
ProcessingComunicando entre o Arduino e seu computador: http://www.processing.org
Firmatahttp://www.arduino.cc/playground/Interfacing/Firmata
File>Sketchbook>Exemples>Library-Firmata>StandardFirmata
Arduino Library: http://www.arduino.cc/playground/Interfacing/Processing
Digital OutputBlink: http://www.arduino.cc/en/Tutorial/Blink
Digital Output (Processing)
import processing.serial.*;import cc.arduino.*; Arduino arduino;int ledPin = 13; void setup(){ arduino = new Arduino(this, Arduino.list()[0]); arduino.pinMode(ledPin, Arduino.OUTPUT);} void draw(){ arduino.digitalWrite(ledPin, Arduino.HIGH); delay(1000); arduino.digitalWrite(ledPin, Arduino.LOW); delay(1000);}
Variable Resistor InputAnalog Input: http://arduino.cc/en/Tutorial/AnalogInput
Variable Resistor Input (Processing)
import processing.serial.*;import cc.arduino.*; Arduino arduino;int pino_sensor_ldr = 0;int valor_capturado_ldr = 0; void setup(){ println(Arduino.list()); arduino = new Arduino(this, Arduino.list()[0]); arduino.pinMode(pino_sensor_ldr, Arduino.INPUT);} void draw(){ valor_capturado_ldr = arduino.analogRead(pino_sensor_ldr); println(valor_capturado_ldr);}
Você pode encontrar tudo isso e muito mais em:
● Arduino Notebook: http://www.lulu.com/content/1108699● Arduino Booklet:http://www.alfakini.com.br/blog/wp-content/uploads/2009/02/arduino_booklet02.pdf● Arduino Lecture: http://www.slideshare.net/eoinbrazil/imediaarduino08 ●