Upload
frank-brunno-gouveia
View
184
Download
0
Embed Size (px)
Citation preview
IFPB - INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBACURSO SUPERIOR EM ENGENHARIA ELÉTRICA
DISCIPLINA MICROPROCESSADORES E MICROCONTROLADORES 2012.1 (P5)
PROFESSOR ILTON BARBACENA
PRÁTICA 05Plataforma Arduino Uno Revisão 3 Italy
RELATÓRIO 01 - APLICAÇÃO PARA USO DO SENSOR ULTRA-SÔNICO (HC-SR04), BUZZER E LCD
Frank Brunno Gouveia Mat. 20101610135
Lázaro Fragoso Mat. 20101610224
Rafael O. Carvalho Mat. 20101610380
Tiago Augusto Mat. 20101810313
João Pessoa - PB
2012
2Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
RELATÓRIO 001-2012 AULAS PRÁTICAS
1. INTRODUÇÃO
A revolução tecnológica vividas nos últimos anos é tão voraz que aparelhos
eletro-eletrônicos são lançados e em pouquíssimo tempo já estão obsoletos. Frente a
enorme quantidade de produtos ofertados e uma produção tecnológica totalmente
rotativa coube aos engenheiros se adaptarem a esta metamorfose tecnológica e se
atualizarem constantemente as novas tecnologias.
No ambiente acadêmico também não foi diferente. Percebendo tais
mudanças e tendências tecnológicas, a disciplina de microcontroladores e
microprocessadores iniciou o período de 2012.1 com de cara nova propondo a utilização
da plataforma ARDUINO, que dispõe de um microcontrolador ATMEGA328P. A
tecnologia adotada na plataforma é de uma excelente praticidade a projetos
diversificados devido a sua alta maleabilidade de trabalho, podendo incorporar shield’s
(wireless, Bluetooth, ethernet, kit joystick, etc) utilizados nas mais variadas aplicações
possíveis, permitindo aos alunos da disciplina o uso de uma ferramenta poderosa,
prática, eficiente e de resultados rápidos.
O Arduino faz parte do conceito de hardware e software livre e estão abertos
para uso e contribuição de toda sociedade. O conceito Arduino surgiu na Itália em 2005
com o objetivo de criar um dispositivo para controlar projetos/protótipos construídos de
uma forma menos dispendiosa do que outros sistemas disponíveis no mercado.
Essa ferramenta até então pouco utilizada no IFPB (Instituto Federal de
Educação, Ciência e Tecnologia da Paraíba), pode ser definida como uma plataforma
open-source de prototipagem eletrônica baseada na flexibilidade, hardware de uso fácil
e programação intuitiva (software). O que não ocorre nas famílias 16F e 18F de
microcontroladores da linha PIC por exemplo. É destinada a produções acadêmicas,
designers, engenheiros, profissionais da área de TI e a interessados em criar objetos ou
ambientes interativos.
Diante do exposto acima, este relatório expõe uma ideia inicial da atividade
seguido de discussões técnicas, nos tópicos mais apropriados como a fundamentação
teórica, objetivos, materiais utilizados, metodologia, resultados e discussão. Por fim,
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
3Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
será feito uma síntese de todo o trabalho na conclusão e as referencias bibliográficas
serão mencionadas, a fim de dar maior legitimidade ao trabalho.
2. OBJETIVOS
Este relatório tem por objetivo mostrar os resultados obtido na prática
número 05 da disciplina de microcontroladores e microprocessadores (2012.1),
ministrada no curso de engenharia elétrica do IFPB. Fazendo uso de uma plataforma
Arduino e um sensor ultra-sônico, a experiência demonstra uma aplicação prática do
sensor ultra-sônico HC – SR04.
Como meta tem-se a reprodução de um dispositivo que meça a distancia de
obstáculos diversos. Sendo esta uma ferramenta análoga aos sensores de estacionamento
atualmente implantados em automóveis, estimulando os alunos a implantar tal projeto
para fins acadêmicos ou comerciais.
Alem disto, o trabalho visa a familiarização com a plataforma Arduino,
sensor de ultra-sônico (HC-SR04), display de LCD, buzzer (5V), usando-os de maneiras
integradas.
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
4Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
3. FUNDAMENTAÇÃO TEÓRICA
O Arduino é uma plataforma de computação física (são sistemas digitais
ligados a sensores e atuadores, que permitem construir sistemas que percebam a
realidade e respondem com ações físicas), baseada em uma simples placa de
Entrada/Saída microcontrolada e desenvolvida sobre uma biblioteca que simplifica a
escrita da programação em C/C++. O Arduino pode ser usado para desenvolver
artefatos interativos stand-alone ou conectados ao computador através de Adobe Flash,
Processing, Max/MSP, Pure Data ou SuperCollider.
Esta ferramenta de desenvolvimento “open source”, surgiu de um projeto
acadêmico, usualmente associado à filosofia de “Physical Computing”, ou seja, ao
conceito que engloba a criação de sistemas físicos através do uso de Software e
Hardware capazes de responder a entradas (inputs) vindas do mundo real.
O Arduino não é simplesmente uma peça de Hardware ou um Software de
desenvolvimento, ele representa também uma enorme comunidade. As razões para tal
sucesso baseiam-se no seu baixo custo dadas as suas funcionalidades, a simplicidade na
utilização e a possibilidade de execução em vários sistemas operacionais, como o
Windows, Macintosh OS e Linux, capacidade essa denominada por “Cross-platform”.
O estudo do Arduino abre as portas à compreensão de uma importante
ferramenta de desenvolvimento através de uma aprendizagem simples, mais dedicada,
onde se pode fazer desde robots a domótica entre muitas outras aplicações, bastando
simplesmente ter imaginação.
Para um melhor entendimento, segue os elementos principais da plataforma
através de diagrama em blocos:
A plataforma Arduino de desenvolvimento possui capacidade de interpretar
variáveis no ambiente e transformá-las em sinal elétrico correspondente, através de
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
5Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
sensores ligados aos seus terminais de entrada e atuando no controle ou acionamento de
algum outro elemento eletroeletrônico conectado ao terminal de saída.
Mencionado os atributos do Arduino e dirigindo-se aos sensores ultra-
sônico, esses são bastantes utilizados em aplicações industriais. Eles podem ser usados
para detectar a passagem de objetos numa linha de montagem, detectar a presença de
pessoas ou ainda de substâncias em diversos estados num reservatório permitindo a
medida de seu nível.
O sensor ultra-sônico HC-SR04 é simples e é dividido em duas partes, um
receptor e um emissor. O circuito emissor gera uma onda senoidal de 40KHz e o
receptor tem um filtro amplificador com saída ligada ao pino ECHO. O pino TRIG
normalmente deve estar em nível baixo e para iniciar uma leitura de distância, o mesmo
deve ser colocado em nível alto por 10us e retornar para nível baixo em seguida. Neste
momento, 8 pulsos de 40kHz são emitidos e basta verificar o tempo em que o pino
ECHO permaneceu em nível alto e em seguida implementar a fórmula abaixo na
plataforma Arduino para obter a distância.
Os resultados podem ser visualizados em módulos LCD, que são interfaces
de saída muito útil em sistemas microprocessados. Estes módulos utilizam um
controlador próprio, permitindo sua interligação com outras placas através de seus
pinos, onde deve ser alimentado o módulo e interligado o barramento de dados e
controle do módulo com a placa do usuário. Naturalmente que além de alimentar e
conectar os pinos do módulo com a placa do usuário deverá haver um protocolo de
comunicação entre as partes, que envolve o envio de bytes de instruções e bytes de
dados pelo sistema do usuário.
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
6Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
Já os buzzers, são dispositivo composto de 2 camadas de metal e uma
camada interna de cristal piezoelétrico. Ao ser alimentado com uma fonte de sinal, vibra
em frequência estabelecida pelo fabricante. Sua vantagem em relação a altos-falantes
comuns é que consome pouca energia em relação à potência sonora, sendo facilmente
alimentado com pequenas baterias.
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
7Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
4. MATERIAIS UTILIZADOS NA PRÁTICA nº 05
i. Sensor ultra-sônico HC-SR04;ii. Plataforma Arduino Revisão 3 Italy,
microprocessador ATMEGA328P;
iii. Liquid crystal display (LCD) 2x16;
iv. Buzzer (5V);
v. Protoboard ( Mariz de contato );
vi. Fios ou jampers;
vii. Resistores de 330Ω e 1K; i
ii iii iv
v vi vii
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
8Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
5. METODOLOGIA
Primeiramente fixa-se no protoboard (matriz de contato) a plataforma Arduino, buzzer, LCD e o sensor ultra-sônico. Em seguida, efetua-se as ligações de acordo com o datasheet dos componentes conectando o buzzer, sensor e LCD à plataforma.
O diagrama abaixo ilustra as ligações do LCD 2x16 (liquid crystal display).
O buzzer deve ser polarizado corretamente para funcionar. O pino maior é o positivo, esse deve ser conectado a um pino do Arduino destinado como saída (output).
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
9Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
O sensor ultra-sônico HC-SR04 deve ser conectado a plataforma Arduino respeitando a pinagem vcc, trig, echo e ground. A figura a baixo ilustra a montagem:
Segue abaixo o código comentado utilizado na prática nº 05. A ordem de alguns pinos na biblioteca do LCD foram alterados, afim de facilitar a montagem na matriz de contatos.
>>/*_____________________________________________________________________ Instituto, Federal de Educação, Ciência e Tecnologia da Paraíba - (IFPB) Curso: Bacharelado em Engenharia Elétrica Disciplina de Microcontroladores e Microprocessadores
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
10Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
Prof. Dr. Ilton Barbacena Período: 2012.1 Grupo: Frank Brunno Gouveia, Lázaro Fragoso, Rafael O. Carvalho e Tiago Augusto Mat.: 20101810135, 20101610224, 20101610380 e 20101810313 respectivamente ____________________________________________________________________*/
#include <LiquidCrystal.h> // Inclui a biblioteca do LCD
int buzzer = 12; // Configura o pino 12 da Arduino para conexão do buzzer (Alerta de proximidade)int trig = 7; // Configura o pino 7 da Arduino para conexão do Trig do sonar, pino resposável por enviar pulso sonar de 40MHzint echo = 6; // Configura o pino 6 da Arduino para conexão do Echo do sonar, recebendo o sinal refletido, emitido pelo trig
LiquidCrystal lcd (1, 0, 5, 4, 3, 2); /* Cia um objeto LiquidCrystal para controlar um LCD; Obs.: A ordem dos pinos originais foram alterados a fim de uma melhor encaixe do LCD com o Arduino*/ void setup( ) lcd.begin(16, 2); // Define o LCD de 16x2, sendo duas linhas e 16 colunas lcd.setCursor(0,0); // Define a posição da palavra 'ENGENHARIA' na primeira linha a partir da primeira coluna lcd.print("ENGENHARIA"); // Escreve a palavra lcd.setCursor(0,1); // Define a posição da palavra 'ELETRICA' na segunda linha a partir da primeira colina lcd.print("ELETRICA"); // Escreve a palavra delay(2000); // Atrasa a próxima instrução em 2 segundos, mantendo desta forma o texto escrito anteriormente durante este tempo lcd.setCursor(0,0); // >>> Análogo lcd.print("COMPONENTES: "); lcd.setCursor(0,1); lcd.print("Frank Brunno "); delay(2000); lcd.setCursor(0,1); lcd.print("Lazaro Fragoso "); delay(2000); lcd.setCursor(0,1); lcd.print("Rafael Carvalho "); delay(2000); lcd.setCursor(0,1); lcd.print("Tiago Augusto "); delay(2000); // análogo <<<
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
11Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
pinMode(trig, OUTPUT); // Define trig (pino 7) como saída do Arduino para o sensor pinMode(echo, INPUT); // Define echo (pino 6) como entrada do Arduino, recebendo do sensor pinMode(buzzer, OUTPUT); // Define o pino 12 como uma saída (aciona o buzzer)
void loop() // Mantêm a rotina em um loop infinito float dur, dist; // Define as variáveis de duração e distancia digitalWrite(trig, LOW); // Envia um nível baixo para o trig do sensor ultra-sônico, garantindo a inicialização do sinal em nível zero delayMicroseconds(2); // Atrasa a próxima instrução em 2 microssegundos, garantindo suficientemente o zero em tempo hábil digitalWrite(trig, HIGH); // Ativa o trig preparando o sensor ultra-sônico para o disparo do sonar delayMicroseconds(10); // Atrasa a próxima instrução em 10 microssegundos digitalWrite(trig, LOW); // Abaixa o trig, para a partir daqui serem disparados 8 pulsos de 40 MHz através do sonar delayMicroseconds(2); // Atrasa a próxima instrução em 2 microssegundos dur = pulseIn(echo, HIGH); // variável duração recebe o tempo de ida e volta do sinal emitido pelo sonar. Já a função pulseIn usada, mede o tempo em que determinado pino permanece em um estado, seja ele alto ou baixo, no exemplo em questão esta sendo medindo o tempo que o echo do sensor permanece em nível lógico alto dist = dur/29/2; // Converte a variável 'duração' para centímetros, calculando a distancia dividido por 2 devido ao tempo de envio e recepção do sinal lcd.clear (); // Limpar o visor if (dist > 15) // Se a distância for maior que 20, valide a condição lcd.setCursor(0,0); lcd.print("Distancia:"); lcd.setCursor(0,1); lcd.print(dist); // Imprime o valor da variável distância e não uma string qualquer
lcd.print("cm"); delay(200); if ((dist > 50) && (dist <= 100)) // Se a distância for menor ou igual a 50 e maior que 40, aciona o buzzer a 1,92 Hz digitalWrite(buzzer,HIGH); delay(50); digitalWrite(buzzer,LOW); delay(1000);
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
12Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
if ((dist <= 50) && (dist > 35)) // Se a distância for menor ou igual a 50 e maior que 40, aciona o buzzer a 1,92 Hz digitalWrite(buzzer,HIGH); delay(50); digitalWrite(buzzer,LOW); delay(500);
if ((dist <= 35) && (dist > 20)) // Se a distância for menor ou igual a 40 e maior que 30, aciona o buzzer a 3,7 Hz digitalWrite(buzzer,HIGH); delay(50); digitalWrite(buzzer,LOW); delay(200); if ((dist <= 20) && (dist > 15)) // Se a distância for menor ou igual a 30 e maior que 20, aciona o buzzer a 8,33 Hz digitalWrite(buzzer,HIGH); delay(50); digitalWrite(buzzer,LOW); delay(20); if (dist <= 15) // Se distância menor ou igual a 20, aciona o buzzer em nível alto continuamente digitalWrite(buzzer,HIGH); lcd.setCursor(0,0); lcd.print("COLISAO EMINENTE"); lcd.setCursor(0,1); lcd.print("Perigo a "); lcd.print(dist); lcd.print("cm"); delay(500); else digitalWrite(buzzer,LOW); // Caso nenhuma das condições sejam satisfeitas o buzzer é desligado // Fim do código
Depois de compilado o código acima, o mesmo poderá ser transcrito ao compilador “Arduino 1.0”, e em seguida deve-se conectar o cabo de dados da
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
13Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
plataforma a uma porda USB do computador e fazer upload do código, gravando-o na plataforma.
Feito isso sua plataforma estará com o código pronto para ser executado e com os dispositivos já todos acoplados a mesma, basta apenas alimentar o Arduino com a fonte, ou ligar o cabo de dados a uma porta USB que sua aplicação estará pronta para ser demonstrada.
6. RESULTADOS E DISCUSSÃO
Neste item devem ser descritos os resultados esperados, ou não, da atividade prática
que foi realizada. Descrição e discussão sobre os dados colhidos na experiência da aula
prática.Observações sobre os resultados obtidos, possíveis causas de erros, sugestões
para o emprego de outros métodos, etc. Poderão ser relatados, também, problemas
ocorridos durante o processo de execução do experimento.
7. CONCLUSÃO
Análise dos resultados em função dos objetivos propostos. Poucas frases bem
elaboradas para encerrar o trabalho. Deve ser exposto, claramente, o que se conseguiu
demonstrar durante o desenvolvimento da atividade de acordo com os objetivos da
atividade prática. Pode-se,também, fazer esquemas e desenhos para melhor ilustrar a
conclusão das atividades.
8. REFERÊNCIAS
FONSECA, E. G. P.; BEPPU M. M.; VEGA A. S. Apostila Arduino. 1ª Ed. Niterói-
RJ; Universidade Federal Fluminense; Centro Tecnológico; Escola de Engenharia;
Curso de Engenharia de Telecomunicações - Programa de Educação Tutorial;
Dezembro de 2010; 23 páginas.
SANTOS P. S. Arduino Introdução e Recursos Avançados. 1ª Ed. Escola Naval;
Departamento de Engenheiros Navais; Ramo de Armas e Electônica.
ARDUINO.CC, [online]. Disponível em: <http://www.arduino.cc>. Acessado em:
11/04/2012;
SITES:
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena
14Aplicação para uso do sensor ultra-sônico (HC-SR04), buzzer e LCD
SABER ELETRÔNICA, [online]. Disponível em:
<http://www.sabereletronica.com.br/secoes/leitura/1307>. Acessado em: 11/04/2012;
ATMEL, [online]. Disponível em: <http://www.atmel.com>. Acessado em: 13/04/2012;
SILICONNECT, [online]. Disponível em: <http://www.siliconnect.com.br>. Acessado
em: 13/04/2012;
BAGAREL, [online]. Disponível em: <http://loja.bagarel.com.br>. Acessado em:
13/04/2012;
ELETRODEX, [online]. Disponível em: <http://eletrodex.com.br/>. Acessado em:
15/04/2012;
PTROBOTICS, [online]. Disponível em: <http://ptrobotics.com>. Acessado em:
15/04/2012;
IFPB – Engenharia Elétrica – Prof. Dr. Ilton Barbacena