Arduino para Iniciantes

Cursos


Simulados


P&R

Arduino-36 Projetos

Ajude-nos a manter este site sempre atualizado com novos Cursos, Tutoriais, Simulados e Projetos. Agradecemos a sua colabora��o.


Projetos Arduino - Sensores - Projeto 6

Como Utilizar um Sensor Ultrass�nico HC-SR04
com um Servo Motor e um LCD 16x2

  Descri��o:

  Nesse projeto vamos utilizar um sensor ultrass�nico HC-SR04, juntamente com um servo motor e um LCD 16x2, de forma que, quando o sensor detectar algum objeto em sua linha de a��o, a dist�ncia ser� registrada no LCD e o eixo do servo motor ser� girado para os graus determinados pelas dist�ncias programadas para o sensor, ou seja, para cada dist�ncia pr�-estabelecida para o sensor, o eixo do servo ser� girado para um determinado grau, e essas informa��es ser�o mostradas no display. Para efeito de confer�ncia, o resultado tamb�m ser� exibido no Monitor serial do Arduino.

  Mas agora vamos conhecer os componentes que far�o parte desse projeto.

  Sensor Ultrass�nico HC-SR04:

  O sensor ultrass�nico HC-SR04 permite que voc� fa�a leituras de dist�ncias entre 2 cm e 4 metros, com precis�o de 3 mm. Ele � um componente muito utilizado em projetos eletr�nicos, principalmente com o Arduino. Ele permite detectar a presen�a de qualquer obst�culo que se encontre em sua linha de a��o, dependendo da dist�ncia programada, e acionar portas do microcontrolador, acionar alarmes e rel�s, acender LEDs ou l�mpadas, etc.

  Podemos calcular a dist�ncia do objeto com base no tempo tomado pela onda de ultrassom para retornar de volta para o sensor. Uma vez que o tempo e a velocidade do som s�o conhecidos, podemos calcular a dist�ncia percorrida pela seguinte f�rmula:

   dist�ncia = (tempo x velocidade do som) / 2 (A velocidade do som � 340 m/s)

  O valor � dividido por dois tendo em vista que a onda se desloca para a frente e para tr�s cobrindo a mesma dist�ncia. Esse tipo de sensor � muito utilizado em autom�veis para detectar a dist�ncia que se encontra de outro carro ou de um obst�culo qualquer. Muito utilizado tamb�m em resid�ncias e empresas para detectar a presen�a de intrusos, entre outras aplica��es.

  O funcionamento desse sensor se baseia no envio de sinais ultrass�nicos atrav�s do terminal Trig, que aguarda o retorno do sinal atrav�s do terminal Echo, e com base no tempo entre envio e retorno, calcula-se a dist�ncia entre o sensor e o objeto detectado.

  Existe no mercado v�rios tamanhos e formatos desse tipo de sensor, mas, o que vamos utilizar no nosso projeto � o mostrado na Figura 6.1:


Figura 6.1 � Sensor ultrass�nico HC-SR04
Frente e verso.
(Imagem: do Autor)

  Vejamos algumas especifica��es t�cnicas desse componente de acordo com o fabricante:

  � Tens�o de funcionamento: 5v (DC).
  � Corrente est�tica: Menos de 2mA.
  � Sinal de sa�da: Sinal de frequ�ncia el�trica, n�vel alto 5V, n�vel baixo 0V.
  � �ngulo do sensor: n�o mais que 15 graus.
  � Dist�ncia de detec��o: 2cm-450cm.
  � Alta precis�o: at� 0.3 cm.
  � Sinal de disparo de entrada: 10us impulso TTL.
  � Sinal de eco: sa�da TTL sinal PWL.

  Pinagem:

  Esse sensor disp�e de apenas quatro pinos (ou terminais). Considerando a imagem de frente do sensor, temos:

  � VCC � 5V.
  � Trig � envia o sinal.
  � Echo � recebe o sinal.
  � GND � terra.

  Servo Motor:

  Um servo motor � um componente muito utilizado em projetos eletr�nicos. Ele � com-posto de um pequeno motor, um circuito e v�rias engrenagens no seu interior, e o giro do seu eixo pode variar entre 0 e 180 graus. Ele � muito utilizado em aeromodelismo, nautimodelis-mo, rob�tica, abertura de portas, entre outras aplica��es. Por fora podem ser fixados alguns acess�rios que normalmente o acompanham. Para a conex�o com o Arduino ele disp�e de tr�s fios: um para a tens�o (fio vermelho), um para o terra (fio marrom) e outro para o sinal (geral-mente de cor laranja ou amarelo, mas pode variar de acordo com o modelo e o fabricante).

  Existe no mercado v�rios tipos de servo motores quanto ao tamanho, formato e torque, mas o que vamos utilizar no nosso projeto � o Tower Pro 9g, mostrado na Figura 6.2:


Figura 6.2 � Servo Motor Tower Pro 9g
e acess�rios.
(Imagem: do Autor)

  Display LCD 16x2:

  Esse componente � utilizado para exibir informa��es provenientes de resultados obtidos da leitura de outros componentes, como sensores de movimento, ultrass�nicos, infravermelho, de temperatura, etc. Essas informa��es ser�o exibidas em um visor de cristal l�quido contendo 16 colunas por 2 linhas. Esse componente poder� ser usado com v�rios tipos de placas e microcontroladores, tais como Arduino, Raspberry PI, PIC, entre outros. O tamanho, as cores de fundo e dos caracteres variam de acordo com o modelo e o fabricante. Entretanto, essas caracter�sticas n�o afetam a finalidade do nosso projeto.
  O tipo de display que vamos utilizar em nosso projeto � o mostrado na Figura 6.3:


Figura 6.3 � Display LCD 16x2
(Imagem: do Autor)

  Vejamos algumas especifica��es t�cnicas desse componente de acordo com o fabricante:

  � M�dulo I2C 1602 LCD Azul 16x2.
  � Tela de cristal l�quido para Arduino e outros microcontroladores.
  � Com o conversor serial I2C, o m�dulo usa o chip pcf8574.
  � Ele permite que voc� use este LCD com apenas 4 pinos. H� uma luz de fundo que levaria um quinto pino se voc� quiser ligar e desligar.
  � Tela retro iluminada azul de 16x2 caracteres.
  � O conversor I2C inclu�do salva os pinos no seu projeto.
  � O LCD e o conversor s�o componentes separados com os pinos soldados no conversor.
  � Ser� necess�rio soldar o conversor no LCD.

  Agora que voc� j� conhece o componente essencial para esse projeto, vejamos o material necess�rio para sua execu��o:

  � 1 Arduino Uno (recomendado) ou compat�vel.
  � 1 Protoboard.
  � 1 Sensor ultrass�nico HC-SR04.
  � 1 Servo Motor TowerPro 9g.
  � 1 Display LCD 16x2.
  � Alguns jumpers.

   Conectando os componentes ao Arduino:

  Estando com todo o material em m�os, conecte-os de acordo com o esquema mostrado na Figura 6.4, mas antes certifique-se que o cabo USB do Arduino esteja desconectado do computador:


Figura 6.4 � Conex�o esquem�tica dos componentes
com o Arduino e a protoboard.
(Imagem: do Autor)

  Fa�a as conex�es da seguinte forma:

  � Arduino � conecte o pino 5V a um dos pinos da trilha vermelha da protoboard (fio vermelho), e o pino GND a um dos pinos da trilha preta da protoboard (fio preto).
  � Sensor Ultrass�nico (considerando o verso do sensor e n�o a frente) � conecte o primeiro pino da esquerda (GND) a um dos pinos da trilha preta da protoboard (fio azul), o segundo pino (Echo), conecte � sa�da digital 9 do Arduino (fio laranja), o terceiro pino (Trig), conecte � sa�da digital 10 do Arduino (fio verde), e finalmente o quarto pino (VCC), conecte � trilha vermelha da protoboard (fio lil�s).
  � Display LCD � conecte o primeiro pino da esquerda, VSS (Ground), a um dos pinos da trilha preta da protoboard (fio marrom), o segundo pino, VDD (5V), conecte a um dos pinos da trilha vermelha da protoboard (fio azul), o terceiro pino, VE (Contrast), deixe desconectado, ou utilize para conectar um potenci�metro para ajustar a luminosidade do LCD. O quarto pino RS conecte � sa�da digital 12 do Arduino (fio lil�s), o quinto pino, RW, conecte a um dos pinos da trilha preta da protoboard (fio ciano), o sexto pino, conecte � sa�da digital 11 do Arduino (fio verde), deixe os pr�ximos 4 pinos desconectados (D0 a D3), o pino D4, conecte � sa�da digital 5 do Arduino (fio laranja), o pino D5, conecte � sa�da digital 4 do Arduino (fio azul), o pino D6, conecte � sa�da digital 3 do Arduino (fio verde), o pino D7, conecte � sa�da digital 2 do Arduino (fio vermelho), o pen�ltimo pino, Backlight Anode, conecte � um dos pinos da trilha vermelha da protoboard (fio vermelho), e finalmente o pino, Backlight Cathode, conecte � um dos pinos da trilha preta da protoboard (fio preto).
  � Servo Motor � conecte o terminal de cor marrom do servo a um dos pinos da trilha preta da proto-board (fio verde), o terminal de cor vermelha conecte a um dos pinos da trilha vermelha da protoboard (fio vermelho), e o terminal de cor amarela � sa�da digital 7 do Arduino (fio amarelo).

  Para facilitar a conex�o do LCD 16x2 com o Arduino e a protoboard, consulte a tabela a seguir:


Tabela 6.1 � Conex�o dos pinos do LCD 16x2
com o Arduino e a protoboard.
(Imagem: do Autor)

  Veja nas Figura 6.5, 6.6 e 6.7 o mesmo projeto na vers�o real:


Figura 6.5 � Vis�o real das conex�es dos
componentes com o Arduino e a protoboard.
(Imagem: do Autor)


Figura 6.6 � LCD mostrando a dist�ncia
capturada pelo sensor e o �ngulo
do servo motor.
(Imagem: do Autor)


Figura 6.7 � Posi��o do sensor na protoboard.
(Imagem: do Autor)

  Criando o sketch:

  Para a cria��o do nosso sketch, voc� precisa primeiro baixar e instalar a seguinte biblioteca no Arduino necess�ria para a execu��o do projeto. Se a mesma j� estiver instalada, execute o passo seguinte:

   Instalando a biblioteca Ultrasonic:

  � Fa�a o download da biblioteca Ultrasonic no link:

  Biblioteca Ultrasonic

  E salve-a em algum lugar de sua prefer�ncia.

  � Descompacte o arquivo e mova ou copie a pasta MFRC522 para o diret�rio libraries do Arduino (onde ele foi instalado).
  � Execute o Arduino e verifique se a biblioteca instalada faz parte da lista de bibliotecas utilizando o menu: Sketch >> Incluir Biblioteca. Ela deve estar no final da lista com o nome: Ultrasonic.

  OBS.: Se o Arduino j� estiver sendo executado ser� necess�rio fech�-lo e execut�-lo novamente para que a biblioteca seja inclu�da na lista.

  Agora que a biblioteca est� devidamente instalada e os componentes conectados, digite o c�digo da Listagem 6.1 (desconsidere os n�meros � esquerda, s� servem como refer�ncia), ou carregue o arquivo (leitor_rfid) utilizando o link:

  Sensor com Servo e LCD

  E abra no editor do Arduino.


Listagem 6.1

  Salve esse projeto com o nome (sugest�o) de: sensor_lcd_servo.

  Alguns coment�rios sobre o c�digo:

  1) Na linha 7 foi inclu�da a biblioteca Ultrasonic.
  2) Na linha 9 inclu�mos tamb�m a biblioteca do servo, e na linha 11 inclu�mos a biblioteca do LCD, necess�rias para a execu��o do nosso projeto.
  3) Na linha 13 definimos os pinos do Arduino onde ser�o conectados os pinos do LCD.
  4) Nas linhas 17 e 18 definimos as constantes trigPin e echoPin para as conex�es dos pi-nos do sensor com os pinos 10 e 9 do Arduino, respectivamente.
  5) Na linha 20 declaramos a vari�vel inteira servoPin para definir a conex�o com o pino 7 do Arduino.
  6) Na linha 22 criamos um objeto do tipo Ultrasonic para inicializarmos os pinos do sen-sor.
  7) Na linha 24 declaramos a vari�vel inteira angulo para armazenar o �ngulo do servo.
  8) Na linha 28 inicializamos o LCD definindo o n�mero de colunas e linhas.
  9) Na linha 32 definimos o �ngulo que o servo ser� iniciado toda vez que o c�digo for executado, ou seja, zero graus.
  10) Nas linhas 33 a 35 definimos os pinos de entrada e sa�da do sensor e do servo. Na fun-��o loop() descrevemos v�rias situa��es onde o eixo do servo dever� girar de acordo com as dist�ncias preestabelecidas no c�digo.

  Executando o projeto:

  Inicialmente conecte o cabo USB no computador, selecione uma porta utilizando o menu Ferramentas/Porta, e em seguida fa�a o upload do c�digo para o Arduino clicando no �cone Carregar (ou utilize o menu Sketch >> Carregar). Se o seu c�digo apresentar algum tipo de erro, ele ser� identificado com uma tarja sobre a linha onde se encontra o erro e/ou no rodap� do Editor, isso vai depender do tipo de erro. Cabe a voc� procurar saber que tipo de erro ocorreu e consert�-lo.

  Testando o projeto:

  Ap�s a execu��o do c�digo, o projeto dever� mostrar no Monitor serial as dist�ncias captadas pelo sensor e os respectivos giros do eixo do servo (em graus), conforme mostra a (Figura 6.8):


Figura 6.8 � Monitor mostrando a dist�ncia detectada pelo sensor
e o giro do eixo do servo motor (em graus).
(Imagem: do Autor)


  Atividade:

  1) Adicione quatro LEDs (de cores diferentes) ao projeto, e altere o c�digo de forma que, um LED fique aceso para cada giro do eixo do servo (por exemplo: 30, 60, 90 e 120 graus), e mostre no Monitor serial e no LCD a cor do LED referente a cada giro. Quando o eixo do servo estiver na sua posi��o original (zero grau), todos os LEDs dever�o ficar apagados.

  D�vidas:

  E-mail: [email protected]

  WhatsApp: (55) 84-99988-4136



Tutoriais


Programas



Projetos


O Catador de Lixo Arduino para Iniciantes Programando com Arduino-12 Projetos
Cursos

Android
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
SQL
P&R

Android
CSS3
HTML
Java
JQuery
JScript
PHP
Python
Simulados

Android
Arduino
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
Python
SQL
Tutoriais

Android
App Inventor 2
Arduino
C
C++
CSS3
HTML
Java
JQuery
JScript
PHP
Python
Programas

Android
App Inventor 2
C
Java
JQuery
JScript
PHP
Python
Projetos

Android
App Inventor 2
Arduino

Copyright 2020 - Simulados & Tutoriais - Todos os Direitos Reservados.