Académique Documents
Professionnel Documents
Culture Documents
ELETRÔNICA EMBARCADA
TRABALHO DE CONCLUSÃO DE CURSO
CAMPINAS
2017
DIOGO FRANCISCO DA SILVA DE OLIVEIRA
VINICIUS ALMEIDA
Campinas
2017
Ficha Catalográfica
Dedicamos este trabalho a Deus,
nossas famílias, amigos, colegas e aos
companheiros de todas as horas.
AGRADECIMENTOS
The central concept of this work was to develop a system for monitoring,
control and management of agricultural systems. Control of water application in small
and large-scale agriculture was a determining factor, as there is currently a lot of water
and food waste during the planting of the crop. This work consists in the development
of a manager of agricultural systems, whose objective is to control some relevant
quantities to amateur and homemade plantations, as well as in agribusiness
processes. These values are: Soil moisture, ambient temperature and luminosity,
where the incidence of ultraviolet rays to which the system is subjected is taken into
account. The automation of the remote moisture management system ensures the
user the convenience of irrigation control in domestic or industrial planting, monitoring
sensors that measure the parameters required for agricultural growth and sending the
data to a cloud service to the mobile device , where the parameters of humidity,
temperature and luminosity will be registered, performing the supervision without the
need of user interaction, creating the feeling of comfort. The concepts of Internet of
Things can be defined as the new technological revolution of this century, to which the
project aims to emerge in this new entanglement of technology, because it brings the
importance of having an intelligent network integrated in several environments, that
connect to other devices providing a wireless communication network and seeking the
technological reality with advanced tools aiming to generate solutions optimized for the
day to day.
AP Access Point;
ADC Conversor Digital e Analógico;
CAD Computer Aided Design;
FGV Fundação Getúlio Vargas;
GPIO General-purpose input/output;
HTTP Hypertext Transfer Protocol;
IEEE Institute of Electrical and Electronics Engineers;
IP Internet Protocol;
I/O Input / Output;
IoT Internet of Things;
I²C Inter-Integrated Circuit;
LAN Local Area Network;
LDR Light Dependence Resistor;
NC Normally Closed;
NO Normally Opened;
NTC Negative Temperature Coefficient;
PWM Pulse-Width Modulation
PCB Printed circuit board
RFID Radio-Frequency Identification
SNA Sociedade Nacional de Agricultura;
SoC System on Chip;
SPI Serial Peripheral Interface;
TCC Trabalho de conclusão de curso;
UART Universal asynchronous receiver/transmitter;
USB Universal Serial Bus
VCC Volts de Corrente Continua;
Wi-Fi Wireless Fidelity;
WLAN Wireless Local Area Network;
WSN Wireless Sensor Network;
SUMÁRIO
1 Introdução ........................................................................................................... 13
2 Objetivos ............................................................................................................. 17
3.6 Temperatura................................................................................................. 25
4 Metodologia ........................................................................................................ 35
6 Resultados .......................................................................................................... 63
8 Conclusões ......................................................................................................... 69
9 Referências......................................................................................................... 71
Anexos ..................................................................................................................... 73
13
1 Introdução
qualquer pessoa hoje é capaz de acessar a internet de onde quer que esteja desde
que exista uma rede disponível (DA SILVA et al., 2015). E assim a ideia desse projeto
nasceu partindo de um nicho de mercado que pode ser explorado largamente tanto
para área domestica que atende micro produtores quanto a grandes centros agrícolas.
O conceito principal está em desenvolver um produto, que irá buscar atender
desde um simples plantio até gerenciar um grande processo de agronegócio ao qual
é possível gerenciar remotamente algumas das principais grandezas relacionadas ao
plantio, sendo: umidade do solo, temperatura ambiente, e incidência de raios
ultravioletas e, assim, incentivar as pessoas a possuírem plantios ou hortas em
residências visando os benefícios para a saúde que tal atividade pode proporcionar.
Além disso, proporciona aos gestores de agronegócios um acompanhamento
remoto em tempo real, tendo o controle e monitoramento sobre o solo, pois o sistema
irá irrigar o solo automaticamente por leituras efetuadas por sensores, toda vez que
houver a necessidade, evitando possíveis perdas durante as colheitas, seja por
excesso /escassez de água, temperaturas extremas e falta de luminosidade.
Este trabalho está dividido em seis capítulos. Capítulo 1 aborda o estado atual
do tema, a motivação para o desenvolvimento da ideia e mostra algumas referências
de trabalhos relacionados, a solução proposta.
Capitulo 2 contém o objetivo geral e especifico para o desenvolvimento e
elaboração do projeto.
O capitulo 3 contém a fundamentação teórica, onde são mostrados conceitos
básicos sobre as tecnologias e assuntos envolvidos neste projeto, apresentando
conceitos sobre agricultura, tecnologia no agronegócio, benefícios de ter uma
plantação em casa, métodos de irrigação, variáveis ambientais de monitoramento por
rede de sensores, redes móveis sem fio, arquitetura das redes e aplicações, além das
tecnologias utilizadas no desenvolvimento do protótipo, como ferramentas mobile e
módulos de comunicação sem fio.
Capítulo 4 descreve a metodologia utilizada no desenvolvimento, os materiais
que compõem o protótipo do gerenciador de sistemas agrícolas com supervisão
15
2 Objetivos
3 Fundamentação Teórica
3.1 Agricultura
A irrigação pode ser definida como uma técnica utilizada na agricultura para
suprir as necessidades de água em uma região ou área de plantio. Essa técnica utiliza
de diversos equipamentos, acessórios, tecnologias e técnicas de manejo. Podemos
destacar três tipos principais de irrigação que são utilizadas pelos grandes
latifundiários sendo: superficial, localizada e aspersão. Algumas características
definem qual tipo de irrigação é adequada para o plantio, como por exemplo, o tipo do
solo, o clima e entre outros (FRIZZONE, 2017).
que são bombeados levar a água até a raiz de cada planta em alta frequência com
baixa intensidade com rendimentos em torno de 90%. A segunda técnica abordada é
por micro aspersão que tem como constituição um micro aspersor para cada planta e
a vazão, no qual os aspersores são encarregados em distribuir a água ao redor da
planta por meio de gotas de água pulverizadas ao ar, este método tem um alto custo
elevado para implantação porem a efetividade está acima de 90% (FRIZZONE, 2017).
A umidade do solo pode ser analisada como uma proporção ou massa da água
contida em uma porção de solo ao qual é dividido pela massa de solo seco, sendo
expressa nas seguintes unidades de quilogramas de água por quilogramas de solo,
ou mesmo multiplicando por 100, tem-se em percentagem (REINERT; REICHERT,
2006).
A pesquisa realizada sobre as características intrínsecas do solo tem o intuito
muito importante, para poder identificar o manejo de grandes áreas agrícolas e
pequenas culturas, apesar de ser uma atividade custosa que demanda um estudo
importante, pra saber as propriedades do solo. Entretanto as principais características
inerentes ao solo podem destacar a densidade aparente que significa sendo a relação
entre a massa de uma amostra de solo aquecida e depois seca em torno de 105º C e
analisando a somatória dos volumes preenchidos pelas partículas e poros (REINERT;
REICHERT, 2006).
Estes dados servem para obter se o nível de compactação ou estrutura dos
solos a qual é possível determinarem a quantidades de areia, umidade, densidade de
matéria orgânica presente no solo em analise e entre outros fatores, que influenciam
diretamente o nível de compactação do solo. Entretanto estes dados apresentados
sobre o solo é de suma importância, pois precisamos definir a condutividade elétrica
do solo para realizar a leitura da umidade de forma precisa, salientando que cada tipo
de solo (argiloso, salinos, secos e úmidos) apresenta uma característica exclusiva,
sendo necessário ter calibrações especificas para cada área de plantio (REINERT;
REICHERT, 2006).
25
3.6 Temperatura
Ultravioleta é uma palavra derivada do latim ultra “mais alto” ou "além do", e
violeta é a cor visível do comprimento de onda que está na faixa de espectro de 400nm
a 200nm, sendo um tipo de radiação emitida pelo Sol. Ultravioleta também pode ser
descrita pela sigla UV, onde essa radiação emitida é responsável por manter quase
toda forma de vida presente no planeta Terra (EXPLICATORIUM, [s.d.]).
Para realizar o plantio há a necessidade de saber o nível de luminosidade ao
qual se está aplicando no cultivo em grandes campos ou em lugares fechados com
pouca luminosidade. O gerenciador de sistema agrícola remoto poderá ser instalado
em qualquer ambiente e necessitará saber o valor da intensidade luminosa, para
controlar a irrigação nos horários corretos onde a incidência de raios ultravioleta não
está em um nível alto, prejudicando o plantio (DA SILVA et al., 2015).
Fonte: http://www.inovacaotecnologica.com.br/noticias
28
conversor analógico digital de 10 bits ADC, entre outros, para facilitar o manuseio de
módulos baseado no microcontrolador ESP8266.
O módulo NodeMCU é uma placa de desenvolvimento completa, que além do
chip ESP8266 conta com um conversor Serial - USB para a comunicação e gravação
do microcontrolador e um regulador de tensão 3.3VCC, lembrando que os pinos do
ESP8266 suportam tensão de no máximo 3.3VCC. O grande diferencial do módulo é
que existem diversas bibliotecas prontas e o modulo pode ser utilizada diretamente
em protoboard para prototipação rápida, integração com diversos Shields, e dispensa
o uso de um microcontrolador externo, já que pode ser programado utilizando a
plataforma IDE ARDUINO que é open source (KURNIAWAN, 2015).
O módulo possui 11 pinos de uso geral (I2C, SPI, PWM) com diversas funções,
como podemos ver na figura 6, conector micro-usb para programação/alimentação
externa e botões para reset e flash do módulo. Como podemos ver na figura 7, o
modulo NodeMCU. De acordo com o Datasheets do fabricante, o ESP8266 suporta
os padrões de comunicação de rede sem fio IEEE 802.11b/g/n e também provêm de
uma pilha de protocolos TCP/IP integrada, sem a necessidade de carregar uma pilha
externa que facilita o desenvolvimento (KURNIAWAN, 2015).
Fonte: ESPRESSIF:http://espressif.com/en/products/hardware/esp-wroom-02/resources
33
Fonte: ESPRESSIF.
4 Metodologia
Fonte: MQTT.
37
Para fazer uso dessa válvula, é preciso um sistema de driver com transistor
bipolar capaz de controlar a ativação da alimentação 12VCC do rele. Sendo assim,
fica evidente a necessidade de um módulo relé e um driver de transistor que, baseado
o nível lógico alto em um pino de baixa tensão 3.3 VCC do ESP8266, será responsável
pela ativação da alimentação 12VCC da válvula, possibilitando o controle através do
modulo NodeMCU. Um relé eletromecânico basicamente é um interruptor controlado
por tensão. Internamente, ele possui duas partes, uma bobina enrolada em um núcleo
e um conjunto de contatos elétricos.
Comumente, quando a tensão de controle é igual à tensão de alimentação, a
bobina é ativada, fazendo com que o contato elétrico altere o seu estado através do
campo magnético induzido. A figura 18 ilustra o circuito eletrônico de acionamento. O
rele apresenta-se duas opções de configuração, normalmente aberto (NO – Normaly
Opened) e normalmente fechado (NC – Normaly Closed). O contato comum se
posiciona em NO quando a bobina está desligada, e comuta para NC quando a bobina
está alimentada.
45
Para indicação visual do operador foi inserido um led smd na cor verde em
paralelo a bobina do rele, pois tem o intuito de indicar quando o sistema de irrigação
está acionado. Para evitar ruídos um diodo está em paralelo com a bobina do rele
para evitar picos de tensão quando a bobina do rele é desligado.
Neste estudo, foi utilizado para fazer a leitura da intensidade luminosa dos raios
ultravioletas. Para a seleção da banda de luz ultravioleta, será necessário a utilização
de um filtro óptico com a finalidade de selecionar os comprimentos de onda de
interesse.
A escolha do LDR como sensor foi devido a sua resposta lenta, com isso
minimiza a necessidade de desenvolvimento de filtros ativos passa baixa para
seletividade maior. O tempo de resposta de um LDR é representado como o tempo
necessário para a condutância (passagem de corrente elétrica) subir em torno de 63%
do valor de tensão após o sensor ter sido iluminado, podemos definir este parâmetro
como (tempo de subida), e o tempo necessário para a condutância descer abaixo de
37% do valor de tensão após ter sido removida a luz definindo o parâmetro tempo de
descida (ROGOVSKI, 2014).
Foi necessário o desenvolvimento de um circuito eletrônico com amplificador
operacional, passa baixa de segunda ordem, na configuração SalenKey com a
finalidade de deixar passar somente as frequências abaixo de 10Hz, a fim de reduzir
possíveis oscilações na leitura no sinal analógico correspondente ao sensor LDR.
Além disso, o circuito também tem a finalidade de casar a impedância do sinal de
entrada do sensor para o micro controlador, diminuindo a impedância de saída do
sinal. O circuito pode ser verificado na figura 21.
Fonte: Thingspeak.
Fonte: Thingspeak.
Fonte: Thingspeak.
Para ter acesso ao canal é preciso gerar uma chave de escrita que funciona
como um mecanismo de autenticação do seu canal visto na figura 28.
56
Fonte: Thingspeak.
Após estes passos o canal está configurado e pronto para receber os dados de
umidade e temperatura. Por se tratar de uma ferramenta gratuita, há uma limitação de
envio de dados a cada 15 segundos, mas por se tratar de um trabalho acadêmico e
uma prova de conceito, foi decidido utilizar tal ferramenta uma vez que tal
periodicidade não acarreta problemas ao projeto.
57
Custos do projeto
Componente Valor
Modulo NodeMCU R$ 37,00
Rele 12 VCC R$ 4,00
Fonte 9 VCC 1A R$ 10,00
Resistores SMD 0805 R$ 3,00
Capacitores SMD 0805 R$ 3,00
Diodo 1n4007 R$ 1,00
Circuito Integrado Regulador Tensão
LM7805 R$ 1,50
Circuito Integrado LMV 358 R$ 1,60
Circuito Integrado CD 4066 R$ 1,00
Diodo LED SMD 1206 R$ 0,80
Conector Molex 3 vias R$ 2,00
Conector Molex 2 vias R$ 2,00
Capacitor Eletrolítico SMD 47 uF/ 16 VCC R$ 2,50
NTC R$ 1,20
LDR R$ 1,10
Placa de Fenolite de cobre dupla face R$ 12,00
Transistor bc817 R$ 0,40
Soquete de pinos R$ 1,60
Ferrite Bead R$ 0,30
Sensor Umidade HL-69 R$ 4,80
Total: R$ 93,80
inteiramente. Entretanto, por falta de uma métrica coerente para medir esse custo, o
preço obtido através da Tabela 1 é apenas da parte de hardware do projeto,
considerando apenas um protótipo para uma única planta, ou seja, prova de conceito.
59
5 Testes realizados
dias, analisando os momentos em que o solo era irrigado, e conclui se que o sistema
foi capaz de verificara variação de umidade presente no solo.
1
= 𝐴 + 𝐵. 𝑙𝑛(𝑅 ) + 𝐶. [𝑙𝑛(𝑅)]3 (1)
𝑇
Tabela 2 - Luminosidade.
Luminosidade
Horário Tensão Bits
06h00min 0, 345 Volts 352
07h00min 0, 435 Volts 445
08h00min 0, 485 Volts 496
09h00min 0, 502 Volts 513
10h00min 0, 584Volts 597
11h00min 0, 784 Volts 802
12h00min 0, 831 Volts 850
13h00min 0, 840 Volts 859
14h00min 0, 824 Volts 842
15h00min 0, 801 Volts 819
16h00min 0, 703 Volts 719
17h00min 0, 643 Volts 657
18h00min 0, 570 Volts 583
6 Resultados
Fonte: Thingspeak.
7 Considerações Finais
8 Conclusões
9 Referências
DA SILVA, TB; ROSA, MMF; GEREMIAS, T; SANTOS, PHS et al. A internet das
coisas: será a internet do futuro ou está prestes a se tornar a realidade do presente?
Engenharias On-line, v. 1, n. 1, p. 41–50, 2015.
SILVA, MFA; SANTOS, MN; SANTOS, CEL; WHITE, BLA. Avaliação Da Temperatura
Do Solo, Temperatura Do Ar E Umidade Relativa Do Ar Em Uma Clareira De Mata
Atlântica No Município De São Cristóvão, Sergipe, Brasil. Agro Florestalis News, v.
1, n. 1, p. 0–4, 2016.
Anexos
74
75
/*-----------------------------------------------------------------------
* UNISAL
* Eletrônica Embarcada
* Ano : 2017
* Autor(es) : Diogo Oliveira e Vinicius de Almeida
* Descrição : TCC - Gerenciador de Sistema agrícola
-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------
INCLUDES
-----------------------------------------------------------------------*/
//Biblioteca da ESP8266
#include <ESP8266WiFi.h>
/*-----------------------------------------------------------------------
DEFINES
-----------------------------------------------------------------------*/
//Defines da rede e da senha, lembrando que se muda a rede, é necessário mudar aqui
#define SSID_REDE "D-link_DIR-610"
#define SENHA_REDE "diogo"
//Deinfe do intervalo entre envios de dados ao ThingSpeak (em ms)
#define INTERVALO_ENVIO_THINGSPEAK 30000
#define chave_sensor_luminosidade 8
#define chave_sensor_umidade 6
#define chave_sensor_temperatura 7
#define rele_luminosidade 0
#define rele_umidade 1
#define rele_temperatura 2
/*-----------------------------------------------------------------------
LOCAL VARIABLES
-----------------------------------------------------------------------*/
//constantes e variáveis globais
charEnderecoAPIThingSpeak[] = "api.thingspeak.com";
String ChaveEscritaThingSpeak = "KGFP6X4JQTJZFIAP";
longlastConnectionTime;
WiFiClient client;
/*-----------------------------------------------------------------------
LOCAL FUNCTION PROTOTYPES
-----------------------------------------------------------------------*/
76
voidEnviaInformacoesThingspeak(String StringDados);
voidFazConexaoWiFi(void);
floatFazLeituraUmidade(void);
floatFazLeituraTemperatura(void);
floatFazLeituraLuminosidade(void);
voidinit_port(void);
voidchaves_analog_off(void);
/*-----------------------------------------------------------------------
FUNCTIONS
-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
* Envia informações ao ThingSpeak
*
* Entradas :
* - String com a informação a ser enviada
*
* Saídas :
* - NENHUMA
*----------------------------------------------------------------------------*/
voidEnviaInformacoesThingspeak(String StringDados)
{
if (client.connect(EnderecoAPIThingSpeak, 80))
{
//faz a requisição HTTP aoThingSpeak
client.print("POST /update HTTP/1.1n");
client.print("Host: api.thingspeak.comn");
client.print("Connection: closen");
client.print("X-THINGSPEAKAPIKEY: "+ChaveEscritaThingSpeak+"n");
client.print("Content-Type: application/x-www-form-urlencodedn");
client.print("Content-Length: ");
client.print(StringDados.length());
client.print("nn");
client.print(StringDados);
lastConnectionTime = millis();
Serial.println(" Informações enviadas ao ThingSpeak ");
}
}
/*-----------------------------------------------------------------------------
* Faz a conexão WiFI
*
* Entradas :
* Saídas :
* - NENHUMA
77
*----------------------------------------------------------------------------*/
voidFazConexaoWiFi(void)
{
client.stop();
Serial.println("Conectando-se à rede WiFi...");
Serial.println();
delay(1000);
WiFi.begin(SSID_REDE, SENHA_REDE);
Serial.println("");
Serial.println("WiFi connectado com sucesso!");
Serial.println("IP obtido: ");
Serial.println(WiFi.localIP());
delay(1000);
}
/*-----------------------------------------------------------------------------
* Faz a leitura do nível de luminosidade
*
* Entradas :
* - NENHUMA
*
* Saídas :
* - Luminosidade percentual (0-100)
* Observação: o ADC do NodeMCU permite até, no máximo, 3.3V. Dessa forma,
* para 3.3V, obtem-se 1024 como leitura de ADC
*
*----------------------------------------------------------------------------*/
floatFazLeituraLuminosidade(void)
{
intValorADC;
floatLuminosidadePercentual;
digitalWrite(chave_sensor_luminosidade,HIGH);
digitalWrite(chave_sensor_temperatura,LOW);
digitalWrite(chave_sensor_umidade,LOW);
delay(10);
78
ValorADC = analogRead(0);
Serial.print("[Leitura ADC] ");
Serial.println(ValorADC);
LuminosidadePercentual = 100 * ((1023-(float)ValorADC) / 1023);
Serial.print("[Luminosidade Percentual] ");
Serial.print(LuminosidadePercentual);
Serial.println("%");
chaves_analog_off();
returnLuminosidadePercentual;
}
/*-----------------------------------------------------------------------------
* Faz a leitura do nível de umidade
*
* Entradas :
* - NENHUMA
*
* Saídas :
* - Umidade percentual (0-100)
* Observação: o ADC do NodeMCU permite até, no máximo, 3.3V. Dessa forma,
* para 3.3V, obtem-se 978 como leitura de ADC
*----------------------------------------------------------------------------*/
floatFazLeituraUmidade(void)
{
intValorADC;
floatUmidadePercentual;
digitalWrite(chave_sensor_umidade,HIGH);
digitalWrite(chave_sensor_luminosidade,LOW);
digitalWrite(chave_sensor_temperatura,LOW);
delay(10);
ValorADC = analogRead(0);
Serial.print("[Leitura ADC] ");
Serial.println(ValorADC);
UmidadePercentual = 100 * ((978-(float)ValorADC) / 1023);
Serial.print("[Umidade Percentual] ");
Serial.print(UmidadePercentual);
Serial.println("%");
chaves_analog_off();
returnUmidadePercentual;
}
79
/*-----------------------------------------------------------------------------
* Faz a leitura da Temperatura
*
* Entradas :
* - NENHUMA
*
* Saídas :
* - Temperatura percentual (0-100)
* Observação: o ADC do NodeMCU permite até, no máximo, 3.3V. Dessa forma,
* para 3.3V, obtem-se 978 como leitura de ADC
*----------------------------------------------------------------------------*/
floatFazLeituraTemperatura(void)
{
// Valor do termistor na temperatura nominal
#define TERMISTORNOMINAL 10000
// Temp. nominal descrita no Manual
#define TEMPERATURENOMINAL 25
// Número de amostragens para
#define NUMAMOSTRAS 5
// Beta do nosso Termistor
#define BCOEFFICIENT 3977
// valor do resistor em série
#define SERIESRESISTOR 10000
int amostra[NUMAMOSTRAS];
int i;
float media;
digitalWrite(chave_sensor_temperatura,HIGH);
digitalWrite(chave_sensor_umidade,LOW);
digitalWrite(chave_sensor_luminosidade,LOW);
delay(10);
media = 0;
for (i=0; i< NUMAMOSTRAS; i++)
{
media += amostra[i];
}
80
media /= NUMAMOSTRAS;
// Converte o valor da tensão em resistência
media = 1023 / media - 1;
media = SERIESRESISTOR / media;
return temperatura;
}
/*-----------------------------------------------------------------------------
* Setup do projeto
*
* Entradas :
* Saídas :
* - NENHUMA
*----------------------------------------------------------------------------*/
void setup()
{
Serial.begin(9600);
lastConnectionTime = 0;
FazConexaoWiFi();
Serial.println("TCC Eletrônica Embarcada");
}
/*-----------------------------------------------------------------------------
* Inicializa as chaves em off (Desligado)
*
* Entradas :
* Saídas :
* - NENHUMA
*----------------------------------------------------------------------------*/
voidchaves_analog_off()
81
{
digitalWrite(chave_sensor_luminosidade,LOW); // initialize digital output LOW
digitalWrite(chave_sensor_temperatura,LOW); // initialize digital output LOW
digitalWrite(chave_sensor_umidade,LOW); // initialize digital output LOW
}
/*-----------------------------------------------------------------------------
* void init_port()
*----------------------------------------------------------------------------*/
voidinit_port()
{
pinMode(chave_sensor_luminosidade , OUTPUT); // initialize digital output 8 as an output.
pinMode(chave_sensor_temperatura , OUTPUT); // initialize digital output 7 as an output.
pinMode(chave_sensor_umidade , OUTPUT); // initialize digital output 9 as an output.
pinMode(rele_luminosidade , OUTPUT); // initialize digital output 0 as an output.
pinMode(rele_temperatura , OUTPUT); // initialize digital output 1 as an output.
pinMode(rele_umidade , OUTPUT); // initialize digital output 2 as an output.
intUmidadePercentualTruncada;
intLuminosidadePercentualTruncada;
intTemperaturaTruncada;
charFieldUmidade[11];
charFieldLuminosidade[11];
charFieldTemperatura[11];
82
init_port();
UmidadePercentualLida = FazLeituraUmidade();
UmidadePercentualTruncada = (int)UmidadePercentualLida;
LuminosidadePercentualLida = FazLeituraLuminosidade();
LuminosidadePercentualTruncada = (int)LuminosidadePercentualLida;
TemperaturalLida = FazLeituraTemperatura();
TemperaturaTruncada = (int)TemperaturalLida;
sprintf(FieldLuminosidade,"field1=%d",LuminosidadePercentualTruncada);
EnviaInformacoesThingspeak(FieldLuminosidade);
sprintf(FieldTemperatura,"field1=%d",TemperaturaTruncada);
EnviaInformacoesThingspeak(FieldTemperatura);
digitalWrite(rele_luminosidade,HIGH);
}
else
{
digitalWrite(rele_luminosidade,LOW);
}
delay(1000);
}