- Componentes necessários para o projeto do sistema de rega da planta Arduino
- Explicação do circuito:
- Explicação de trabalho:
- Explicação de programação:
Sempre que saímos da cidade por alguns dias, sempre nos preocupávamos com nossas plantas, pois elas precisam de água regularmente. Então aqui estamos fazendo o Sistema de Irrigação Automática de Plantas usando Arduino, que fornece água automaticamente para suas plantas e mantém você atualizado enviando mensagem para o seu celular.
Neste sistema de rega da planta, o sensor de umidade do solo verifica o nível de umidade no solo e, se o nível de umidade estiver baixo, o Arduino liga uma bomba d'água para fornecer água à planta. A bomba de água é desligada automaticamente quando o sistema encontra umidade suficiente no solo. Sempre que o sistema é ligado ou desligado a bomba, uma mensagem é enviada ao usuário via módulo GSM, atualizando o estado da bomba d'água e da umidade do solo. Este sistema é muito útil em Quintas, Jardins, Casa, etc. Este sistema é totalmente automatizado e não necessita de intervenção humana.
Componentes necessários para o projeto do sistema de rega da planta Arduino
- Arduino Uno
- Módulo GSM
- Transistor BC547 (2)
- Fios de conexão
- LCD 16x2 (opcional)
- Fonte de alimentação 12v 1A
- Relé 12v
- Bomba refrigerador de água
- Sensor de umidade do solo
- Resistores (1k, 10k)
- Resistente variável (10k, 100k)
- Conector de terminal
- Regulador de tensão IC LM317
Módulo GSM:
Aqui nós usamos o módulo TTL SIM800 GSM. O SIM800 é um Módulo Quad-band GSM / GPRS completo que pode ser incorporado facilmente pelo cliente ou amador. O Módulo SIM900 GSM fornece uma interface padrão da indústria; o SIM800 oferece desempenho GSM / GPRS 850/900/1800/1900 MHz para voz, SMS e dados com baixo consumo de energia. O design deste Módulo SIM800 GSM é fino e compacto. Ele está facilmente disponível no mercado ou online no eBay.
- Módulo Quad-band GSM / GPRS em tamanho pequeno.
- GPRS ativado
- Saída TTL
Saiba mais sobre o módulo GSM e comandos AT aqui. Verifique também nossos vários projetos usando GSM e Arduino para compreender adequadamente sua interface.
Explicação do circuito:
Neste sistema de irrigação de plantas, usamos uma sonda do sensor de umidade do solo caseiro para detectar o nível de umidade do solo. Para fazer a sonda, cortamos e gravamos uma placa revestida de cobre de acordo com a imagem mostrada abaixo. Um lado da ponta de prova é conectado diretamente ao Vcc e o outro terminal da ponta de prova vai para a base do transistor BC547. Um potenciômetro é conectado à base do transistor para ajustar a sensibilidade do sensor.
O Arduino é usado para controlar todo o processo deste Sistema de Rega Automática de Plantas. A saída do circuito do sensor de solo é conectada diretamente ao pino digital D7 do Arduino. Um LED é usado no circuito do sensor, o estado ON deste LED indica a presença de umidade no solo e o estado OFF indica a ausência de umidade no solo.
O módulo GSM é usado para enviar SMS ao usuário. Aqui, usamos o módulo TTL SIM800 GSM, que fornece e recebe a lógica TTL diretamente (o usuário pode usar qualquer módulo GSM). Um regulador de tensão LM317 é usado para alimentar o módulo SIM800 GSM. O LM317 é muito sensível à tensão nominal e é recomendável ler sua folha de dados antes de usar. A tensão nominal de operação é 3,8 V a 4,2 V (prefira 3,8 V para operá-lo). Abaixo está o Diagrama de Circuito da Fonte de Alimentação dado ao Módulo GSM TTL sim800:
Se o usuário deseja usar o Módulo SIM900 TTL, ele deve usar 5V e se o usuário deseja usar o Módulo SIM900, então aplique 12V no slot DC Jack da placa.
Um relé de 12 V é usado para controlar a pequena bomba d'água 220 VCA. O relé é acionado por um transistor BC547 que é conectado ao pino digital 11 do Arduino.
Um LCD opcional também é usado para exibir status e mensagens. Os pinos de controle do LCD, RS e EN são conectados aos pinos 14 e 15 do Arduino e os pinos de dados do LCD D4-D7 são conectados diretamente aos pinos 16, 17, 18 e 19 do Arduino. O LCD é usado no modo de 4 bits e conduzido pela biblioteca LCD embutida do Arduino.
Abaixo está o diagrama do circuito deste sistema de irrigação com arduino e sensor de umidade do solo:
Explicação de trabalho:
O funcionamento deste Sistema Automático de Irrigação de Plantas é bastante simples. Em primeiro lugar, é um Sistema Totalmente Automatizado e não há necessidade de mão de obra para controlar o sistema. O Arduino é usado para controlar todo o processo e o módulo GSM é usado para enviar mensagens de alerta ao usuário em seu celular.
Se houver umidade no solo, então há condução entre as duas sondas do sensor de Umidade do Solo e, devido a esta condução, o transistor Q2 permanece no estado acionado / ligado e o Pino Arduino D7 permanece baixo. Quando o Arduino lê o sinal BAIXO em D7, ele envia um SMS para o usuário sobre “Umidade do solo é normal. Motor DESLIGADO ”e a bomba d'água permanece no estado Desligado.
Agora, se não houver umidade no solo, o Transistor Q2 fica desligado e o pino D7 fica alto. Em seguida, o Arduino lê o pino D7 e liga o motor aquático e também envia uma mensagem ao usuário sobre “Detectada baixa umidade do solo. Motor ligado ”. O motor desligará automaticamente quando houver umidade suficiente no solo. Além disso, verifique o Vídeo de Demonstração e o Código (fornecidos no final) para entender melhor o processo de trabalho do projeto.
Explicação de programação:
O código para este programa é facilmente compreensível. Em primeiro lugar, incluímos a biblioteca SoftwareSerial para fazer os pinos 2 e 3 como Rx e Tx e também incluímos LiquidCrystal para LCD. Em seguida, definimos algumas variáveis para motor, sensor de umidade do solo, LED etc.
#incluir
Em seguida, na função void setup () , a comunicação serial é inicializada em 9600 bps e as instruções são fornecidas aos vários pinos. A função gsmInit é chamada para inicializar o módulo GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, OUTPUT); pinMode (sensor, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); atraso (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Boas-vindas"); atraso (2000); gsmInit ();
Em seguida, o sensor é lido na função void loop () e o motor é ligado ou desligado de acordo com o status do sensor e um SMS também está sendo enviado ao usuário usando a função sendSMS . Verifique as várias funções em código completo fornecido no final.
loop void () {lcd.setCursor (0,0); lcd.print ("Modo automático"); if (digitalRead (sensor) == 1 && flag == 0) {delay (1000); if (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Detectada baixa umidade do solo. Motor ligado"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Aqui, a função gsmInit () é importante e os usuários geralmente acham difícil configurá-la corretamente. É utilizado para inicializar o módulo GSM, onde primeiro é verificado se o módulo GSM está conectado ou não através do envio do comando 'AT' ao módulo GSM. Se a resposta OK for recebida, significa que está pronto. O sistema continua verificando o módulo até que ele esteja pronto ou até que 'OK' seja recebido. Em seguida, o ECHO é desligado enviando o comando ATE0, caso contrário, o módulo GSM ecoará todos os comandos. Então, finalmente, a disponibilidade da rede é verificada através do 'AT + CPIN?', se o cartão inserido for um cartão SIM e o PIN estiver presente, ele dá a resposta PRONTO. Isso também é verificado repetidamente até que a rede seja encontrada. Isso pode ser claramente entendido pelo Vídeo abaixo.
void gsmInit () {lcd.clear (); lcd.print ("Módulo de localização.."); booleano at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } atraso (1000); }……………….
Portanto, com este Sistema de Irrigação Automática, você não precisa se preocupar com suas plantas quando estiver fora de casa. Ele pode ser ainda mais aprimorado para ser operado e monitorado pela Internet.