Documente Academic
Documente Profesional
Documente Cultură
www.void.cc/workshop/
Ferramentas
Ferramentas
Mos extras
Estanho
Sugador
Ferro de
Solda
Multmetro
Protoboard
Fios (jumpers)
Alicates
Componentes
Protoboard
Protoboard
...
...
Arduino
Hardware Livre
Comunidade
IDE
Caractersticas Atmega8
1 Kbyte - RAM
13 digital I/O
5 analog input
6 analog output
Pinos
Reset (azul)
Power 5v e 9v (laranja)
USB (amarelo)
Digital e Analgico
Linguagem Arduino
referncias: http://arduino.cc/en/Reference/HomePage
setup()
Executado somente uma vez quando o microcontrolador ligado
loop()
Roda repetidamente o programa dentro desse bloco
pinMode(<pino>, <INPUT/OUTPUT>)
Configura um pino como entrada ou como sada
digitalWrite(<pino>, <HIGH/LOW>)
Configura o estado de uma sada digital como HIGH ou LOW
digitalRead(<pino>)
L o estado de uma entrada digital
analogWrite(<pino>, <valor: 0-255>)
Escreve um valor em uma sada analgica
analogRead(<pino>)
L o estado de uma entrada analgica
Linguagem Arduino
referncias: http://arduino.cc/en/Reference/HomePage
delay(<n>)
Pausa o processamento durante n milsimos de segundo
random(<inicio>, <fim>)
Retorna um nmero entre inicio e fim
Serial.begin(9600)
Serial.print(mensagem, <HEX/DEC/BIN/BYTE>)
Serial.read()
Mo na massa
Sada Digital
Blink: http://www.arduino.cc/en/Tutorial/Blink
Sada Digital
Blink: http://www.arduino.cc/en/Tutorial/Blink
Sada Digital
Blink: http://www.arduino.cc/en/Tutorial/Blink
int
int ledPin
ledPin == 13;
13;
void
void setup(){
setup(){
pinMode(ledPin,
pinMode(ledPin, OUTPUT);
OUTPUT);
}}
void
void loop(){
loop(){
digitalWrite(ledPin,
digitalWrite(ledPin, HIGH);
HIGH);
delay(1000);
delay(1000);
digitalWrite(ledPin,
digitalWrite(ledPin, LOW);
LOW);
delay(1000);
delay(1000);
}}
Sada Digital + PD
Blink: http://www.arduino.cc/en/Tutorial/Blink
int
int ledPin
ledPin == 13;
13;
void
voidsetup(){
setup(){
pinMode(ledPin,
pinMode(ledPin,OUTPUT);
OUTPUT);
Serial.begin(9600);
Serial.begin(9600);
}}
void
voidloop(){
loop(){
int
intmsg
msg==Serial.read();
Serial.read();
ifif((char)msg
((char)msg==
=='l')
'l'){ {
digitalWrite(ledPin,
digitalWrite(ledPin,HIGH);
HIGH);
} }else
elseifif((char)msg
((char)msg==
=='d')
'd'){ {
digitalWrite(ledPin,
digitalWrite(ledPin,LOW);
LOW);
}}
}}
Sada Analgica
PWM
Sada Digital
Fading: http://arduino.cc/en/Tutorial/Fading
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);
}
}
int ledPin = 9;
void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
int msg = Serial.read();
if (msg >= 0) {
analogWrite(ledPin, msg);
}
}
Entrada
Digital
Sada Digital
Button: http://arduino.cc/en/Tutorial/Button
Circuito pull-down
Entrada Digital
Button: http://arduino.cc/en/Tutorial/Button
Entrada Digital
Button: http://arduino.cc/en/Tutorial/Button
Entrada Digital + PD
Button: http://arduino.cc/en/Tutorial/Button
int pinoBotao = 2;
void setup(){
pinMode(pinoBotao, INPUT);
Serial.begin(9600);
}
void loop(){
int x = digitalRead(pinoBotao);
Serial.write(x);
}
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Circuito divisor de tenso
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
int ledPin = 9;
int potPin = 0;
int value = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(potPin, INPUT);
}
void loop(){
value = analogRead(potPin);
delay(100);
analogWrite(ledPin, value/4);
}
Entrada Analgica + PD
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
int potPin = 0;
int value = 0;
void setup() {
pinMode(potPin, INPUT);
Serial.begin(9600);
}
void loop(){
value = analogRead(potPin);
Serial.write(map(value, 0, 1023, 0, 127));
}
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Circuito divisor de tenso
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
Entrada Analgica
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
int ledPin = 9;
int potPin = 0;
int value = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(potPin, INPUT);
}
void loop(){
value = analogRead(potPin);
delay(100);
analogWrite(ledPin, value/4);
}
Entrada Analgica + PD
Analog Input: http://arduino.cc/en/Tutorial/AnalogInput
int entrada = 0;
int valor = 0;
void setup() {
pinMode(entrada,INPUT);
Serial.begin(9600);
}
void loop(){
valor = analogRead(entrada);
Serial.write(valor);
}
int piezo = 9;
int ldr = 0;
void setup() {
}
void loop() {
int sensorReading = analogRead(ldr);
int pitch = map(sensorReading, 400, 1000, 100, 1000);
tone(piezo, pitch, 10);
}
Piezo + PD
Pitch follower: http://arduino.cc/en/Tutorial/Tone2
int entrada = 0;
int valor = 0;
void setup() {
pinMode(entrada,INPUT);
Serial.begin(9600);
}
void loop(){
valor = analogRead(entrada);
Serial.write(valor);
}
Motor
L293: http://www.arduino.cc/es/L293D/L293D
Motor
L293: http://www.arduino.cc/es/L293D/L293D
Arduino http://arduino.cc
Pure Data http://puredata.info
Coletivo MuSA http://musa.cc
Artesanato de Volts http://artesanato.devolts.org
des).(centro http://pub.descentro.org
Robtica Livre http://roboticalivre.org
Metareciclagem http://rede.metareciclagem.org
Estdio Livre http://estudiolivre.org
MSST http://devolts.org/msst