Pessoal,

Boa Tarde...

Estou desenvolvendo um projeto com Arduino MEGA que consta na ligação de 16 sensores de umidade do solo, 4 válvulas solenoides e uma motobomba. Esses dados serão exibidos no display 16x2 com botões para navegação entre os menus e um RTC (todos os dados já estão sendo salvos como um datalogger). Segue o código que tenho até agora para que me auxiliem caso encontrem algum erro pois não sou expert em programação. A quantidade de sensores ainda não é a final, coloquei os 4 apenas para ir testando. Alguns menus estão somente como exemplo, não estou utilizando... O arduino está ligado com uma fonte externa de 9v 1A e as solenoides com uma fonte tipo colméia pois elas são de 24V.

Dúvidas.:

1 - Preciso ligar uma motobomba da marca MAGTRON de 1/2CV (folto anexa), o relê (5v ou 12v) consegue ligar a bomba normalmente? A parte elétrica me preocupa, vou utilizar os reles em serie da robocore para economizar portas. Li algo sobre um multiplexador para utilizar com os reles normais mas ainda não consegui estudar sobre...

2 - Gostaria que ao ligar o arduino o primeiro menu exibido no display fosse a verificação do cartão de memória (se existe ou não) para depois prosseguir para os outros menus. Seria uma segurança a mais.

3 - Gostaria de inserir uma opção de irrigação "manual" onde no menu eu pudesse desativar a programação feita através da leitura dos sensores e programasse o horário de ativar a bomba manualmente.

Com a utilização dos menus tive seguinte problema, os dados só gravavam no cartão quando eu acionava o menu correspondente. Por isso coloquei algumas funções dentro do loop, pois gostaria que elas ficassem rodando direto para gravar no cartão de memória. Não sei se estou fazendo certo, pois antes eu colocava tudo dentro do loop, agora utilizando os menus a linguagem C utiliza as "funções" e isso me deu um certo trabalho... Sei que postei muitas dúvidas mas conto novamente com a ajuda de vocês. 

Segue o código.:

https://pastebin.com/6H9na7Un

Exibições: 2974

Anexos

Responder esta

Respostas a este tópico

Esses botões realmente precisam de colocar um resistor? Existem botões que não precisam?

Uma dica para o seu projeto, esses sensores de umidade de solo para não terem uma corrosão rapida seria preciso que a leitura fosse em corrente alternada, 

Mas o ideal é que se use sensores capacitivos, eles são duráveis e não possuem problema de corrosão 

https://www.youtube.com/watch?v=HaKZi98zznA

Só como sugestão :

http://labdegaragem.com/profiles/blogs/farmbot-horta-automatizada-c...

FarmBot IO - desenvolvimento de uma nova solução para automatização na produção de alimentos. 

Veja essa horta automatizada, controlada por uma CNC usando Raspberry Pi e Arduino. 

Tudo OPEN SOURCE !

Bem interessante ! 

Link do projeto :  https://farmbot.io/

https://farmbot-genesis.readme.io/

Mais vídeos :

https://www.youtube.com/c/farmbotio/videos

Olá José 

Muito inspirador este site que você comentou.

Meu objetivo é montar um sensor de umidade que não seja tão simples como um medidor de resistência ou capacitância ,mas que também não seja tão complexo e caro como um Tektronix 1502C, o fato de colocar uma escala de umidade em medidor de resistência ou capacitância leva consigo uma quantidade enorme de erros de medida que acabarão comprometendo o trabalho final. Estou desenvolvendo um conceito para o refletômetro que como o método da Tektronix considera para a medida o tempo de reflexão da onda eletromagnética incidente sobre o conjunto cabo+elemento sensor até achegada da onda refletida no refletômetro.

Daí a necessidade de fazer as medidas que aqui apresento como premissa para dar início ao projeto da eletrônica que estará envolvida.

Realizei quatro medidas com a ponta de prova montada, e estão abaixo:

Umidade do solo X Variação da Capacitância

Medida

Água (Kg)

Solo (Kg)

Capacitância( nF)

1

0

0

0,1

2

1,7

0

4,9

3

0

2,0

0,2

4

0,3

2,0

5,2

Sensor no Ar livre

Sensor em 1,7 Kg de  água

Sensor em 2 Kg de Solo Seco

No Solo Úmido, 2Kg de solo + 0,3 Kg de água

Conclusões:

1 - Com a variação de capacitância 0,1 nF a 5 nF, obtida será possível trabalhar com a frequência de 1MHZ , pois espero obter um angulo de reflexão máximo de 180 graus.

Abraços e até a próxima.

Parabéns pelo seu projeto... Está realmente muito bom... Vc fez mais testes, realizou mais algumas medições?  O que achou? Abraços...

Sim, Hugo

Já desenvolvi um conceito que tenta trazer para o mundo da prática o melhor do TDR com a facilidade de montagem e preço do sensor capacitivo, já comecei elaborar o texto e comprar os CIs para a montagem do sensor, logo vou deixar aqui , para as discussões.

Observei aquilo que já esta na literatura, o sensor capacitivo é extremamente sensível a variações de amplitude no sinal AC, daí não ser preciso em solos salinos, por esse motivo estou trabalhando na medição do tempo perdido pela onda eletromagnética na sonda/solo.

Abraços

Joe Nova

Olá 

Enquanto os componentes não chegam, fiz algumas correções no texto, inclui as referencias e vou postar aqui as referencias.

TDR_FDR_Ver1.0.pdf

Anexos

Vc conseguiu fazer a comunicação com o ESP-01 e lançar esses dados na internet? Estou tentando fazer isso com um arduino mega adk, já consegui a comunicação entre os módulos porém não consegui enviar para a internet os dados (valores lidos nas portas seriais por exemplo)...

Olá Hugo

Na verdade coloquei esta foto ai apenas com o intuito de demostrar que tanto um Arduino Mini quanto um ESP tem capacidade de processamento e comunicação para resolver a equação do Dr. G.C. TOPP. porém ainda não terminei o sensor, hoje foi que chegaram meus 74HC4046 ainda vou trabalhar no sensor e só depois vou transferir os dados.

Porém já consegui enviar dados para a internet utilizando as planilhas do Google para a recepção e um NODE MCU ESP8266  para a transmissão, e seguindo a risca o tutorial aqui neste link

Consegui abrir planilha inclusive em dispositivos móveis e em tempo real.

Mas se o seu interesse é no ESP8266-1 aconselho a dar uma olhada neste SITE, tem algo interessante com ele.

Meu objetivo primordial é acionar uma válvula para irrigar uma pequena área de agricultura familiar ou jardinagem ainda não penso em um instrumento de medição.

Abraços

Joe Nova

Olá 

Se Alguém pretende montar um sistema de acionamento para irrigação, assim como eu, antes de se preocupar com as equações de Maxwell,números complexos,shilds da China, e linguagens de programação, de uma olhada neste vídeo.

Joe,

Muito obrigado por tuda ajuda...

Segui o tutorial que você passou para fazer o Esp-01 enviar dados para as planilhas on line do google e consegui fazer.

Porém não consigo fazer o Esp-01 ler os valores da porta analógica do Arduino Mega ADK e enviar para a planilha.

Estou fazendo o seguinte.:

1 - Gravo o código Link do código no Esp-01 com o auxílio do conversor usb e faço a ligação de acordo com a imagem abaixo. Com isso a planilha recebe os dados perfeitamente.2 - Ligo o Esp-01 no Arduino Mega ADK de acordo com a imagem abaixo: Obs.: Essa foi o único esquema de ligação que consgui ter resposta dos comandos AT. Esse esquema consegue ligar o Esp-01 e continuar enviando os dados de acorod com o que foi gravado anteriormente para a planilha on-line.

Porém daqui pra frente não estou conseguindo. Não sei como altero o código do tutorial que foi gravado no Esp-01 para que ele envie os valores que estão sendo lidos através da porta analógica ou de alguma variável do arduino mega adk.

A ordem certa é essa?

1 - Gravar a programação no Esp-01

2 - Ligar o Esp-01 no mega adk

Não da pra ligar o Esp-01 no mega adk e programa-lo juntamente com o mega adk?

Abraços...

Olá Hugo

Sim a ordem é esta. Quanto a segunda questão é mais complexa, Através da IDE do Arduino e possível programar tanto o ESP quanto o Mega, porem um de cada vez, apesar que nada impede que o firmware que estiver no mega possa enviar comandos AT de configuração para o ESP.

Para que o ESP receba  os dados obtidos pela serial conectada ao Mega e envie para a internet será necessário vc desenvolver um protocolo de comunicação que atue entre Mega e o ESP, o hardware aparentemente esta correto.

Neste protocolo bastante básico estarão informações quanto a velocidade de transferência e logica como numero de bytes e formato, binário ou ASCII.

O fato de você conseguir transferir comandos AT é um bom sinal.

Acredito que o problema esteja na atualização das variáveis "Vida" "de" "silicio".

Elas deverão conter os dados obtidos nas entradas AD do mega e atualizadas de tempo em tempo, portanto as variáveis manipuladas pelo MEGA e ESP devem ser igualadas e devem estar no mesmo formato ASCII.

O ESP01 parece ser a versão mais limitada da série, tanto que nem o conversor AD esta facilmente disponível.

Não sei qual a necessidade do mega no seu projeto, mas talvez uma versão mais avançada do ESP resolva todo o seu problema sem a utilização do Arduino Mega ou mesmo se quiser usar o arduino, a utilização de um Arduino já com o módulo de IOT incluso como o Arduino Yun pode ser uma opção mais efetiva.

Fico feliz em saber que conseguiu a conexão com a internet, existem outras opções como o Temboo , Blynk e Thinkspeak da MATLAB. Temboo e Blink geram até o código, ThikgSpeak faz até análise dos dados.

Abraços

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço