gifflet / planta-iot

Planta IoT - Monitore seu estado de umidade

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Planta IoT - Monitore o seu estado

Este projeto foi desenvolvido para arduino e desktop, seguindo o esquema abaixo (com exceção da utilização dos leds) : drawing

Requisitos

Software

Hardware

Sensor de umidade de solo (YL-69)

drawing



Módulo chip comparador (LM393)

drawing



Como isso funcionamento?

Cada mudança do estado de umidade da terra detectada faz com que o arduino escreva na porta serial o estado atual de umidade recebido. Para isso, é necessário iniciar a comunicação serial e habilitar a entrada analógica A0, como podemos ver no arquivo planta_iot.ino:

#define  pino_sinal_analogico A0

void setup() {
	//Inicia a comunicação serial
	Serial.begin(9600);
	//Habilita entrada analógica A0
	pinMode(pino_sinal_analogico, INPUT);
}

O processo de monitoração é continuo, tendo uma curta interrupção de 100 milissegundos:

void loop() {

	//Le o valor do pino A0 do sensor
	valor_analogico = analogRead(pino_sinal_analogico);

	//Solo com umidade alta
	if (valor_analogico > 0 && valor_analogico < 400) {
		estado_atual = UMIDO;
	}
	//Solo com umidade moderada
	if (valor_analogico > 400 && valor_analogico < 800) {
		estado_atual = MODERADO;
	}
	//Solo com umidade baixa
	if (valor_analogico > 800 && valor_analogico < 1024) {
		estado_atual = SECO;
	}
	if(ultimo_estado != estado_atual) {
		ultimo_estado = estado_atual;
		Serial.print(estado_atual);
	}
	delay(100);
}

Os bytes escritos, pelo arduino, na porta serial são lidos na outra ponta dessa comunicação, no desktop, pelo arduino_tweet.py. Cada byte lido é interpretado para um estado de umidade e cada estado de umidade possui uma mensagem apropriada para servir de conteúdo para um tweet. É necessário realizar o procedimento de obter as credenciais para a utilização da api do twitter. Após realizado, substituir os respectivos valores das seguintes variáveis no arquivo arduino_tweet.py:

#twitter application credentials
consumer_key="CONSUMER_KEY"
consumer_secret="CONSUMER_SECRET"

#twitter user credentials
access_token="ACCESS_TOKEN"
access_token_secret="ACCESS_TOKEN_SECRET"

About

Planta IoT - Monitore seu estado de umidade


Languages

Language:Python 69.4%Language:C++ 30.6%