relatório 01

18
IFPB - INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CURSO SUPERIOR EM ENGENHARIA ELÉTRICA DISCIPLINA MICROPROCESSADORES E MICROCONTROLADORES 2012.1 (P5) PROFESSOR ILTON BARBACENA PRÁTICA 05 Plataforma 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

Upload: frank-brunno-gouveia

Post on 02-Aug-2015

184 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Relatório 01

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

Page 2: Relatório 01

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

Page 3: Relatório 01

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

Page 4: Relatório 01

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

Page 5: Relatório 01

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

Page 6: Relatório 01

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

Page 7: Relatório 01

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

Page 8: Relatório 01

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

Page 9: Relatório 01

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

Page 10: Relatório 01

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

Page 11: Relatório 01

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

Page 12: Relatório 01

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

Page 13: Relatório 01

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

Page 14: Relatório 01

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