0% acharam este documento útil (0 voto)
16 visualizações77 páginas

Cópia de Cópia de Arduino Day - Minicurso Arduino Sensoriamento

Enviado por

perkson pc
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações77 páginas

Cópia de Cópia de Arduino Day - Minicurso Arduino Sensoriamento

Enviado por

perkson pc
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 77

ARDUINO DAY

Minicurso de Arduino
Básico
2024
Ministrantes

Patricio Valentin
Sumário
1 Introdução 4 Sensor LDR

2 Revisão Arduino Sensor


5
Infravermelho
Buzzer,
3 Sensor
Potenciômetro 6 Ultrassônico
e calibração
Arduino UNO R3

04
Protoboard

05
Protoboard
Durante o minicurso serão utilizadas as seguintes protoboards:

06
Uso do Multímetro

Para fazer as medições, basta selecionar a


escala e tocar no circuito com as pontas de
prova.

Tenha atenção antes de fazer uma medição,


selecionando a escala correta!

Chame sempre um monitor para conferir


qualquer medição ou montagem!

07
IDE Arduino

Monitor
Serial

08
IDE do Arduino
Versão instalada: Arduino 2.3.2

Atividade para verificar conexão


entre o computador e arduino:

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++

É popularmente conhecida como


"Arduino linguage".

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.

digitalWrite( pino, ESTADO);


Comando utilizado para definir a ação do pino. Caso ele esteja ligado será
HIGH, em situação contrária será LOW.

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

Monte um fluxograma para que


se a nota do aluno for maior ou
igual a 7 ele será aprovado, caso
contrário ele será reprovado.

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

Monte um fluxograma para que se


a média do aluno for maior ou
igual a 7 ele será aprovado, se
estiver no intervalo de 6 e 5 estará
na recuperação e caso contrário
ele será reprovado.

20
ELSE IF - EXEMPLO

IF SIM IF SIM
condição 1 condição
media>=71
COMANDO APROVADO
COMANDO
NÃO NÃO

SIM ELSE IF ELSE IF


SIM ELSE IF&&
media<7
condição 2 condição 2
media>=5
COMANDO COMANDO
RECUPERAÇÃO
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?

Dispositivo para geração de sinais sonoros;


Usamos as funções "tone“ e “noTone”;
Recebe uma energia e emite um som.

24
Buzzer

25
Estrutura do Buzzer

A função "tone" serve para gerar tone(pino, frequência);


um som no buzzer através da noTone(pino);
frequência desejada. Nesta função
é possível especificar também uma
duração para o sinal gerado. Exemplo:
tone(13, 340);
O buzzer é conectado em um pino delay(1000);
digital. noTone(13);

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?

É um resistor que tem a resistência viarável


Existe uma chave para girar e mudar a resistência
Três pinos com resistências diferentes

36
Potenciômetro

A chave muda de posição e divide a resistência para cada lado

37
Potenciômetro

Vamos medir!

38
Preparação

39
Exemplo 1

40
Potenciômetro
Situação Problema

O Arduino representa os valores de entrada em


escala de 0 a 1023, mas nosso potenciômetro é
de 0 a 10k ohms, como posso representar a
escala de 0 a 10k no Arduino ?

41
Potenciômetro
Resposta

Nós podemos fazer uma conversão em escala


que converte cada valor de 0 a 1023 em seu
respectivo valor de 0 a 10k!

Isso é o que chamamos de CALIBRAÇÃO.

Existem duas formas de fazer essa calibração.

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

É um resistor que varia a sua resistência de


acordo com a luminosidade (fotosensível)
Tem uma resistência alta de 10M ohms
Sem polaridade

48
Sensor de
Luminosidade - LDR

49
Sensor de
Luminosidade - LDR
Onde é aplicado?

Acendimento automático de lâmpadas


Postes de iluminação pública
Sistema de monitoramento
Robôs

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

Vários modelos no mercado


Detector de obstáculos
Detector de cor
Robótica

59
Aplicações

Detecção de objetos e verificação de presença


Acionamento de sistemas
Robô segue faixa

60
Princípio de
Funcionamento

61
Princípio de
Funcionamento

62
Princípio de
Funcionamento

63
Preparação

64
Exemplo 6

65
Experimento IV

Detecção de obstaculo utilizando sensor infravermelho


Utilizando o valor de saída do infravermelho, acenda um led para informar se foi
detectado algum obstaculo.
Materiais:
1 Arduino Uno R3 e jumpers;
1 Protoboard;
1 Infravermelho;
1 Resistor 220;
1 LED;
66
Experimento V

Detecção de obstaculo utilizando sensor infravermelho


Use o sensor infravermelho para detectar se o objeto em sua frente é preto ou branco,
acenda dois LEDs correspondentes e conte quantas vezes foi feita a troca das cores.
Materiais:
1 Arduino Uno R3 e jumpers;
1 Protoboard;
1 Infravermelho;
2 Resistor 220;
2 LEDs
69
Sensor Ultrassônico
HC - SR04

Vários modelos no mercado


Detector de obstáculos
Robótica

72
Aplicações

Detecção de objetos e verificação de presença


Medição de altura e largura
Posicionamento de sistemas robóticos
Correção de rota de robôs

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

"Captura a duração de um pulso em um


Estrutura
pino (que pode ser HIGH ou LOW). Por
pulseIn(pino, valor)
exemplo, se o valor HIGH é passado para
a função, a função pulseIn() espera o
pino ir do estado 'LOW' para HIGH, pulseIn(pino, valor, tdeespera)
começa a temporizar, então espera o
pino ir para o estado LOW e para de
temporizar."

81
Função pulseIn

82
Experimento VI

Detecção de obstaculo utilizando sensor ultrassonico


Use o sensor ultrassonico para verificar se há um objeto a aproximadamente 5cm de
distância em sua frente, e faça um buzzer 5 vezes apitar caso tenha.
Materiais: DESAFIO EXTRA: Faça o
1 Arduino Uno R3 e jumpers; buzzer ficar tocando
1 Protoboard; repetidamente, como um
1 Ultrassonico; alarme
1 Buzzer;
2 Resistor 220;
83
Experimento VII
Sensor de ré
Use o sensor ultrassonico, um buzzer e 3 LEDs para construir um sensor de ré, onde os
LEDs vão acendendo e o buzzer tocando mais rápido conforme a distância.
Materiais:
1 Arduino Uno R3 e jumpers;
1 Protoboard;
1 Ultrassonico;
1 Buzzer;
3 LEDs;
4 Resistor 220;
87
Obrigado!
Entre em contato conosco se tiver perguntas.

@peteletrica

[email protected]

Você também pode gostar