Baixe o app para aproveitar ainda mais
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.
Compartilhar