Você está na página 1de 8

UTILIZANDO O ARDUINO PARA MEDIR A TEMPERATURA

USING ARDUINO TO MEASURE TEMPERATURE

Igor OLIVEIRA

Medindo a temperatura – Faculdade Bilac

OBS: ¹ Acadêmico do curso de Bacharelado em Ciências da Computação, Faculdade Bilac,


São José dos Campos, SP – Brasil
² Orientador do projeto – Professor Ms. Valentino D’Ambrosi Junior Titular I da Faculdade
Bilac, São José dos Campos, SP – Brasil

RESUMO The project aims to develop, using


arduino, a device that monitors the
O projeto tem como finalidade temperature of biological materials.
desenvolver, utilizando arduino, um These materials are collected in
dispositivo que monitore a temperatura laboratories or brought by patients and
de materiais biológicos. Esses should be stored until the time of
materiais são coletados nos analysis at a controlled temperature to
laboratórios ou trazidos pelos avoid degradation of biological material.
pacientes e devem ficar armazenados The project will also send the data
à uma temperatura controlada para collected by its sensors to a web
evitar a sua degradação até a hora de platform, where they will be stored. It
serem analizados. O projeto irá will also be shown, in a descriptive way,
também enviar os dados coletados por how the problem was solved.
seus sensores para uma plataforma
web, onde serão armazenados. Será PALAVRAS CHAVES
mostrada também, de forma descritiva,
Arduino, Sensores, Temperatura, IoT,
como foi feita a resolução desse
Monitoramento.
problema.

KEYWORDS
ABSTRACT
Arduino, Sensors, Temperature,
IoT, Monitoring. usuário através de um plataforma web,
além de emitir um alerta caso ocorra
INTRODUÇÃO alguma variação de temperatura. Essa
variação não deve ultrapassar a faixa
O avanço da tecnologia é algo de temperatura que a amostra deva
inevitável e pode ser observado ficar armazenada.
diariamente. Seja nos smartphones que
cada vez ficam mais rápidos e com MATERIAIS E MÉTODOS
maior número de funcionalidades, no Arduino uno
armazenamento de dados em nuvem
ou na cada vez mais presente internet
Durante a procura de tecnologias
das coisas (Internet of things (IoT)). A
a serem utilizadas no projeto o Arduino
tecnologia hoje em dia deixou de ser
apenas uma ferramenta e se torna cada Uno foi escolhido por ser um
vez mais indispensável para todo o microcontrolador que une hardware e
mundo. software em uma única placa, além de
A IoT é um grande exemplo do ser possivel trabalhar com sensores,
avanço da tecnologia, tendo sido motores ou dispositivos de entrada e
baseada a partir do desenvolvimento de saída. O mesmo possui um
diversas áreas como sistemas microcontrolador ATMEL ATMEGA
embarcados, microcontroladores, a 328, um dispositivo de 8 bits da família
evolução de sensores e da AVR. Conta com 32 KB de Flash e 2
comunicação. Hoje ela possibilita KB de RAM. Apresenta entradas e
conectar objetos à internet e promover saídas digitais e analógicas, e entrada
a troca de informações entre os USB para se conectar a um
dispositivos e os usuários. Ela trabalha computador. Possui uma IDE open
para solucionar problemas em várias Source baseada na linguagem C/C++.
atividades cotidianas como, por O codigo é compilado e executado pela
exemplo, controlar remotamente a luz própria placa. Além disso vem com
e tomadas de casa, ou abrir e fechar várias bibliotecas inclusas na IDE e
uma janela. É cada vez mais comum também é possivel acrescentar outras
encontrarmos soluções, utilizando a bibliotecas.
IoT, que possuem microcontrolados
acoplados a sensores, motores, Sensor de temperatura
dispositivos de entrada e saída e alguns
DS18B20 a prova d’água
Shields que dão algumas conexões
adicionais, como por exemplo,
bluetooth, internet, Sdcard. A ideia do Durante a procura de um sensor
projeto é mostrar de forma descritiva que medisse a temperatura e fosse a
como foi criada uma solução e como prova d’agua, foi encontrado o sensor
ela de fato é útil na resolução do DS18B20. O mesmo opera entre -55 ºC
problema. até +125 ºC, e tem uma acurácia de 0,5
O controle da temperatura ºC entre as temperaturas de -10 ºC até
durante o armazenamento de material 85 ºC. Ele possui um baixo consumo de
biológico coletado no laboratório ou energia e a própria placa arduino
trazido pelo paciente é algo feito fornece a energia necessária para o
manualmente com a ajuda de seu funcionamento. É preciso
termômetros. As amostras devem ficar acrescentar duas bibliotecas para
armazenadas em temperatura trabalharem juntos. Uma delas é a One
controlada para que não sofram Wire, responsável pela comunicação
degradação até que sejam analisadas. do sensor com o arduino; a segunda é
Será feita então uma solução capaz de a DallasTemperature, utilizada para
coletar os dados de temperatura, os realizar a comunicação especifica com
armazenar e disponibilizar para o o sensor.
Tendo a necessidade de emitir
Ethernet Shield sinal sonoro para alertar sobre a
temperatura, o Buzzer foi escolhido por
Com a intenção de enviar à um se tratar de um componente que pode
servidor os dados coletados pelo ser incorporado no projeto junto ao
sensor junto ao arduino, o Ethernet arduino. Este componente é capaz de
Shield foi escolhido por se tratar de emitir alerta sonoro em uma faixa de
uma placa que pode ser incorporada ao frequência de 180 Hz até 18kHz,
arduino, possibilitando a conexão com aproximadamente.
a internet, como mostrado na imagem
1. Liquid Crystal Display (LCD)

Procurando por um dispositivo


Figura 1 – Arduino acoplado ao Ethernet Shield de saída capaz de mostrar as
informações coletadas, o display LCD
back-light alfanumérico de tamanho
16x2 foi escolhido. Cada célula do LCD
é composta por 8 pixes na horizontal e
5 na vertical. O display é composto por
16 pinos para ligação ao arduino, 3
pinos são para a ligação do LCD,
outros 3 são para controle do display e
8 pinos de controle de dados. No caso
do LCD com back-light existem mais 2
pinos que são para ligação do LED.
Fonte: Instructables – Arduino ethernet shield.
Fritzing
O arduino já conta com bibliotecas para
a utilização desse shield. Dessa forma O fritizing é um software
consegue utilizar IP, máscara de rede opensource utilizado para fazer a
e gateway, além de trabalhar com o documentação de protótipos. Possui
protocolo TCP/IP para comunicação do diversas bibliotecas contendo variados
shield com o roteador. tipos de componentes para montar os
protótipos que serão utilizados.
Real Time Clock (RTC) DS3231
XAMPP
Com a finalidade de enviar a
data e hora junto com os dados
O Xampp tem como função
obtidos, o Real Time Clock RTC
prover aos desenvolvedores uma forma
DC3231 foi escolhido. O RTC tem
mais fácil de acesso ao mundo Apache,
funcionamento similar ao de um
podendo fazer uso das linguagens PHP
relógio, necessitando de uma bateria
e Perl, além de ter acesso ao banco de
acoplada junto ao componente. Após
dados MySQL.
passar os parâmetros de data e hora,
esses são armazenados e atualizados
com uma alta precisão. É necessário a PHP
inclusão da biblioteca DS1307 junto ao
arduino para solicitar as informações O PHP é uma linguagem de
ao RTC. programação, utilizada para criação de
páginas web, que faz uso de scripts e
foi feita para comunicações do lado do
Buzzer
servidor. Pode ser usada em conjunto
com o HTML, além de ter um fácil IDE e como funcionam os métodos
aprendizado. Setup e Loop, o que é uma Skecth e
como ela seria carregada para a placa,
MySQL foi necessário também entender o
funcionamento da protoboard para
O MySQL é um banco de dados integrar os componentes junto ao
do tipo relacional, ou seja, dados arduino de forma facíl sem a
estruturados em tabelas. Trabalha no necessidade de soldá-los.
modelo cliente-servidor e utiliza a Passando assim para o próximo
linguagem SQL (Structured Query componente, o sensor de tempertura
Language) que é responsavel por fazer utiliza as bibliotecas One Wire e
as solicitações ao servidor. DallasTemperature. Essas bibliotecas
foram inclusas no começo do código. É
necessário também definir em qual
HTML pino o sensor foi acoplado. Como o
projeto ainda não possuía nenhum
dispositivo de saída acoplado a ele,
O HTML (Hypertext Markup
será utilizada a porta serial do arduino,
Language) não se trata de uma
para exibir as informações coletadas
linguagem de programação mas sim
sendo necessário então inicializar a
uma ferramenta utilizada para
porta serial. Após solicitar as
estruturar de forma dinâmica páginas
informações de temperatura ao sensor
web. Permite a criação de parágrafos,
foi utilizado o comando Serial.print para
cabeçalhos, tabelas, entre outras
exibir os dados coletados.
coisas. Utiliza de tags para seus
O ethernet shield é um
comandos, sendo sempre necessário
componente que precisa ser integrado
abrir <> e depois </> fechar o
ao arduino para poder ser utilizado. É
comando.
necessário também incluir as
bibliotecas ethernet e SPI, para fazer
Desenvolvimento uso dos comandos presentes nelas.
Será feito com que o shield conecte-se
A criação do projeto foi feita a a internet usando um cabo de rede
partir da necessidade de resolver um RJ45. Também é possível, enviar
problema. A finalidade do projeto é informações para um servidor, que será
monitorar a temperatura de amostras criado com o intuito de armazenar as
biológicas até serem analizadas no informações coletadas pelo projeto e
laboratório. Foi necessário fazer também eliminar relatórios manuais.
primeiramente o levantamento e O Real Time Clook (RTC) é um
análises dos requisitos, para entender componente de fácil funcionamento,
quais eram as necessidades e para sendo preciso apenas informar os
criar uma solucão para o problema. parâmetros de data e hora uma única
Será feita aqui uma descrição de vez. Após a realização desta etapa,
todas as etapas realizadas para o será necessário fazer as solicitações
desenvolvimento. Após serem dos dados usando os comando
encontrados os componentes para presente na biblioteca D1307.
atender as necessidades do projeto, O Buzzer por sua vez necessita
cada componente foi estudado a fim de dos comandos Tone(ligado) e
entender o seu funcionamento de modo noTone(desligado) para funcionar. É
individual. O primeiro passo é analisar necessário também informar uma
como o arduino funciona, e para isso frequência para o alerta ser emitido e
foi feito o exemplo de acender um led. indicar em qual pino ele foi conectado.
Entendendo assim o funcionamento da Por último, o Display LCD foi
utilizado para informar os dados em banco de dados. O segundo deve ter o
sua tela. Para o seu funcionamento é nome da tabela e será responsável por
necessário acrescentar a biblioteca registrar os dados coletados pelo
LyquidCrystal e informar onde seus arduino na tabela.
pinos foram conectados no arduino. É Será feita então a criação de
possível escolher o lugar onde o cursor uma nova Skecth na IDE do Arduino. O
estará, podendo assim fazer a primeiro passo é incluir todas as
formatação dos dados no seu display. bibliotecas necessárias para trabalhar
Também foi possível criar caracteres com os componentes como descrito
adicionais aos que ele possui em seu anteriormente. É necessário informar
alfabeto, fazendo o seu desenho em qual o IP o ethernet shield possui. Para
um vetor de tamanho 8 que isso foi utilizado o exemplo
representam os pixels de uma de suas DhcpAddressPrinter da biblioteca
células. ethernet, sendo o IP copiado para ser
Após ter sido feita a descrição utilizado na Skecth. Também é
do funcionamento de cada necessário verificar o IP da rede, foi
componente, agora é hora de integrar então usado o promp de comando e é
tudo em um único projeto, como pode preciso digitar ipconfig e então todas as
ser visto na figura 2. informações sobre a rede podem ser
obtidas. Após incluir o IP do shield e o
Figura 2 – Projeto montado. IP da sua rede estará tudo pronto para
enviar os dados a tabela.
Seguindo com o código, foi
informado em quais pinos os sensores
estarão conectados e será um caracter
extra para o display LCD. Entrando no
método Setup será iniciada a conexão
com a internet e iniciado também os
outros componentes. No método Loop
Fonte: Criado no Fritzing.
foram criadas as variáveis dia, hora e
Após ter sido feito o encaixe de todos temperatura e foram passados os
os componentes na protoboard, é parâmetros dos sensores para serem
necessário realizar a programação para armazenados. Logo em seguida foi
que tudo funcione em conjunto. utilizada a condição lógica if para setar
Criou-se o banco de dados a a temperatura máxima e mínima, que
partir da inicialização do XAMPP, não devem ser atingidas. Caso elas
Apache e MySQL. Pelo browser será sejam ultrapassadas o buzzer irá emitir
acessado o localhost:80/phpmyadmin/, um som indicando o ocorrido e o LCD
sendo aqui utilizados os comandos mostrará a mensagem de alerta de
SQL para criar uma nova base de temperatura. Caso a temperatura fique
dados e também a tabela para abaixo da temperatura máxima e acima
armazenar os dados coletados. Foram da mínima o LCD exibira o dia, a hora e
criados os seguintes itens dentro dessa a temperatura naquele determinado
tabela: Id, Dia, Hora e Temperatura, momento.
além de ter sido definido o formato de Em seguida é feita uma
cada tipo de dado. verificação para ver se o cliente está
Foram criadas duas páginas em conectado ao servidor. Se estiver, será
PHP e armazenadas na pasta criada feito o envio dos dados para as
dentro do htdocs do Xampp, sendo que variáves dia, hora e temperatura que
esta pasta deve ter o mesmo nome da serão armazenadas no banco de dados
base de dados. O primeiro arquivo foi que foi criado. Caso ocorra algum erro
responsável por conectar o arduino ao de conexão, o display LCD irá informar.
Por fim foi criada uma página
web utilizando HTML e comandos PHP REFERÊNCIAS
para disponibilizar os dados. O arquivo
deve ser salvo no htdocs onde já estão
outros dois arquivos. Feitos todos os AMORIN, H. S.; DIAS, M.A.; SOARES,
passos, resta acessar o browser e V. Sensores digitais de temperatura com
fazer a verificação da página web com
todos os dados que estão sendo tecnologia one-wire: Um exemplo de
coletados em tempo real. aplicação didática na área da condução
térmica. Instituto de Física, Universidade
RESULTADOS OBTIDOS Federal do Rio de Janeiro, Rio de

Após efetuar teste em laboratório Janeiro – RJ, 2015. Disponível em:


e deixar o software rodando por um <http://www.scielo.br/pdf/rbef/v37n4/010
bom tempo, ficou claro que a solução
proposta foi alcançada. As 2-4744-rbef-37-4-4310.pdf>. Acesso em
necessidades encontradas no 01 Junho 2019
levantamento de requisitos foram
atendidas. Mostrando assim que a IoT
estará cada vez mais presente na PINTO, M. et al. ARDUINO NA
resolução de problemas, utilizando
arduino e seus componentes. PREVENÇÃO DE ACIDENTES
INFANTIS. Simpósio de Engenharia de
Produção Universidade Federal de
CONCLUSÃO
Goiás, Catalão - GO, 2017. Disponível
Após chegar ao fim do projeto foi em:
possível ver como é gratificante
empenharmos tempo em adiquirir https://sienpro.catalao.ufg.br/up/1012/o/
novos conhecimentos e com isso PABLO_MARIQUITO.pdf Acessado em
conseguir fazer um projeto que afeta de
maneira geral a todos que um dia irão 01 Junho 2019.
fazer algum tipo de exame laboratorial.
O projeto é importante para garantir a
qualidade das amostras, afim de ter DILLY, Rosiene et al. APLICAÇÃO EM
resultado mais exatos. Foi possível TEMPO REAL DE MONITORAMENTO
mostrar também como a IoT cada vez
mais ajudará na solução de problemas, DE UMIDADE E TEMPERATURA
e que é possível atender o objetivo de UTILIZANDO ARDUINO. Centro de
criar uma solução utilizando o arduino
junto com sensores e shields. Ensino Superior de Juiz de Fora, Juiz
de Fora – MG, 2015. Disponível em:
A ideia agora é ir a procura de
clientes que tenham às necessidades https://seer.cesjf.br/index.php/cesi/articl
parecidas com a do projeto e torná-lo e/view/299/393 Acesso em 01 Junho
um produto. Assim podendo aprimorar
o que foi feito até o momento e 2019.
acresentar funcionalidades extras para
atender às necessidades de possíveis
clientes. ALEVAR, Edson et al. ARQUITETURA
DE COMUNICAÇÃO PARA CIDADES
INTELIGENTES. Centro de Informática, 2016. Disponível em:
Universidade Federal de Pernambuco, https://homepages.dcc.ufmg.br/~mmviei
Recife – PE, 2010. Disponível em: ra/cc/papers/internet-das-coisas.pdf
http://projeto.unisinos.br/simtur/papers/ Acesso em 07 Junho 2019.
Kelvin_ARTIGO_2012.pdf Acesso em
01 Junho 2019. ESTRELLA, Carlos, O QUE É PHP? –
2019. Disponível em:
https://www.hostinger.com.br/tutoriais/o-
RAMOS, Eduardo, COMUNICAÇÃO DE que-e-php-guia-basico/ Acesso em 09
Junho 2019.
LCD EM 4 VIAS, 2015. Disponível em:
http://www.adororobotica.com/Tutorial_ L. Andrei, O QUE É MYSQL?  - 2019.
Disponível em:
LCD_em_4_vias.pdf Acesso em 02
https://www.hostinger.com.br/tutoriais/o-
Junho 2019. que-e-mysql/ Acesso em 09 Junho
2019.

JESUS, Camila, PROTOTIPAGEM


POR SIMULAÇÃO DE UM RELÓGIO
K. Kleverton, O QUE É HTML? – 2019.
CAPAZ DE MONITORAR A Disponível em:
https://www.hostinger.com.br/tutoriais/o-
TEMPERATURA CORPORAL E OS
que-e-html-conceitos-basicos/ Acesso
BATIMENTOS CARDÍACOS. Católica em 09 Junho 2019.
de Vitória centro universitário, Vitória –
SARAFAN, Randy, INSTRUCTABLES
ES, 2018. Disponível em:
CIRCUITS, Arduino Ethernet Shield.
http://www.ucv.edu.br/fotos/files/2018-
Disponível em:
1_EngP_Camila.pdf Acesso em 02
https://www.instructables.com/id/Arduin
Junho 2019.
o-Ethernet-Shield-Tutorial/ Acesso em
10 Junho 2019.
FRITZING, Disponível em:
http://fritzing.org/home/ Acesso em 05
Junho 2019.

XAMPP, Disponível em:


https://www.apachefriends.org/pt_br/ab
out.html Acesso em 05 Junho 2019.

SANTOS, Bruno el al. INTERNET DAS


COISAS. Departamento de Ciência da
Computação Universidade Federal de
Minas Gerais, Belo Horizonte – MG,

Você também pode gostar