Cópia de Cópia de Arduino Day - Minicurso Arduino Sensoriamento
Cópia de Cópia de Arduino Day - Minicurso Arduino Sensoriamento
Minicurso de Arduino
Básico
2024
Ministrantes
Patricio Valentin
Sumário
1 Introdução 4 Sensor LDR
04
Protoboard
05
Protoboard
Durante o minicurso serão utilizadas as seguintes protoboards:
06
Uso do Multímetro
07
IDE Arduino
Monitor
Serial
08
IDE do Arduino
Versão instalada: Arduino 2.3.2
Teste do Blink
Como fazer?
Arquivo -> Exemplos -> Basics -> Blink;
Files -> Examples -> Basics -> Blink;
09
Programação
A linguagem de programação
utilizada na IDE do Arduino é
baseada em C/C++
10
Funções de Programação
Na programação, os códigos são organizados em blocos por meio de
funções. Na IDE do Arduino, teremos as principais funções:
void setup(){
//definimos as variáveis que serão utilizadas;
//definimos os pinos que serão utilizados, e se
eles serão de ENTRADA ou de SAÍDA;
//tudo é realizado apenas uma vez.
}
void loop(){
//declaramos o "passo a passo" do nosso código
//chamado repetidamente até o arduino ser
desligado
}
11
Principais Comandos
pinMode(pino, MODO);
Comando utilizado para definir o modo do pino. Caso ele seja de entrada
será INPUT, caso seja de saída será OUTPUT.
delay( milisegundos);
Tempo de atraso do programa.
12
Principais Comandos
analogRead(pino);
Comando utilizado verificar a leitura analógica
no pino.
digitalRead(pino);
Comando utilizado para ler o valor de um pino
digital especificado, seja HIGH ou LOW.
13
Dica!
Na linguagem do Arduino, por questão de organização, é muito comum se
utilizar o macro #define para atribuir pinos e facilitar o entendimento do código
#define Potenciômetro A0
#define LED1 2
#define LED2 3
14
Exemplo
#define Led_teste 2
void setup(){
pinMode(Led_teste, OUTPUT);
}
void loop(){
digitalWrite(Led_teste, HIGH);
delay(2000);
digitalWrite(Led_teste, LOW);
delay(2000);
}
15
IF / ELSE
Estrutura:
if (condição) { IF SIM
condição 1
//sequência de comandos
} COMANDO
NÃO
else {
//sequência de comandos ELSE
COMANDO
}
16
IF / ELSE - EXEMPLO
17
IF / ELSE - EXEMPLO
IF SIM IF SIM
condição 1 media>=7
COMANDO APROVADO
NÃO NÃO
ELSE ELSE
COMANDO REPROVADO
18
ELSE IF
Estrutura: IF SIM
condição 1
if (condição) { COMANDO
//sequência de comandos NÃO
}
else if (condição) { SIM ELSE IF
condição 2
//sequência de comandos
COMANDO
} NÃO
else {
ELSE
//sequência de comandos COMANDO
}
19
ELSE IF - EXEMPLO
20
ELSE IF - EXEMPLO
IF SIM IF SIM
condição 1 condição
media>=71
COMANDO APROVADO
COMANDO
NÃO NÃO
ELSE ELSE
COMANDO COMANDO
REPROVADO
21
FOR
O for é uma estrutura de repetição que
segue o seguinte ideal do fluxograma: contador = 1
Estrutura:
NÃO
contador>10
for ( valor inicial; condição; contador) {
sequência de comandos contador
} SIM
contador = contador + 1
22
FOR - Exemplo
int i; void loop(){
int LED = 4;
for (i=0;i<5;i++){
void setup(){ digitalWrite (LED, HIGH);
delay(1000);
pinMode(LED, OUTPUT); digitalWrite (LED, LOW);
delay(1000);
} }
23
WHILE
O while é uma estrutura de repetição,
semelhante ao for que segue o seguinte Código
ideal do fluxograma:
Estrutura:
SIM
Condição
while ( condição) {
sequência de comandos
NÃO
}
22
WHILE
#define LED = 4; void loop(){
int contador = 0;
void setup(){ while (contador < 5){
digitalWrite (LED, HIGH);
pinMode(LED, OUTPUT); delay(1000);
digitalWrite (LED, LOW);
} delay(1000);
contador++
}
23
Buzzer
O que é um buzzer?
24
Buzzer
25
Estrutura do Buzzer
26
VAMOS PRATICAR?
27
EXPERIMENTO I
Exercício de Revisão
Faça um contador dentro de um laço FOR em que
ele seja incrementado a cada repetição. Se a
contagem atingir 10, ligue um LED, se a contagem
atingir 20, ligue um buzzer e desligue o LED.
Depois do contador atingir 30 desligue o buzzer e
zere o contador, recomeçando o loop.
28
Sinal Analógico x Digital
Digital: a tensão só pode assumir dois valores (sinal estável)
Alta precisão
Valores pequenos e discretos
Arduino recebe 0V ou 5V
Sinais com intervalos pequenos
Exemplo: LED, Sensores de Presença.
31
Sinal Analógico x Digital
Analógico: a tensão pode assumir qualquer valor dentro da faixa de
0V à 5V (sinal instável)
Baixa precisão
Valores grandes variáveis e contínuos com o tempo
Arduino recebe 0V a 5V
Sinais da natureza
Exemplo: Sensores de temperatura, luz e peso.
32
Monitor Serial
O monitor serial é o elo Estrutura:
entre o computador e o seu void setup(){
Arduino
Serial.begin(velocidade);
Serve para enviar e receber
informações na forma de
}
texto que aparecem em void loop(){
uma janela para o usuário Serial.print(Variável / String);
visualizar as informações Serial.println(Variável / String);
}
33
Monitor Serial
34
Monitor Serial
35
Potenciômetro
O que é um potenciômetro?
36
Potenciômetro
37
Potenciômetro
Vamos medir!
38
Preparação
39
Exemplo 1
40
Potenciômetro
Situação Problema
41
Potenciômetro
Resposta
42
Exemplo 2
Manualmente:
43
Exemplo 3
Função “map”:
44
Preparação
45
Exemplo 4
46
O que são Sensores?
O sensor é um dispositivo que tem a função de detectar
grandezas físicas a partir de um estímulo e responde-los de
alguma forma.
Exemplos:
Sensor de som
Sensor de peso
Sensor de temperatura
Sensor de presença
Sensor de luminosidade
47
Sensor de
Luminosidade - LDR
Entendendo o Sensor de Luminosidade - LDR
48
Sensor de
Luminosidade - LDR
49
Sensor de
Luminosidade - LDR
Onde é aplicado?
50
Preparação
51
Exemplo 5
52
Experimento II
Controle de luminosidade com LDR
Com um LDR, use o seu valor de saída para ligar dois LEDs. Em que
dependendo da escuridão será acendido um LED ou dois (caso esteja
muito escuro).
Materiais:
1 Arduino Uno R3 e jumpers;
1 Protoboard;
1 LDR;
3 Resistores 220;
1 LED Verde;
1 LED Azul;
53
Experimento III
Bom dia princesa
Use um potenciômetro para controlar a intensidade de luz de um LED
para alterar o valor de saída de um LDR. Utilizando o valor de saída dele,
quando estiver escuro, ligue um LED. E quando estiver claro, toque um
alarme com um buzzer.
Materiais:
1 Arduino Uno R3 e jumpers;
1 Protoboard;
1 LDR;
5 Resistores 220 ohms;
2 LEDs;
1 Buzzer; 56
1 Potenciômetro;
Senssor de obstáculo
infravermelho
59
Aplicações
60
Princípio de
Funcionamento
61
Princípio de
Funcionamento
62
Princípio de
Funcionamento
63
Preparação
64
Exemplo 6
65
Experimento IV
72
Aplicações
73
Princípio de
Funcionamento
74
Princípio de
Funcionamento
Ouvido Boca
75
Princípio de
Funcionamento
Velocidade do som
D=Vxt
Tempo de duração
da onda em
microssegundos
2 Filtragem do tempo
de ida da onda
Distância entre o sensor e obstáculo [D]
Velocidade do som no ar [V] 343 m/s
Tempo detectado [t] 76
Princípio de
Funcionamento
Velocidade do som está em m/s
Tempo calculado pelo sensor é em microssegundos
Queremos a distância em cm
m/s cm/s cm/s cm/µs
1 m = 1 x 100 = 100cm
343 m = 343 x 100 34300 cm = 34.300
s s s 1.000.000
1 s = 1.000.000 µs 34300 cm/s 0,0343 cm/µs
77
Princípio de
Funcionamento
D=Vxt
2
V = 0,0343 cm/µs
78
Pinagem
79
Informações Técnicas
80
Função pulseIn
81
Função pulseIn
82
Experimento VI
@peteletrica