|
Descri��o:
Nesse projeto vamos utilizar o mesmo controle remoto e o receptor infravermelho (IR) do projeto anterior juntamente com um servo motor, de forma que, cada tecla de 0 a 8
do controle dever� girar o eixo do servo nos graus pr�-estabelecidos no c�digo. Voc� poder� utilizar qualquer tipo de controle remoto de TV. O que vamos utilizar em nosso projeto
� o que acompanha o kit do Arduino.
Mas agora vamos conhecer os componentes que far�o parte desse projeto.
Receptor Infravermelho TSOP4838:
Como j� dissemos, o m�dulo receptor IR que vamos utilizar � o mesmo do projeto an-terior, ou seja, o TSOP4838, portanto n�o ser� necess�ria a sua descri��o aqui.
Vamos apenas mostrar o componente e sua respectiva pinagem para facilitar a conex�o com o Arduino, conforme mostra a Figura 1.1.
O sensor infravermelho que vamos utilizar em nosso projeto � o mostrado na Figura 1.1:

Figura 1.1 � Receptor Infravermelho.
(Imagem do Autor)
Pinagem:
Esse sensor disp�e de tr�s pinos (ou terminais), conforme mostra a Figura 1.2:

Figura 1.2 � Receptor Infravermelho.
(Imagem do Autor)
Esse sensor disp�e de apenas tr�s pinos (ou terminais). Considerando a imagem de frente do sensor, a partir da esquerda, temos:
� VOUT � sinal.
� GND � terra.
� VCC � 5V.
Controle Remoto Infravermelho:
Esse componente e suas respectivas especifica��es t�cnicas tamb�m j� foram apresentados no projeto anterior. Portanto, n�o ser� necess�ria a sua descri��o nesse projeto.
Somente para lembrar o que vamos utilizar � o mostrado na Figura 1.3.

Figura 1.3 � Controle Remoto Infravermelho.
(Imagem do Autor)
Servo Motor:
O servo motor que vamos utilizar no nosso projeto � o mesmo j� utilizado em projetos anteriores, ou seja, um Tower Pro 9g, conforme mostra a Figura 1.4:

Figura 1.4 � Servo Motor Tower
Pro 9g e acess�rios.
(Imagem: do Autor)
Pinagem:
Esse componente disp�e apenas de tr�s fios: um para a tens�o (fio vermelho), um para o terra (fio marrom) e outro para o sinal (geralmente de cor laranja ou amarelo,
mas pode vari-ar de acordo com o modelo e o fabricante):
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 Controle Remoto Infravermelho.
� 1 Receptor Infravermelho TSOP4838.
� 1 Servo Motor Tower Pro 9g.
� 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 1.5, mas antes certifique-se que o cabo USB do
Arduino esteja desconectado do computador:

Figura 1.5 � 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 marrom).
� Receptor Infravermelho � conecte o primeiro terminal da esquerda (VOUT) ao pino digital 11 do Arduino (fio vermelho), o terminal
seguinte (GND), conecte a um dos pinos da trilha preta da protoboard (fio azul), e o terceiro (VCC), conecte a um dos pinos da trilha ver-melha da protoboard (fio vermelho).
� Servo Motor � conecte o terminal marrom do servo � trilha preta da protoboard (fio marrom), o terminal vermelho � trilha
vermelha da protoboard (fio vermelho), e o terminal la-ranja ao pino digital 8 do Arduino (fio laranja).
Veja nas Figura 1.6 e 1.7 o mesmo projeto na vers�o real:

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

Figura 1.7 � Vis�o em detalhes do sensor.
(Imagem: do Autor)
Criando o sketch:
Para a cria��o do nosso sketch, precisamos primeiro baixar a biblioteca a seguir necess�ria para a execu��o do projeto. Caso essa biblioteca j� esteja instalada, execute o passo seguinte:
Instalando a biblioteca IRremote
� Fa�a o download da biblioteca IRremote no link:
Biblioteca IRremote
E salve-a em algum lugar de sua prefer�ncia.
� Descompacte o arquivo e mova ou copie a pasta IRremote 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: IRremote.
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.
Uma vez que a biblioteca foi instalada corretamente e os componentes devidamente conectados, primeiramente voc� precisa executar o programinha (decodifica_teclas) para voc� saber quais os
c�digos hexadecimais referentes �s teclas do controle remoto que vamos utilizar no nosso projeto. Para isso, baixe o arquivo (decodifica_teclas) utilizando o link:
Decodifica Teclas
E abra no editor do Arduino.
Esse pequeno programa serve apenas para voc� saber quais os c�digos hexadecimais das teclas do seu controle. Eles ser�o impressos no Monitor serial. Para isso, execute o programa
e aperte as teclas de 0 a 8 e fa�a uma tabela desses c�digos e as suas respectivas teclas de acordo com o exemplo da Tabela 1.1 a seguir:

Tabela 1.1 � Teclas e seus respectivos c�digos hexadecimais e fun��es.
(Imagem: do Autor)
Esses c�digos s�o do controle remoto que vamos utilizar no projeto, n�o necessaria-mente ser�o iguais aos seus, mas qualquer que seja o controle remoto que voc� utilize funcionar�
da mesma forma no programa ap�s a decodifica��o das teclas. Se voc� mudar de controle dever� executar esse pequeno programa novamente. Os controles remotos s�o diferentes um do outro.
Agora que voc� j� conhece os c�digos das teclas do seu controle remoto, precisamos agora converter esses c�digos hexadecimais para decimais para facilitar na programa��o. Para isso
instale qualquer aplicativo do Google Play para executar essa tarefa ou utilize algum site de convers�o de n�meros. Existe uma infinidade de bons aplicativos para isso, tanto para
celulares quanto na web. Ap�s a convers�o, anote esses n�meros de acordo o exemplo da Tabela 1.2:

Tabela 1.2 � Teclas e seus respectivos c�digos hexadecimais, decimais e fun��es.
(Imagem: do Autor)
Agora que j� conhecemos os c�digos decimais das teclas que vamos utilizar, essenciais para a execu��o do nosso projeto, vamos ao programa propriamente dito.
Com os componentes devidamente conectados, digite o c�digo da Listagem 1.1, ou baixe o arquivo (controle_infravermelho_servo) utilizando o link:
Controle Infravermelho
E abra no editor do Arduino.
Listagem 1.1
Salve esse projeto com o nome (sugest�o) de: controle_infravermelho_servo.
Alguns coment�rios sobre o c�digo:
1) Na linha 27, decidimos que o servo motor dever� iniciar na sua posi��o original, ou seja, 0 graus, toda vez que o c�digo for executado.
2) Na linha 28, definimos o pino do servo como pulso de sa�da.
3) Na linha 36, criamos uma vari�vel inteira longa para armazenar a leitura do sensor infravermelho.
4) Nas linhas 37 a 110, utilizamos a fun��o switch com v�rias condi��es para girar o eixo do servo motor para os graus correspondentes a cada
tecla pressionada de acordo com o c�digo decimal de cada uma. Essas informa��es ser�o mostradas no Monitor serial.
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 qual tecla foi pressionada e o respectivo giro do eixo do servo motor (em graus), conforme
mostra a Figura 1.8:

Figura 1.8 � Monitor mostrando a tecla pressionada
e o respectivo giro do eixo do servo motor (em graus).
(Imagem: do Autor)

Atividades:
1) Adicione um display LCD 16x2 ao projeto e mostre nele as mesmas informa��es do Monitor serial.
D�vidas:
E-mail: [email protected]
WhatsApp: (55) 84-99988-4136

|