Buscar

Monitoramento Ambiental com Arduino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

4 
 5 
 6 
	
 6 
 13 
 22 
UNIVERSIDADE PAULISTA
CIÊNCIA DA COMPUTAÇÃO 
 
SISTEMA DE APLICAÇÃO DE SISTEMAS DISTRIBUÍDOS AO TELEFONE MÓVEL 
 Nome: Johann Trettel Garcia 
 RA: D699CE6
 TURMA: TT8P17
	Código Atividade: 18B7 
Sorocaba
2023
Johann Trettel Garcia - D699CE6
SISTEMA DE ESTAÇÃO METEOROLÓGICA PARA MONITORAMENTO DE VARIÁVEIS AMBIENTAIS
Trabalho da Atividade Prática Supervisionada (APS) do curso de Ciência da Computação apresentado à Universidade Paulista - UNIP
Orientador Prof. Reverdan Almeida Sparinger
Sorocaba
2023
RESUMO
Essa atividade prática supervisionada tem como tema a coleta de variáveis ambientais básicas como o volume de chuva local, umidade e temperatura pela plataforma de prototipagem Arduíno e apresentação em um website usando a linguagem de marcação (html) para visualização em dispositivos mobile e ambientes desktop, são apresentados conceitos básicos de programação e estruturação de funções usados nos programas desenvolvidos na linguagem de programação C# e em .xml, são também citados como cada método de variável é salva e certos contextos históricos como a preocupação com o meio ambiente e pesquisas que chegaram a essa conclusão, resumidos para estarem de acordo com o tema proposto nesta APS.
Palavras-chave: 	Atmosfera, Arduíno, Meio ambiente, Web.
ABSTRACT
		This supervised practical activity has as its theme the collection of basic environmental variables such as the volume of local rain, humidity and temperature by the Arduino prototyping platform and presentation on a website using the markup language (html) for viewing on mobile devices and desktop environments, basic concepts of programming and structuring of functions used in programs developed in the C # programming language and in .xml are presented, as well as how each variable method is saved and certain historical contexts such as concern for the environment and research that came to be mentioned. this conclusion, summarized to be in accordance with the theme proposed in this supervised practical activity.
Keywords: Atmosphere, Arduino, Environment, Web.
SUMÁRIO
1	INTRODUÇÃO	6
2	REFERENCIAL TEORICO	8
3	DESENVOLVIMENTO	13
4	RESULTADOS E DISCUSSÃO	24
5	CONSIDERAÇÕES FINAIS	30
	REFERENCIAS	31
	CÓDIGO FONTE	33
	FICHAS DE HORÁRIOS	38
1	INTRODUÇÃO
A preocupação com o nosso ambiente o seu impacto com a saúde vem desde as eras cristãs. O motivo foi o uso do carvão para o ter o combustível, na maioria das cidades a qualidade respirada do ar respirada era duvidosa, no início do século XX o aumento dos automóveis e a revolução industrial foi piorando com isso veio a somar às emissões de gases poluentes
Com o passar do tempo chamaram a atenção da população e dos pesquisadores para conseguir compreender esses fenômenos meteorológicos associados com a poluição, ressalta-se que, a intensificação dos processos de industrialização que ocorreu no século XIX, junto ao crescimento populacional, especialmente voltado para o crescimento da população na parte rural, vem crescendo as preocupações de todos e do governo.
Em relação à poluição do ar em diversos lugares do nosso planeta vem aumentando em função a industrialização, urbanização e da queima de combustíveis. Entre tanto a poluição atmosférica tem o foco maior em áreas urbanas e industriais, o monitoramento referente a qualidade do ar em um cuidado maior nestas áreas e regiões.
Segunda informações o estado do Espírito Santo, é a região da Grande Vitória é formada por cinco municípios o intuito deste estudo vem fortemente crescendo e com o passar dos tempos, a partir do ano de 2003, inclusive com a taxa do crescimento do PIB, com isto diversas empresas decidiram se instalar ou aumentar suas instalações no estado, com isso o nível de poluição atmosférica, Além disso, o aumento da frota de automóveis com o maior crescimento de energia e outras coisas também contribuíram para a maior emissão de poluentes na região.
É importar destacar, dentre os principais poluentes atmosféricos o chumbo é um dos piores, entre todos os contaminantes atmosféricos, existem dois que mais preocupam a população que são eles o ozônio e o material particulado, por causarem muitos danos a nosso meio ambiente. Em 2008 as condições meteorológicas tem um papel muito importante na dispersão ou acumulação na dispersão de poluentes.
Com isso, nosso trabalho teve como objetivo avaliar os impactos das variáveis meteorológicas temperatura, umidade relativa e a precipitação, onde a temperatura que trata-se de uma física escalar, definida com medida do grau de agitação das moléculas que formam um corpo, ou seja, quanto maior for a agitação, maior vai ser a temperatura do corpo e mais quente ele ficará ou vice-versa.
A umidade relativa ela é a relação entre a quantidade de água que existe no ar e a quantidade limite, ou seja, máxima que pode haver na mesma temperatura, com isso ela é um dos indicadores na previsão do tempo para saber como o tempo se comportará futuramente ou seja fazer previsões.
Já a precipitação fala de qualquer tipo de fenômeno referente a queda de água que caia do céu, com isso inclui neve, chuva(normal) e chuva de granizo, resumidamente a precipitação ocorre quando da água está presente na atmosfera.
2	REFERENCIAL TEORICO
O desenvolvimento e as pesquisas sobre os aparelhos para medição do clima atmosférico foram desenvolvidos através da história, na prática os humanos olhavam para o céu e deduziam se poderia chover ou faz sol até mesmo se o tempo poderia esquentar ou fazer frio. Porém a partir do final da idade Média, onde vários cientistas começar a pensar em como deduzir ou até mesmo prever as condições meteorológicas, foram descobertas, geralmente foram tentando descobrir outros fenômenos alheios referente à própria meteorologia, com isso surgiram os aparelhos arcaicos e com o passar do tempo foram sendo incorporadas como objetos de estudo a meteorologia, gradativamente foram evoluindo até os dias atuais.
O Arduíno foi umas das ferramentas utilizadas para a construção do nosso trabalho, ele é uma plataforma de prototipação eletrônica de hardware que foi criada no ano de 2005, na Itália com a função de baratear todos os projetos de prototipagem das escolas.
A função da placa consiste em um microcontrolador Atmel A VR contendo 8 bits, um botão com a função reset, um LED com a indicação de que a placa está ligada, pinos analógicos e digitais de entrada e saída para a conexão de outros dispositivos, um saída de USB para conectar com o computador e uma saída para a ligação da fonte de alimentação.
- SEGUE UMA IMAGEM DE UM ARDUÍNO, MODELO UNO.
Essa é uma placa do modelo UNO, foi projetada para atuar de uma forma modular. Uma mesma placa Arduino pode ter vários tipos de extensões denominadas do tipo Shields, essas placas são desenvolvidas facilitar no auxilio dos desenvolvimentos dos projetos que precisam de funções específicas.
O Arduíno tem um ambiente de desenvolvimento dedicado a ele mesmo, ou melhor dizendo a ele próprio, com o nome de Arduíno IDE. O Arduíno IDE possui uma biblioteca com o nome “Wiring”, com isso permite que a programação em C e C++, e também tem a possibilidade de construir programas para o Arduíno utilizando outros tipos de linguagens de programação, tais como Java e Python através de bibliotecas especificas. O sistema de controle das estações meteorológicas é aplicação feita via Web, com o seu desenvolvimento em Java.
O ambiente de desenvolvimento integrado do Arduino ou também como pode ser chamada de Software Arduino(IDE) – tem um editor de texto para o desenvolvimento de código, um local de mensagens, um terminal de texto, uma barra fixa de ferramentas contendo botões com as funções mais comuns e também uma série de menus. Ele tem a função de conectar o hardware do Arduino ou Genuino para assim carregar programas e fazer a comunicação com ele.
Os programas feitos usando o Software Arduino (IDE) tem o nome de sketches. Esses Sketches são feitos no editor de texto e são salvados em um arquivo com a extensãoino. O próprio editor possui alguns recursos de copiar e também colar a pesquisa e alteração de texto. A área de notificações exibe informações sobre o arquivo salvo e exportação de programas e detalhes dos ocorridos durante a execução. 
O terminal mostra dados da saída do Software Arduino (IDE), incluindo notificações de erros completos e outras informações. Na parte inferior direto da janela é exibida a placa e porta serial que está em uso. Já a barra de ferramentas permite que você possa verificar e carregar programas, criar, abra e salve seus sketches e também abra o monitor da comunicação serial, sobre as versões do software, as anteriores à 1.0 irão salvar os sketches com o tipo de extensão pde. É possível abrir esses arquivos com a versão 1.0 ou até mesmo superior, com isso você será questionado sobre salvar o sketch com o tipo de extensão ino quando executar esse comando. Logo irei citar alguns comandos do programa.
- Verifiy:
Verifica se o seu código possui erros de compliação.
- Upload:
Compila o seu código e carrega na placa configurada. 
- New:
Cria um novo skecth.
- Open:
Apresenta um menu com todos os sketchs armazenados.
- Save:
Salva o seu sketch.
- Serial Monitor:
Abre o Monitor de comunicação serial.
O sensor de monitoramento de temperatura e umidade (DHT11), esse sensor consiste em fornecer tanto temperatura quanto umidade do ar. Existem várias formas de você configurar um, neste caso vou demonstrar uma forma que pode ser usada, quando a temperatura for maior que 35 C, o Led acende e da um bip. Caso a umidade for menor que os 50% o Led acende e também irá apitar. Os valores podem ser redefinidos ao seu critério.
Essa é uma imagem de um sensor DHT11:
O modulo de montagem do projeto DHT11 Arduino, foram utilizando os Jumpers foi conectado da seguinte forma, Pino Out do sensor DHT11 será conectado ao pino digital 2 do Arduino, o Led no pino digital 6, e o Buzzer conectado ao pino digital 7. O terminal negativo do Led será conectado ao GND do Arduino, seguidamente o terminal negativo do Buzzer será conectado também ao GND. O terminal (+) do sensor será conectado ao 5v, no Arduino.
O circuito deverá ficar conforme a figura abaixo:
3	DESENVOLVIMENTO
Para desenvolvimento dessa atividade pratica supervisionada (APS) tínhamos como objetivo desenvolver em Java, .xml e a linguagem de programação utilizada para instruções no próprio Arduino, porém, porém nos deparamos com erros desconhecidos que poderiam ou não ser relacionados à como determinada versão da IDE funciona.
Problemas encontrados
 Um dos maiores problemas encontrados e também um dos mais persistentes foram os problemas de comunicação e recebimento de dados pelo programa em Java.
Programa descartado em JAVA, Netbeans 10, 2019.
Além das portas não podendo se comunicar diretamente com a aplicação a própria biblioteca não reconhecia as instruções recebidas pelo Arduino e retornava um erro diferente a cada teste.
Resolução
Por conta desconhecermos soluções para os problemas encontrados, concordamos em escolher uma linguagem diferente, a linguagem escolhida foi o C# usando bibliotecas da própria Microsoft.
Por conta da mudança na linguagem outros problemas apareceram, como o de tamanho excessivo por conta da IDE Visual Studio incorporar várias outras funções que ocupam grande espaço de memória e aumenta o tempo de inicialização da própria IDE.
Desenvolvimento do projeto
Antes de tudo foram considerados conhecimentos teóricos sobre o próprio Arduíno no qual se usa uma linguagem baseada em C/C++ com leves modificações.
Bibliotecas usadas - Arduino
Para configuração, recebimento de dados e tradução de informações para linhas de texto legíveis foram utilizadas as bibliotecas da Adafruit, que incorporam todos os drivers necessários para o funcionamento completo dos módulos DHT11 (sensor de humidade/temperatura) e sensor de precipitação.
photo_2020-04-17_23-59-03
Fonte: Fotografado pelo autor, 2021.
Da esquerda para direita, Sensor DHT11 e Sensor de precipitação. 
Essas bibliotecas funcionam de maneira bastante simples, basicamente traduzem os dados recebidos pelos sensores do Arduino para linhas ou Strings que então podem ser utilizadas para a leitura e armazenamento em máquina.
Funções usadas
Para criação da aplicação no Arduino foram usadas várias funções simples que serão introduzidas e exemplificadas brevemente como funcionam e seu papel na aplicação.
Função Serial
A função Serial é usada, no contexto do código feito e compilado no próprio Arduino Uno, para enviar informações da porta serial para o computador, basicamente chamando as informações e é acompanhado de uma instrução de escrita ou leitura como a Read() ou Write().
Função Setup()
Sempre escrito antes do código principal, serve para inicialização de pinos, variáveis, bibliotecas e outras funções, é também, executado apenas uma vez pelo Arduino.
Função Begin()
Nesse contexto, essa função serve para determinar a velocidade de transmissão das informações pela porta serial.
Função #Define
Bastante usado também em Python e C++ para atribuir um nome a uma constante sua implementação não é diferente na codificação para o Arduino, porém funciona de maneira ligeiramente diferente, sendo que o nome dado à constante se refere ao pino que será usado, nesse caso, por conta de uma Breadboard (placa de prototipagem ou ProtoBoard) apenas dois pinos são conectados para transmitir informações e por isso são utilizados os pinos “A0” e “A1”.
photo_2020-04-18_00-36-34
Fonte:Fotografado pelo autor, 2021.
Foto: ProtoBoard. 
Função Loop()
Basicamente repete o trecho de código até que a condição de parada ou a execução do próprio Arduino seja interrompida, aqui foi usada para fazer com que os dados coletados pelo Arduino fossem repetidas infinitamente até que o equipamento fosse desconectado e a aplicação desligada.
Função Delay()
Representa a pausa até a proxima repetição do código, sempre é usada em conjunto com a função loop() para não sobrecarregar e/ou superaquecer o Arduino e seus sensores, é introduzido com um número que é representado em milissegundos.
Função Print() e PrintIn()
Servem para registrar os dados mencionados pela função, o Print() e PrintIn() possuem funções fundamentalmente iguais, onde Print() imprime uma cadeia de caracteres a partir do que se encontra em uma variável e o PrintIn() imprime tudo o que se encontra dentro de sua função.
Preparação do Arduino
Antes de começar a preparação da placa do Arduíno eram necessários os drivers e programas para poder ser feita a comunicação com os sistemas envolvidos. Para isso foi utilizada a IDE encontrada no site do Arduíno (arduíno.cc), sendo pela IDE uma das poucas maneiras de enviar dados e criar rotinas no Arduino.
Em seguida, após um pequeno teste de conexão entre o Arduíno e o computador, a placa já está pronta para ser programada.
Por conta do Arduino Uno possuir apenas 32kb (kilobytes) de memória flash e 2kb de memória SRAM (memória estática de acesso aleatório) as funções devem ser simplificadas, assim como as bibliotecas devem ter um tamanho reduzido, o que geralmente é alcançado por uma linguagem de baixo nível, por isso o código escrito na IDE é compilado em assembly e gravado na memória do Arduíno, o que poupa espaço de memória e processamento de uma computador que por sua vez já se encontra limitado.
Tal tradução é feita automaticamente pela própria IDE no momento da compilação e enviado para a memória do Arduíno por meio de uma conexão USB (Universal Serial Bus ou porta universal) do tipo B, que possui um formato distinto dos quais são mais comumente usados em smartphones e computadores.
IMG_256
Fonte: https://www.infowester.com/usb.php, Emerson Alecrin, 2009.
Foto: Porta e Saída serial universal tipo B (USB Type B)
Após ser feita a compilação do código na placa é iniciada a ligação dos módulos de precipitação, umidade e temperatura, que farão coleta dos dados e os enviarão para um servidor local.
Conexão na breadboard
Um cuidado que deve ser tomado quando as conexões naBreadBoard estiverem sendo feitas é com os fios GND e VCC, sendo eles fios que transmitem a corrente elétrica seu manuseio e conexão podem causar danos aos módulos e até inutilização dos mesmos, tendo isso em mente, os fios GND e VCC são conectados na breadboard e os fios de dados são conectados em suas respectivas entradas, sendo elas a Analogic 1 e a Analogic 0.
Programa em C#
O programa feito na linguagem C# também usou de várias bibliotecas sendo algumas delas necessárias para manterem o programa funcionando e recebendo informações.
Biblioteca System
Biblioteca padrão do Windows, usada para nomear bytes, strings (ou cadeias de caracteres), inteiros, entre outros, aqui, por exemplo, foram usados apenas tipos inteiros, cadeias de caracteres e caracteres (ou char).
Biblioteca IO e IO.Ports
Bibliotecas para receber e traduzir os dados recebidos pelas portas Serial, nesse caso as portas USB do computador e as portas de saída do Arduíno, que mandam Strings de texto para o programa.
Estruturação do programa em C#
A estrutura do programa em C# funciona de maneira bastante simples, basicamente recebe as cadeias de caracteres da porta serial (USB) converte em strings e então as coloca em um vetor de strings ou vetor de cadeia de caracteres, nos quais são guardados em posições específicas no vetor, por exemplo:
string temperatura = text[0];
 string umidade = text[1];
 string precipitacao = text[2];
Os variáveis de temperatura são guardados na primeira posição do vetor, a umidade na segunda posição e a precipitação na terceira, lembrando que vetores sempre começam na posição zero.
Em seguida os dados separados são armazenados em um arquivo de texto (.txt) que é reescrito toda vez que novos dados das leituras são recebidos.
A apresentação dos dados em uma página web (.xhtml) também foi feita de maneira bastante simples, basicamente, faz a leitura dos dados a partir do arquivo de texto e os coloca em um IFrame, o qual apresenta os dados da mesma forma que foi escrito no arquivo de texto.
Tornando a página .Xhtml disponível em outros dispositivos
Para tornar possível sua visualização em dispositivos móveis e outros computadores, como proposto, foi utilizado o servidor Apache-Tomcat, que é focado em aplicações Java serverpages, porém, para essa aplicação foi utilizado apenas para tornar páginas .xhtml disponíveis para pessoas na mesma rede, localizados no LocalHost.
LocalHost e portas disponibilizadas
Para disponibilizar as páginas precisávamos abrir algumas portas no computador servidor para que a saída de dados do Arduíno fosse completada e disponibilizada no site, sendo assim, foram necessários alguns testes para determinar qual seria a melhor porta de saída de dados na qual foi escolhida como padrão (ou, no inglês, default) a porta 8080, que mesmo, com vários testes foi a que menos teve problemas de compatibilidade com o servidor Tomcat.
IMG_256
Página inicial de instalação correta.
Apache Tomcat como servidor local
Um dos benefícios do Apache Tomcat é sua facilidade para implementação o que torna o processo de implementação de site rápida, por exemplo, para fazer com que o Tomcat comece a mostrar uma página, deve-se trocar o arquivo index pelo desejado e assim que ser executado o Tomcat ira dispor o site para todos os aparelhos conectados á porta 8080 padrão pelo localhost.
Tomcat inicializado e com os arquivos .xhtml prontos.
	Várias páginas web podem ser carregadas no servidor interno do Tomcat, sendo que elas são acessadas a partir da página de início, também conhecida como index.
4	RESULTADO E DISCUSSÕES
Para execução desses testes e criação de projeto foram usados vários dispositivos, entre eles um computador com as seguintes especificações:
Intel® Core™ i5-8250U;
8GB de RAM DDR4;
HDD 1TB;
SSD M.2 250GB;
GPU MX110.
Logo abaixo, montamos uma tabela com os custos das aquisições dos componentes para a montagem climatológica automática. Neste caso, temos os custos por componentes adquiridos para a construção do nosso trabalho.
Tabela – Custos dos sensores e matérias:
	SENSORES
	PREÇO
	QUANTIDADE
	
	Arduino
	R$ 65,00
	1
	
	Módulos
	R$ 20,00
	2
	
	Breadboard
	R$ 10,00
	1
	
	Cabos Usb
	R$ 10,00
	2
	
	Total parcial
	R$ 135,00
	6
	
Tabela de preços de cada módulo incluindo a placa Arduíno.
Começamos com o Arduino conectando ao computador, antes de carregar um programa, você precisa selecionar qual porta você deseja para fazer com que o programa do Arduino. Assim que entrar no programa (IDE), clique no menu ferramenta e abra o submenu, clique na porta na qual o seu Arduino está plugado, normalmente aparece o nome da placa Arduíno.
Depois de ter criado o seu programa clique em carregar para fazer o upload do programa para ser transferido para seu Arduíno, assim que colocar o seu programa para funcionar, caso não tenha ocorrido nenhum erro a imagem a ser mostrada será essa.
Os resultados obtidos pelo equipamento foram satisfatórios, os sensores são os dispositivos capazes de ler as variáveis físicas do ambiente e transformar em informações. Qualquer processo automático possui sensores, o nosso Arduíno, por exemplo, possui dois tipos de informações analógica e digital.
Uma forma melhor para entender o funcionamento do software usamos o comando de leitura analógica, entradas e saídas analógicas, para fazer a leitura do valor, usamos a comunicação serial Arduíno. É importante que o leitor entenda com eles funcionam.
Em resumo, nosso programa ira ler qual é o valor do sinal do pino Ao que varia de 0 a 1023, onde o corresponde a 0 Volts e 1023 correspondendo a 5 volts, 1 grau que equivale a 10 mV. Sendo assim, segue um exemplo de como ira ficar:
	A digital é passada a informação através de valores lógicos Altos ou valores baixos, já o analógico a informação pode assumir qualquer valor dentro de mínimo ou máximo. 
	O projeto deve funcionar a partir do momento em que rodar o programa, o software irá a medir a temperatura do ambiente onde está localizado o sensor de temperatura, para verificarmos que o funcionamento está tudo certo, precisamos aumentar a temperatura. Para isso, coloque o dedo no sensor, em seguida você observará que a temperatura começa a subir imediatamente, um teste com objeto metálico nas conexões do sensor de chuva fará alterações imediatas em seu sistema, causando os valores mudarem bruscamente.
	Tire o dedo do sensor, e quando a temperatura voltar a ficar abaixo do valor de controle, observe que a temperatura começara a diminuir. Faça os ajustes necessários no seu código e verifique-o fazendo novas leituras, não esqueça que após a alteração no código será necessário carregar novamente o Arduíno, porém, em casos de erro de compilação, o código pode ter sido corrompido enquanto era enviado a placa, uma recompilação pode resolver o problema.
Os resultados após a adição dos outros sensores são apresentados da seguinte forma, nota-se que alguns valores não estão disponíveis pois os sensores estão desconectados:
Fonte: Porta serial COM5, IDE Arduino, 2019.
Os dados são então recebidos pelo programa em C# no qual não necessita de receber da IDE do Arduíno e escreve os resultados em texto simples na mesma pasta em que o arquivo está e então o texto escrito é lido por uma caixa de texto no xhtml que é então distribuído pelo Apache Tomcat:
Informação sobre execução do servidor Tomcat, Apache Netbeans, 2019.
O arquivo de saída do programa em C# basicamente é escrito da seguinte forma:
Dados gerados pelo programa C# salvos em um arquivo de texto.
Fonte: Bloco de notas; Microsoft Windows, 2019.
O resultado final pode ser observado abaixo:
Resultado final mostrando dados de temperatura, umidade e precipitação;
O resultado final é apresentado indeterminadamente e em tempo real enquanto o servidor estiver conectado e todas as conexões devidamente feitas fisicamente.
Exceção causada pelo conector não estar em contato com o computador.
Fonte: Visual Studio, Microsoft Windows, 2019.
5	CONSIDERAÇÕES FINAIS
Para desenvolvimento do projeto foram necessários conhecimentosextra por conta de se tratar de uma atividade que necessitava conhecimento em desenvolvimento e implementação web local e/ou externa.
Em si a implementação das páginas não são feitas de maneira totalmente complexa e com um maior conhecimento na plataforma os resultados poderiam ser mais consistentes entre computadores e sistemas nos quais o programa é implementado.
 REFERÊNCIAS
https://www.arduino.cc/
https://www.usinainfo.com.br/arduino-74
https://www.arduinoecia.com.br/2013/05/sensor-de-umidade-e-temperatura-dht11.html
https://klebermota.eti.br/2017/06/23/o-que-e-arduino-anatomia-da-placa-uno-e-do-ide/
https://github.com/Reverdan/Java_CC2e3_1sem2020
https://tomcat.apache.org/
https://www.youtube.com/watch?v=6RuWAtSY2EE
https://www.youtube.com/watch?v=HpYH9AjRMHk
https://www.youtube.com/watch?v=rskBNKDIi8A
https://portaldoarduino.com.br/estacao-meteorologica-arduino-dht11-sensor-de-cuva/
https://translate.google.com.br/
https://netbeans.apache.org/
https://docs.microsoft.com/pt-br/dotnet/csharp/
https://www.filipeflop.com/blog/monitorando-temperatura-e-umidade-com-o-sensor-dht11/
https://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use
CÓDIGO FONTE
C#
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.Ports;
namespace ArduinoData
{
 class Program
 {
 static void Main(string[] args)
 {
 SerialPort myport = new SerialPort();
 myport.BaudRate = 9600;
 myport.PortName = "COM5";
 myport.Open();
 string path = Directory.GetCurrentDirectory();
 while (true)
 {
 string data_rx = myport.ReadLine();
 string docPath = path;
 string[] text = data_rx.Split(';');
 string temperatura = text[0];
 string umidade = text[1];
 string precipitacao = text[2];
 using (StreamWriter outputFile = new StreamWriter(Path.Combine(docPath, "EscreverArq.txt")))
 {
 foreach (string line in text) ;
 outputFile.WriteLine(temperatura);
 outputFile.WriteLine(umidade);
 outputFile.WriteLine(precipitacao);
 }
 Console.WriteLine(temperatura);
 Console.WriteLine(umidade);
 Console.WriteLine(precipitacao);
 }
 }
 }
}
Arduino
#include <dht.h>
#include <Wire.h>
#define dht_dpin A1
int pinoSensorUmidade = A0;
int valorSensor = 0;
dht DHT;
void setup() {
 Serial.begin(9600);
 delay(1000);
}
void loop() {
DHT.read11(dht_dpin);
valorSensor = analogRead(pinoSensorUmidade);
 Serial.print("Umidade = ");
 Serial.print(DHT.humidity);
 Serial.print(" % ;");
 Serial.print("Temperatura = ");
 Serial.print(DHT.temperature); 
 Serial.println(" Celsius ;");
 Serial.print("Leitura de umidade = " ); 
 if(valorSensor > 800)
 {
 Serial.println("Seco"); 
 }
 
 else if(valorSensor <=800 && valorSensor > 500 )
 {
 Serial.println("Molhado");
 }
 
 else if (valorSensor <= 500)
 {
 Serial.println("Muito molhado");
 }
 
 delay(2000); 
}
HTML
<html> 33 
 <head>
 <title>Test</title>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <link rel ="stylesheet" type="text/css" href="Style.css">
 <script type="text/javascript" scr="jquery342.js"></script>
 <script type ="text/javascript" src="Test.js"></script>
 </head>
 <body>
 <iframe src="EscreverArq.txt" frameborder="0" scrolling="no" height="400" width="850"></iframe>
 </body>
</html>
FICHA DE HORÁRIOS

Continue navegando

Outros materiais