Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação Arduino
http://www.boscojr.com/iot/arduino.html
Atuador
(Mecânico, Visual, Térmico, etc)
Ambiente
Configurando E/S
● A configuração de um Pino do arduino como entrada
ou saída é feita usando a função pinMode
● Sintaxe: pinMode( int pino, int Modo)
● Na biblioteca padrão do arduino estão definidas duas
constantes que podem ser usadas como parâmetro
mode: INPUT e OUTPUT
● Exemplo: Configurar o pino 6 como entrada:
● pinMode( 6 , INPUT );
● É uma boa prática colocar o pino em uma variável,
caso haja mudanças na função do pino :
int pin = 6;
pinMode( pin , INPUT);
Temporização
● É comum os sistemas de controle
necessitar executar algum tipo de espera.
● Essa espera poderá ser feita usando-se as
funções: delay e delayMicroseconds.
● Sintaxes: Delay( int msec)
● DelayMicroseconds (int usec)
● msec é o tempo em milissegundos e
● usec é o tempo em microssegundos;
Ex1: Blink ( pisca led 13 )
● A ide conta com inúmeros exemplos:
● Exemplo Blink
– Menu: File ->
● examples ->
● Porta
– Menu: Tools ->
● Serial port
A Interface de
Programação – IDE
Menu
Barra de Botões
Carregar Salvar
Editor de Novo
Textos
Gravar no
Arduíno
Compilar
Área de
Mensagens
Ex1.2: Blink Leds
Variáveis
Ajustar os pinos
como saída
Liga os leds
Espera
Desliga os leds
1s
Exercício de Fixação
Ler da
Porta
Ajusta o led
Arduino: Tipos de E/S
● O arduino dispõe de três modos de enviar ou
receber estímulos do mundo externo. São
eles:
– Digital: Pinos 0 a 13
● Envio ou Leitura: 0 ou 1 (0v ou 5v)
– Analógico Pinos A0 a A5
● Leitura: 0 a 1023 (entre 0v e 5v)
– PWM: Pinos 3, 5, 6, 9, 10 e 11
● Envio de Pulsos com largura (pesquisar)
E/S digital
● Para fazer E/S digital a biblioteca padrão do
arduino dispõe de duas funções:
● int estado = digitalRead( int pino );
– O pino está entre 0 e 13 e deve ser configurado
como entrada (INPUT) via função pinMode();
● digitalWrite( int pino, int estado );
– O pino deve ser entre 0 e 13 e deve está
configurado como saída (OUTPUT) também via
função pinMode();
– A biblioteca padrão do arduino dispõe de dois
valores LOW e HIGH, que pode ser usados para
estabelecer o estado do pino.
Ex 3: Trabalhando com
botões
● Acender e apagar o led 13 conforme de
pressiona o botão. O primeiro passo é
estabelecer o circuito. Vamos usar como
entrada o pino 2.
LED
1K
13 +
Arduino 2
10K
-
Ex3: Código
Ex 3.1: Sensor de
iluminação
● Acender e apagar o led 13 conforme a
luminosidade do ambiente. O primeiro
passo é estabelecer o circuito. Vamos usar
como entrada o pino 2 (mesmo código).
LED
1K
13 +
LDR
Arduino 2
10K
-
E/S Analógica
● A entrada analógica pode ser
implementada usando a função
analogRead existente na biblioteca
padrão do arduino.
● int nivel = analogRead( int pino );
– A variável nível armazenará o valor da leitura
analógica. A biblioteca padrão do arduino
define as constantes A0 a A6 para os pinos
analógicos.
Ex 4: Sensor de Nível de
iluminação
● Vamos usar como entrada o pino A0. E o
nível de iluminação será enviado a saída
serial.
LDR
Arduino A0
10K
-
Ex4: Código
E/S: PWM
● PWM: Pulse-Width Modulation
– Modulação por largura de pulso
● Pode ser usada para controlar a potencia
entregue a um atuador essa função está
Somente disponível nos pinos digitais 3,
5, 6, 9, 10 e 11;
● Na biblioteca padrão está disponível a função
analogWrite();
E/S: PWM
● Sintaxe: analogWrite( int pino, int valor);
– Pino: 3, 5, 6, 9, 10 e 11;
– Valor: 0 a 255;
Ex5 : Ajustando o brilho
do Led 10
Documentação
...
case valorN:
bloco_de_comandos;
Se var igual a valorN esse bloco
break; será executado
Default: O bloco default será executado se
var não for igual a nenhum dos
bloco_de_comandos; valores especificados no case
}
Estrutura de controle –
Switch Case: Ex2.1
Uso de Bibliotecas
https://arduino-new-
ping.googlecode.com/files/NewPing_v1.5.zip
Tópicos Avançados
● Interrupções;
● Espera sem delays;
● Registradores para pegar status das portas;
FIM