Introdução ao Arduino
ESCOLA DE ARTES VISUAIS DO PARQUE LAGE
Núcleo de Arte e Tecnologia
julio lucio martin
Aula 01
O que vamos entender?
eletrônica
• corrente elétrica:
• voltagem
• resistência
• intensidade
• modelo da água
• dispositivos:
• L.E.D
• Semicondutor introdução
O que vamos entender?
números
• decimal
• binário
O que vamos entender?
programação
• variável:
•int
•boolean
• operadores:
• designação
• soma
• subtração
• multiplicação
• divisão
O que vamos entender?
programação
• mensagens:
•setup()
•loop()
•pinMode()
•digitalWrite()
•delay()
•Serial.begin()
•Serial.print()
•Serial.println()
O que vamos entender?
arduino
• Portas do arduino:
• digital
• alimentação
• GND
• Carregando o programa:
• serial port
• board
• compilando
• carregando
O que vamos entender?
eletrônica
• corrente elétrica:
• voltagem
• resistência
• intensidade
• modelo da água
• dispositivos:
• L.E.D
• Semicondutor introdução
eletrônica : corrente elétrica
electronica : corrente elétrica
http://en.wikipedia.org/wiki/Gustav_Kirchhoff
I = V/R ?
eletrônica : corrente d’agua
Resistência =
dificuldade para passar
de um lado a outro
Intensidade =
quantidade de água
passando
Voltagem =
Altura da caixa
Ralo =
terra
O que vamos entender?
eletrônica
• corrente elétrica:
• voltagem
• resistência
• intensidade
• modelo da água
• dispositivos:
• L.E.D
• Semicondutor introdução
eletrônica : L.E.D
Light emitting diode
diodo emissor de luz
eletrônica : Semicondutor
http://en.wikipedia.org/wiki/Semiconductors#History
http://en.wikipedia.org/wiki/P–n_junction
O que vamos entender?
números
• decimal
• binário
números : decimal
1
2
3
4
5
6
7
8
9
10
números : binário
0
1
números : decimal - binário
0
1
2
3
4
5
6
7
8
9
0
1
números : decimal - binário
como contamos acima de dez?
começamos de novo adicionando um digito
números : decimal - binário
0
1
2
3
4
5
6
7
8
9
0
1
números : decimal - binário
0
1
2
3
4
5
6
7
8
9
10
0
1
números : decimal - binário
0
1
2
3
4
5
6
7
8
9
10
00
01
10
11
números : decimal - binário
0
1
2
3
4
5
6
7
8
9
10
000
001
010
011
100
101
110
111
O que vamos entender?
programação
• variáveis:
•int
•boolean
• operadores:
• designação
• soma
• subtração
• multiplicação
• divisão
variáveis: primeiros tipos
int
• Números inteiros são números não fracionários.
• No computador são as combinações de 16 zeros e uns.
• 2 elevado 16 = 65536.
• os inteiros variam no arduino de -32768 a 32768.
variáveis: primeiros tipos
boolean
Só tem dois possíveis valores.
0
1
false
true
LOW
HIGH
variáveis: declaração
Declarar é falar para o processador o tipo de variável
que vamos utilizar para ele reservar a memória que
precisa.
int nome;
boolean nome;
nome
variáveis: designação
(operador)
Designar e guardar um valor na variável que foi declarada
previamente.
2
int a;
a = 2;
a
boolean b;
b = true;
true
b
variáveis: designação
Podemos declarar e designar ao mesmo tempo
2
int a = 2;
;
Sempre colocamos ao final
de cada linha
a
O que vamos entender?
programação
• variáveis:
•int
•boolean
• operadores:
• designação
• soma
• subtração
• multiplicação
• divisão
operadores: soma
int a;
a = 2;
2
int b;
b = 3;
3
int c;
c = a+b;
2+3=5
a
b
c
operadores: subtração
2
int a;
a = 2;
int b;
b = 3;
3
int c;
c = a-b;
2 - 3 = -1
a
b
c
operadores: multiplicação
int a;
a = 2;
2
int b;
b = 3;
3
int c;
c = a*b;
2*3 = 6
a
b
c
operadores: divisão
int a;
a = 2;
3
int b;
b = 3;
2
int c;
c = a/b;
3/2=1
a
b
NOTA: C seria 1.5 , mas como só
considera números inteiros ele ignora a
parcela decimal
c
O que vamos entender?
programação
• mensagens:
•setup()
•loop()
•pinMode()
•digitalWrite()
•delay()
•Serial.begin()
•Serial.print()
•Serial.println()
mensagens
void nomeDaMessagem( parâmetros...)
o tipo do valor
que devolve a
mensagem.
Quando não
devolve nada é:
void
O nome que vai
ser usado para
chamar a
mensagem.
Parâmetros que
poderíamos passar
com informações do
que a gente quer fazer
com a mensagem.
mensagens
int aQueHoraSeEncontra( );
mensagem que
devolve a hora
a que nos
encontramos
como número
inteiro
O nome da
mensagem
Nenhum parâmetro.
int hora = aQueHoraSeEncontra();
mensagens
void meVaiBuscar( int dia, int hora);
void e que
não retorna
nada.
O nome que vai
ser usado para
chamar a
mensagem
Parâmetros que
usamos para informar
da hora e do dia
meVaiBuscar( 31 , 6 );
O que vamos entender?
programação
• mensagens:
•setup()
•loop()
•Serial.begin()
•Serial.print()
•Serial.println()
•pinMode()
•digitalWrite()
•delay()
mensagem
void setup()
• Mensagem que devemos escrever e implementar
(preencher) em todos nossos programas de
Arduino.
• Somente vai ser chamada uma vez quando o
programa de arduino é carregado ou ligamos a
placa na corrente.
• Nela colocamos as coisas que só queremos fazer
uma vez.
mensagem
void loop()
•
Mensagem que devemos escrever e implementar
(preencher) em todos nossos programas de Arduino.
•
Nela escrevemos o código que vai ser executado
na placa.
•
Vai ser chamada infinitas vezes enquanto a placa
estiver ligada.
O que vamos entender?
Arduino
• Portas do Arduino:
• Digital
• Alimentação
• GND
• Carregar programa:
• serial port
• board
• copilando
• carregando
para carregar programa
• Selecionamos a placa que estamos usando:
Tools > Board
• Selecionamos a porta USB: Tools > Port
• Compilamos o programa.
• Carregamos o programa
• Selecionamos a placa que estamos usando:
Tools > Board
• Selecionamos a porta USB: Tools > Port
• Compilamos o programa.
• Carregamos o programa
O que vamos entender?
programação
• mensagens:
•setup()
•loop()
•Serial.begin()
•Serial.print()
•Serial.println()
•pinMode()
•digitalWrite()
•delay()
mensagem
void Serial.begin(int veloc);
Mensagem para iniciar a comunicação serial com
computador via USB
• int veloc : valor inteiro que
determina a velocidade de
comunicação em baldios por segundo.
• 9600 é o valor típico
mensagem
void Serial.println(valor)
imprime o valor no terminal de Arduino e pula uma
linha no final.
Serial.println(a);
Serial.println(“33 é o número que eu gosto”);
mensagem
void Serial.print(valor)
imprime o valor no terminal de Arduino e NAO
pula uma linha no final.
Serial.print(a);
primeiros códigos
O que vamos entender?
programação
• mensagens:
•setup()
•loop()
•Serial.begin()
•Serial.print()
•Serial.println()
•pinMode()
•digitalWrite()
•delay()
mensagem
void digitalWrite( int porta, boolean estado);
Coloca uma corrente de 0 Volt ou 5 volts na porta
digital.
• porta : número da porta digital do
arduino que vamos ativar ou desativar
• estado : Se queremos corrente ou
não nessa porta digital.
• LOW/HIGH,
0/1, false/true.
mensagem
void delay(int tempo);
Mensagem que usamos para falar ao Arduino que
deve ficar parado nessa linha do código durante
alguns milissegundos
• tempo : tempo em milésimos de
segundo que queremos que espere.
mensagem
void pinMode(int porta , tipo );
Mensagem que usamos para falar ao Arduino que
porta vamos usar e de que jeito.
• porta : número da porta que
usaremos.
• tipo : se usaremos como entrada ou
saída, pode ser INPUT/OUTPUT
OUTPUT
INPUT
write no mundo
read do mundo
void digitalWrite(n,valor);
digital
dois valores
n = número da porta
valor = LOW / HIGH
pinMode(n , OUTPUT);
?
digitalWrite( pinoDoLed , HIGH );
analog
degrade
?
?
Exemplo 01:led
(escrevendo nas portas digitais)
Queremos fazer piscar um L.E.D.
http://arduino.cc/en/Tutorial/Blink
materiais
• Arduino
• led
• resistor 220
ohm
O que vamos entender?
Arduino
• Portas do Arduino:
• Digital , Vcc, GND
• Carregar programa:
• serial port
• board
• copilando
• carregando
esquema
montagem
código
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
Download

Aula 1 - Julio Lucio