Índice:
- Etapa 1: Diagrama de blocos do sistema
- Etapa 2: Detalhe do Componente
- Etapa 3: Diagrama de Circuito
- Etapa 4: Vídeo de trabalho e arquivo de código
- Etapa 5: Código do programa
Vídeo: Monitoramento da planta com alerta SMS: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Aqui eu crio monitoramento de planta com alerta SMS. O servidor não é necessário para este sistema de alerta. É um projeto muito barato e confiável.
Etapa 1: Diagrama de blocos do sistema
Nas estufas de hoje, muitas medições de parâmetros são necessárias
monitorar e controlar a boa qualidade e produtividade das plantas. Mas para obter os resultados desejados existem alguns fatores muito importantes que entram em jogo como Temperatura, Umidade, Luz e Solo Bom, necessários para um melhor crescimento da planta. Mantendo esses parâmetros em mente, construí um Sistema de Monitoramento Automático de Plantas sobre o módulo GSM usando o Arduino. Este sistema é muito eficiente para o cultivo de plantas de boa qualidade. A outra parte importante deste projeto é que ele é totalmente automático e funciona em baixa tensão como; Fonte de 5-12 V DC.
Hoje em dia, o Módulo GSM é amplamente utilizado para enviar status de SMS de qualquer tipo de dados. Aqui neste projeto, usando o Módulo GSM SIM900A, podemos manter informações sobre os efeitos do clima nas plantas. O sistema também deve demonstrar mudanças climáticas que afetam a planta em sua produtividade e qualidade etc. O objetivo principal de se chegar a este projeto é construir um Monitoramento Automático de Planta no qual o módulo GSM envia as informações sobre Temperatura, Umidade, Intensidade de Luz, Solo umidade.
Como sou cidadão indiano, usei o módulo SIM900A (A significa rede asiática), mas você pode usar diferentes tipos de módulo SIM de acordo com o seu país. Os códigos AT podem ser diferentes.
Etapa 2: Detalhe do Componente
------------------ Eu meço quatro tipos de parâmetros, que vão
para discutir abaixo: ------------------
Temperatura e Umidade
O sensor DHT11 é usado para detectar temperatura e umidade. Quando a temperatura e a umidade são altas, a raiz das plantas é danificada e o crescimento da planta não está bem.
Intensidade da luz
A intensidade da luz é um fator importante para o crescimento da planta. Para detectar a intensidade da luz, o LDR (resistor dependente de luz) é usado. A intensidade da luz é medida em LUX e, portanto, para demonstração, a luz 100 LUX é usada como definido ou nível de limiar.
Umidade do solo
A umidade do solo é muito importante para o bom crescimento das plantas. Aqui, o sensor de solo é usado para medir o teor de umidade no solo. Usando com este sensor, podemos medir os dados do solo em ambos os sentidos, analógico e digital também.
Notificação de SMS:
Quando o valor de qualquer um dos parâmetros acima é excedido de um nível definido ou nível crítico, o sistema automaticamente envia SMS para o proprietário ou o operador com informações de parâmetros relacionados e quando o valor chega na faixa normal ou abaixo do nível definido novamente, o sistema automaticamente enviar SMS para o proprietário ou para a operadora com informações de dados relacionados.
A notificação é enviada apenas uma vez até que a condição não mude para que o proprietário ou operadora não receba SMS frequentes. Portanto, é necessário um pacote SMS inferior.
Etapa 3: Diagrama de Circuito
Todas essas peças estão facilmente disponíveis em qualquer site de compras online
ou com um conhecido distribuidor de peças de reposição para eletrônicos. Todas as fichas técnicas dos componentes estão disponíveis na web. Se houver alguma dificuldade sinta-se à vontade para entrar em contato pelo meu e-mail.
Etapa 4: Vídeo de trabalho e arquivo de código
Vídeo de trabalho final do projeto
Etapa 5: Código do programa
#incluir
#incluir
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define solo A3
float volt, lux, value; int output_value; temperatura interna, umidade; sinalizador de luz int = 0; int humflag = 0; int sinalizador do solo = 0; int tempflag = 0; int check; teste interno, teste1; grau de byte [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
void setup ()
{Serial.begin (9600); // Inicializa a serial para se comunicar com o Modem GSM lcd.begin (16, 2); pinMode (solo, INPUT); lcd.createChar (1, grau); lcd.setCursor (0, 0); lcd.print ("Fitossanidade"); lcd.setCursor (0, 1); lcd.print ("Monitoramento"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("PROJETO AGRI"); lcd.setCursor (0, 1); lcd.print ("Por S K CHHAYA"); atraso (1000); lcd.clear (); } void loop () {output_value = analogRead (solo); output_value = map (output_value, 550, 0, 0, 100); valor = analogRead (LUX); volt = (valor / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; atraso (10000); // Dê tempo suficiente para o GSM se registrar na rede DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatura = temperatura DHT); // Dados de temperatura no LCD lcd.write (1); lcd.print ("C"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umidade"); lcd.setCursor (0, 1); lcd.print (umidade = DHT.umidade); // Dados de umidade no LCD lcd.print ("%"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Light"); lcd.setCursor (0, 1); lcd.print (lux); // Luz de dados no LCD lcd.print ("LUM"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umidade"); lcd.setCursor (0, 1); lcd.print (output_value); // Dados do solo no LCD lcd.print ("%"); atraso (1000); lcd.clear ();
if (temperatura 40) {SendSMS (); // SMS para alta temperatura} if (umidade 40) {SendSMS2 (); // SMS para umidade alta} if (lux 100) {SendSMS4 (); // SMS para luz alta} if (output_value == 950) {SendSMS7 (); // SMS para Solo Seco} else if (output_value! = 950) {SendSMS6 (); // SMS para solo úmido}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Temp alta"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println ("grau C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp alta"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.print (temperatura); lcd.write (1); lcd.print ("C"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); tempflag = 1; verificar = 0; teste = 0; atraso (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Temperatura baixa"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println ("grau C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatura baixa"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.print (temperatura); lcd.write (1); lcd.print ("C"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); tempflag = 0; verificar = 0; teste = 0; atraso (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Umidade alta"); Serial.print (umidade); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Umidade elevada"); atraso (1000); lcd.setCursor (0, 1); lcd.print ("Umidade"); lcd.print (umidade); lcd.print ("%"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); humflag = 1; verificar = 0; teste = 0; atraso (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Baixa Umidade"); Serial.print ("Umidade"); Serial.print (umidade); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Baixa Umidade"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umidade"); lcd.setCursor (0, 1); lcd.print (umidade); lcd.print ("%"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); humflag = 0; verificar = 0; teste = 0; atraso (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Para enviar SMS em Modo Texto delay (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Alterar para o número de telefone de destino delay (500); Serial.print ("Good LIGHT,"); Serial.print ("Intensidade"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // o caractere de parada Ctrl + Z lcd.setCursor (0, 0); lcd.print ("Boa luz"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensidade"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); sinalizador luminoso = 1; verificar = 0; teste = 0; atraso (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("LOW LIGHT,"); Serial.print ("Intensidade"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Pouca luz"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensidade"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); sinalizador luminoso = 0; verificar = 0; teste = 0; atraso (10); }} void SendSMS6 () {if (soloflag == 0) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Solo Seco"); Serial.print ("Umidade"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Solo Seco"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umidade"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); sinalizador de solo = 1; verificar = 0; teste = 0; atraso (10); }} void SendSMS7 () {if (soloflag == 1) {Serial.println ("AT + CMGF = 1"); atraso (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); atraso (500); Serial.print ("Solo úmido"); Serial.print ("Umidade"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Solo úmido"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umidade"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); atraso (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Enviando SMS"); atraso (1000); lcd.clear (); sinalizador de solo = 0; verificar = 0; teste = 0; atraso (10); }}
Recomendado:
Sistema de alerta de solo com baixa umidade para sua planta: 5 etapas
Sistema de Alerta de Solo Baixa Umidade para Sua Planta: Em várias residências, é comum encontrar potes com diferentes tipos de plantas. E com o grande número de atividades do dia a dia, as pessoas se esquecem de regar as plantas e acabam morrendo por falta de água. Como forma de evitar esse problema, a gente decide
Alarme de planta de alerta de sede: 13 etapas
Alerta de Sede para Plantas: Tenho que confessar - sou um péssimo pai de plantas. É bom tirar isso do meu peito. Eu não consigo descobrir, se está atingindo a fotossíntese um pouco forte ou diminuindo o antigo H2O. Parece que nada do que eu fizer vai manter esses caras
PInt @ t10n: Sistema de monitoramento inteligente da planta: 9 etapas
PInt @ t10n: Sistema de monitoramento de planta inteligente: PI @ nt @ t10nEste projeto foi criado como um teste para a nuvem ibm iot. Usamos um esp-8266 para enviar e receber dados de e para a nuvem ibm. A comunicação entre o esp e a nuvem ibm acontece através do MQTT. Para lidar com todos os dados e apresentar
Monitoramento de planta e alertas com ESP8266 e AskSensors IoT Cloud: 6 etapas
Monitoramento de planta e alertas com ESP8266 e AskSensors IoT Cloud: Este projeto visa construir um sistema de monitoramento de planta inteligente usando ESP8266 e a AskSensors IoT Platform. Este sistema pode ser usado para monitorar o nível de umidade do solo para fornecer critérios objetivos para decisões de irrigação. que ajudam a garantir a irrigação
Sistemas de alerta de inundação - Níveis de água + Guia de monitoramento do sensor de IoT: 6 etapas
Sistemas de alerta de inundação - Níveis de água + Guia de monitoramento do sensor de IoT: Você precisa monitorar os níveis de água? Você aprenderá a fazer sistemas de monitoramento de nível de água neste tutorial. Esses dispositivos IoT industriais são implantados como sistemas de alerta de inundação nos EUA. Para manter você e sua comunidade seguros, as Smart Cities precisam mo