Projeto - Automação sistema de irrigação e Datalogger.

Boa noite pessoal,

Sou iniciante em arduino e estou fazendo este post aqui para apresentar um projeto que estou tentenado desenvolver.

Objetivo do projeto: Desenvolver um protótipo automatizado para estudo de cultivo indoor com iluminação artificial.

Segue desenho... (Bem mau feito eu sei... rsrsrs)

Resumo do projeto: Estufa de com dimensões de 1,50m x 2,0m com iluminação artificial (LED).

Sensores: Temp. e umidade do ar (DHT22), Sensor de umidade do solo com módulo.

Automação: 2x Solenódes, 1x Bomba, 4x luminárias LED, 1x Arduino UNO, 1x Módulo Rele 8 canais, 1x modulo RTC DS1307, 1x Módulo SD Card, 1x Oled i2c 128x64... Acho que é só isso. kkkkk

Tudo já está ligado e funcionando, falta a lógica.

Resumo da automação:

1 - Todos os Led´s ligam as 5:00am e desligam 20:00pm todos os dias.

2 - Uma vez por dia as 9:00am a solenoide 2 liga e depois de 5s a bomba liga.

    Ficam ligadas por 3min e depois desliga a bomba e depois de 5s a solenoide.

    Depois de 10s a solenoide 1 liga e depois de 5s a bomba liga.

    Ficam ligadas por 1min e depois desliga a bomba e depois de 5s a solenoide 1.

3 - Medidor de umidade do solo coleta os dados a cada 30min quando estiver secando a terra (<300) ele aciona o solenoide 1 liga e depois de 5s a bomba liga.

    Ficam ligadas por 1min e depois desliga a bomba e depois de 5s a solenoide1.

    Medidor de umidade do solo coleta os dados e quando estiver secando a terra ele aciona o

solenoide 1 do contrário continua.

4 - Datalogger imprime os dados de umidade do solo, do ar e a temperatura (dht22) e salva num SD e apresenta num Oled i2c 128x64 para a verificação. (O que deve aparecer no Display - Temp. e umidade do ar. Umidade do solo, data e hora).

Acho que é só isso... Rsrsrs

A onde estou...

Estou tentando modificar este skatch em anexo para o que eu preciso, mas estou tendo muitos problemas, pois sou iniciante em arduino.

Quem puder me ajudar ficarei grato.

Felipe Mendes

Exibições: 4867

Responder esta

Respostas a este tópico

Mais uma informação para o acionamento do modulo rele usarei um shift register 74HC595.

 

FM, boa noite,

O seu desenho me parece muito racional e com boas chances de funcionar.

Posso te ajudar com o código, mas para isto você antes terá que fazer 3 coisas:

1a.. Comentar todo o seu código, para que eu saiba pra que serve cada linha e entender o projeto;

2a.  Identar o código para facilitar saber as dependências de cada linha;

3a. Postar como arquivo ou em site como o www.pastebin.com

Rui

Fala Rui, Obrigado pelo auxílio. Eu tirei os comentários quando juntei os programas, eu coloco novamente. Quando eu comentar eu postarei no pastebin ou

Fala Rui, boa tarde.

Segue aqui o arquivo como vc me pediu em cima, ele está meio Frankenstein pq eu peguei vário skatchs e começai a juntar e ai que começou o problema.

Basicamente ele teria que ser divido em 3 partes.

1- Ler os dados dos sensores de temp. DHT22 e solo.

2- Gravar esses dados no SD com data e hora e mostrar no LCD.

3- Fazer os acionamentos das lâmpadas (16horas ligadas), das solenoides e da bomba conforme horário definido.

Vc acha melhor fazer um programa do início?

Fala Rui,

Revisei o programa e está quase completo, só preciso resolver o último if que não consegui, adicionar hora, data, umidade e temp. do ar e umidade do solo no SD e colocar tudo pra aparecer no Oled display.

Pode me ajudar, ou alguém.

Obrigado pela força

Mas Rui, foi daqui que tirei o programa q está dando pau e ele tem uma função dentro do loop.

Olha o anexo.

tenta mudar para..

a= 0b01010101; //dados
shiftOut(3, 2, LSBFIRST, a); //carrega dados

digitalWrite(1, HIGH); //joga os dados para saída

delay(2);

digitalWrite(1, LOW);

Olha se é o que vc quer?

Olhe a aplicação que estou buscando em anexo.

Da uma olhada no comando millis toda a parte de //inicio automação vai ficar melhor usando o millis...

https://www.arduino.cc/en/reference/millis

e no exemplo blink without delay

https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay 

E melhor ir fazendo e testando por partes depois junta tudo!

https://www.arduino.cc/en/Reference/FunctionDeclaration

//------------------------------------------------------------

//Registrador 74hc595 
void registrador (int regis) {

shiftOut(3, 2, LSBFIRST, regis);

digitalWrite(1, HIGH);

delay(2); 

digitalWrite(1, LOW);
}

//-----------------------------------------------------------

Fala Alexandre,

Obrigado pela ajuda... A utilização do millis seria se eu quisesse excluir o RTC?

Abç.

Fiquei curioso, o que pretende plantar num quarto fechado de 1,5 x 2 metros com luz artificial ?

Já ouviu falar de fazenda vertical? Alface Baby leaf para Iniciação Cinetífica... Gostaria de me ajudar com a programação?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço