Amigos,

montei um sistema de irrigação para minha roça (segue fotos), mas me deparei com o seguinte problema, de vez em quando era necessário o acionamento de setores de irrigação fora do tempo que estava programado no arduino, e com o projeto atual isso não foi possível, porque ele esta programado com os horários pré definidos, queria poder pausar (se é que esse é o termo) a programação para poder acionar os comandos que eu precisar de forma manual e depois ao religar ou despausar o arduino gostaria que ele retornasse de onde a programação foi parada, e não reiniciasse como é de costume queria se possível que a comutação Manual/automático fosse acionado por uma botoeira como a da foto, isso é possível? desde ja agradeço

Exibições: 3378

Anexos

Responder esta

Respostas a este tópico

Obrigado amigo, mas, então ja havia visto este topico só que pelo que ví la não eu consegui fazer com que o arduino retornasse de onde parou, que é justamente o que eu preciso, se alguém puder me ajudar?

Retornar a um ponto especifico de um programa talvez ate seja possivel com assembly, mas acho que no seu caso seria melhor pensar de outra forma.

Nesse momente me vem a cabeca duas solucoes, uma eh a que o Washington postou, em que voce cria uma parte para logica manual e outra para logica automatica.

Uma outra opcao seria usar interrupcao, dessa forma seu programa eh interrompido, executa a rotina manual de irrigacao e retorna para fluxo normal de execucao.

possível com certeza é heheh

kra pelo que entendi vc poderia fazer duas rotinas separadas. uma para automático, e outra para manual. 

na autimática vc usa os marcos de liga e desliga em função do horário (RTC), no manual,

vc provavelmente teria somente um timer na função que for ligada,  ou apenas um liga/desliga, com botão ou chave

com um botão de 2 estagios, vc pode fazer a seleção, em função da posição do botão, se a porta estiver lendo HIGH executa a rotina automática, e vice versa.

para retomar do ponto onde parou, crie uma rotina que faça um incremento nos marcos de tempo da rotina automática, 

este incremento deve ser igual ao tempo em que ficou no manual.

talvez fosse interessante deixar os tempos automáticos fixos e somá-los a uma variável na hora da comparação ai o incremento seria feito nesta variável, aplicando-se assim a todos os marcos.

não sei se fui muito claro, mas acho que dá pra entender...!

Bom dia! Jonas fiz este projeto para uma amigo de uma olhada no video abaixo se servir te envio o codigo, é so solicitar no email  rodrigo.rja@hotmail.com

 

Amigo, muito obrigado você me ajudou muito, recebi o seu e-mail. alias muito obrigado a todos que responderam vou começar a fazer aqui assim que puder posto os resultados !!

Amigo,voltei a analisar o seu esquema, e parabéns pelo seu projeto, ficou magnífico, vou tentar monta-lo de maneira que ele atenda 8 zonas de irrigação (com solenoides) e duas bomba pelo nível da caixa, 

Olá, Amigo muito obrigado pela enorme ajuda que vc me deu, estudando um pouco percebi que esse seu projeto irá funcionar perfeitamente do jeito que eu preciso, só vou acionar um botão condicional para a função automatico e manual, 

If botão ==0
{codigo do automatico // de mesmo modo que você programou
{
if botão==1
{codigo manual (acionamento por push button, tipo um toque o botão bomba a ligaria, e outro toque a desligaria
no projeto que pretendo montar inclue-se 8 saidas de irrigação e 3 bombas
 gostaria se não for muito incomodo que me ajudasse a montar esse código, pois ainda sou muito leigo em programação (Ps: pelo que andei estudando acho q vou precisar utilizar um arduino mega, pela quantidade de sensores de entrada, um pra cada saída de irrigação, e outro pra cada caixa de água com bomba, no caso 3) desde já lhe agradeço, e apesar de não saber muita coisa pode contar comigo também pra o que precisar !!

Jonas,

explica direitinho os sensores que quer usar pois podemos ajudar na programação.

Qual sua ideia?

Certo, muito obrigado, vou usar para a caixa um sensor de nível tipo de passagem de corrente como mostra a imagem 01 e o sensor de umidade será este, que detecta a resistência do solo úmido ou seco, tipo quando a resistência for alta (solo seco o Arduíno deverá acionar o solenoide, que é tipo n/f do setor correspondente), como no projeto que Rodrigo José Araújo me passou, que achei magnífico, só que eu irei utilizá-lo para irrigar 8 setores individuais por umidade e controlar 3 bombar pelo nível da caixa, alem de implementar o sistema manual e automático, em que no modo manual irei controlar todas as bombas e solenoides por push buttons n/a individuais para cada um (tipo pressiono uma vez, liga o setor ou bomba correspondente, ao pressionar novamente desligo) (isso é para caso de demostração por exemplo)

achei perfeito o projeto do Rodrigo, devido aos menus, a implantação do lcd, a possibilidade de programar horarios no proprio sistema e definir limites de delay e sensibilidade, sem alterar a progragamação e tudo mais, e queria utiliza-lo de maneira igual, porem com essas mudanças.

Anexos

Eu tenho um sensor desse que mostrou.

To trabalhando em alternativas, pois temos várias formas de medir umidade.

Vamos deixar um tensiometro, um desse seu e um capacitivo em teste para analisarmos as diferenças.

O duro disso é o espaço.

Um arduino uno é muito pequeno para isso tudo.

então  tava penssanso nisso tbem pretendo utilizar um arduino mega ou duo

RSS

© 2023   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço