Buscar

Trabalho de Cálculo IV (1)

Prévia do material em texto

Leitura do sensor LM-35 utilizando o PIC16F877A juntamente com o módulo Bluetooth HC-06
Luiz Guilherme Villa Verde Costa Rodrigues e Matheus Letzov Peloso
Universidade Federal de Santa Catarina
Resumo: Esse artigo propõe a utilização de um microcontrolador afim de captar temperaturas, em graus Celsius, com o sensor (LM-35) e enviando através de uma comunicação UART para o módulo Bluetooth (HC-06) e também enviada através da comunicação serial entre o PIC e o LCD também acoplados ao projeto. Com isso, foi realizada uma programação em linguagem C, no PIC CSS Compiler, utilizando de bibliotecas e fazendo as devidas funções, fazendo com que todo o sistema funcionasse em sua plenitude. 
1. Introdução
Inicialmente, começamos a implementação do projeto utilizando o MPLAB, da Microchip com o compilador XC8. Uma IDE bastante conhecida no mundo da eletrônica. A primeira parte que resolvemos implementar, foi a comunicação UART (Figura 1). Para isso, utilizamos como base o datesheet do PIC16F877A para ver os pinos de comunicação juntamente com a velocidade de bound que iriamos utilizar, para que o PIC e o módulo Bluetooth funcionassem em harmonia. Para testar a comunicação utilizamos o software de simulação, o Proteus, e foi um sucesso (Figura 2). Porém, tivemos problemas no restante do projeto no MPLAB, visto que a linguagem das demais bibliotecas que estava sendo utilizadas não estava sendo compatível com a mesma IDE. Logo, migramos todo o projeto para o PIC CSS Compliler, onde foi realizado todo o restante do projeto.
 Figura 1: Uma parte do código da comunicação Bluetooth, no MPLAB e compilado pelo XC8.
 
 Figura 2: Simulação da comunicação entre o PIC16F877A e o Módulo HC-06 no Proteus.
2. Implementação do Projeto
A partir de agora, começamos nosso projeto do zero, só que desta vez utilizando uma nova IDE, em linguagem C. Escolhemos essa IDE porque o suporte dos usuários na Internet, nos fóruns é bastante interessante e as bibliotecas ficam bem estáveis, consequentemente, teríamos um projeto com menos erros. Antes de começarmos o projeto de fato, convém uma breve introdução sobre os componentes utilizados.
2.1 Introdução aos componentes principais do projeto
LM -35: O sensor LM35 (Figura 3) é um sensor de precisão, fabricado pela National Semiconductor, que apresenta uma saída de tensão linear relativa à temperatura em que ele se encontrar no momento em que for alimentado por uma tensão de 4-20V, tendo em sua saída um sinal de 10mV para cada Grau Celsius de temperatura.
 Figura 3: Pinos do sensor LM-35
Módulo HC-06: O módulo Bluetooth HC-06 (Figura 4) é usado para comunicação wireless entre o PIC e algum outro dispositivo com Bluetooth, como por exemplo um computador ou um smartphone. As informações recebidas pelo módulo são repassadas microcontrolador via serial. O módulo possui 4 pinos: Vcc (alimentação de 3,6 à 6v), GND, RX e TX, os dois últimos utilizados para comunicação.
 Figura 4: O módulo HC-06 e seus respectivos pinos.
PIC16F877A: É um PIC bastante interessante, pois além de ser bastante completo, é fácil de programar, o que torna um PIC bastante didático. Abaixo, está algumas características do PIC e seus respectivos periféricos. 
Características:
– Arquitetura RISC (set de instruções reduzidas);
– Velocidade de Operação: até 20Mhz;
– Memória de Programa (Flash): 8K x 14 words;
– Memória de Dados (RAM): 368 x 8 bytes;
– Memória EEPROM: 256 x 8 bytes;
– 8 níveis de STACK;
– 14 tipos de interrupções;
– WDT (WatchDogTimer);
– Proteção do Código;
– In-Circuit Serial Programming (ICSP) por 2 pinos;
– Opção de selecionar o oscilador;
– Ampla faixa de tensão de Operação: 2,0V à 5,5V;
– Capacidade de corrente por pino: 25mA;
Periféricos:
– Timer2: 8-bit timer/counter
– Modo PWM (10-bit de resolução)
– 8 canais analógicos (10-bit de resolução)
– Modo SSP (Synchronous Serial Port) com protocolos SPI e I2C
– Modo de Comunicação USART
– Comunicação Paralela
2.2 Implementação dos códigos no PIC
	Após o conhecimento prévio dos componentes utilizados, começamos a programação de fato. Inicialmente, criamos um arquivo .h (Figura 5) e configuramos o cabeçalho do PIC16F877A, nele contém toda configuração do pic, juntamente com funções de comunicação serial (r232) e a velocidade do clock, tudo de acordo com o datasheet. 
 
 Figura 5: Configuração do cabeçalho do PIC.
	
Após o cabeçalho concluído, pesquisamos uma biblioteca para o LCD do projeto. Encontramos um .h com todas as funções do mesmo. Com isso, os Includes do projeto estavam prontos e por fim criamos o MAIN (Figura 6).
Dentro da função MAIN, criamos a leitura do sensor (Leitura ADC), a conversão para sinal digital e o envio dos dados através da arquitetura serial para que consiga enviar com sucesso todas as informações de temperatura, tanto para o LCD, quanto para a comunicação bluetooth.
 Figura 6: Trecho do código main do projeto.
	
 2.3 Implementação física do Projeto
Após todos os códigos realizados e devidamente compilados, gravamos o todos os 3 arquivos do projeto, direto no PIC16F877A utilizando um gravador de PIC’s. Logo após, foi o momento de pegar todos os componentes, juntamente com a protoboard e começar as devidas conexões, utilizando como base o projeto do proteus e o datasheet do PIC (Figura 7). Tivemos alguns problemas na hora da montagem, como por exemplo, mau contato entre os componentes, encaixes equivocados na protoboard e leituras incoerentes do sensor. Após diversas tentativas, conseguimos fazer a execução do projeto, obtendo dados de maneira coesa. 
 
 
 Figura 7: Imagens da implementação física.
3. Conclusão e resultados
	A versatilidade dos microcontroladores é impressionante, visto que temos uma liberdade muito grande para criação e absorção de conhecimento. O PIC16F877A, foi bem didático. Sua utilização em meios acadêmicos é algo bastante positivo, pois além de ser um pic relativamente fácil de implementar, seu suporte na internet é bastante grande, o que auxilia tanto na parte de simulação, quanto propriamente na parte física.
	Nesse projeto em questão, vimos como que a partir de uma leitura analógica, é possível fazer sua conversão para digital e assim enviar esse dado em qualquer meio de comunicação, no nosso caso Bluetooth, e também podemos analisar a importância dos microcontroladores no mundo eletrônico e seu respectivo custo benefício. Com poucos custos e bastante criatividade, é possível se criar ideias bastante inovadoras, mas como um primeiro projeto, o termômetro via bluetooth foi bastante satisfatório e seus resultados podem evoluir futuramente, para um termostato digital, que envia dados periódicos, ou até mesmo um monitoramento constante de temperatura, a fim de se tomar decisões em cima dos dados assim enviados.

Continue navegando