Bom dia Pessoal!

Ainda estou engatinhando com as programações no Arduino.

Será que poderiam me auxiliar com a confecção de um código para realizar as funções abaixo:

Seria um dosador para três líquidos.

O Arduino teria que acionar três relés distintos em tempos diferentes.

Também teria um display que que mostraria os seguintes dizeres:

BOMBA 1 (do lado contaria os segundos que dosaria)

Em outra tela após a bomba 1 apareceria:

BOMBA 2 (do lado contaria os segundos que dosaria)

E assim por diante com a bomba 3.

Após a 3 voltaria para 1. Se alguém puder me ajudar.

Basicamente é um temporizador com display dizendo o que está fazendo.

Se alguém puder me ajudar ficaria muito grato.

Abraço

Exibições: 1681

Responder esta

Respostas a este tópico

a dosagem dos líquidos é feita pelo tempo de funcionamento da bomba? Se sim, fica minha dúvida: é garantido que esse tempo dosa corretamente o volume desejado?

Bom dia!

Primeiramente obrigado pelo retorno.

Isso mesmo. Seriam três bombas. O volume não importa muito.

Seria basicamente assim

BOMBA 1: 5 SEGUNDOS

BOMBA 2: 5 SEGUNDOS

BOMBA 3: 5 SEGUNDOS

E esses dados teriam que aparecer no LCD. A bomba que está dosando e a contagem.

desculpe insistir nisso, amigo

mas não estou entendendo direito: se vc pretende construir um dosador, como é que o volume não importa muito?

Eu entendo que um dosador para ser chamado como tal deverá te permitir controlar um determinado volume de líquido.

Se vc configurar para bombear por 5 segundos, entendo que vai dosar um volume diferente dependendo da força de bombeamento (por exemplo com 100% da capacidade de bombeamento vai bombear 5litros, mas com 90% da capacidade de bombeamento vai bombear menos litros nos 5 segundos). Se o volume não importa muito, então não é um dosador, mas sim uma simples bomba.

Vc pode explicar melhor seu projeto?

Imagina sem problemas.

No caso o volume não vai importar pois digamos que a bomba sempre dose a mesma quantidade "x" por segundo. 

Então o volume vai ser baseado no tempo de dosagem.

ahhh, está ficando claro. Na minha opinião, isso que vc pretende fazer, apesar de ser muito comum das pessoas fazerem, é um erro.

Por exemplo, já vi projetos industriais de rosca sem fim que transportam por exemplo milho em grão e a quantidade em kg era baseada em tempo de funcionamento da rosca. A suposição era de que em 5 segundos, por exemplo, a rosca era capaz de transportar 30kg de milho. Não é difícil perceber o furo desse raciocínio. A quantidade transportada varia não só em função do tempo, mas também conforme a velocidade da rosca (que nem sempre é constante), do grau de acomodação dos grãos (ou densidade), da umidade do ar (pois umidade do ar interfere na umidade do grão, tornando-o mais pesado)

no seu caso, que quer dosar líquidos, a vulnerabilidade do raciocínio está no fato de que nem sempre aa bomba seja capaz de bombear aquela quantidade "x" por segundo, a questão da altura da coluna do líquido que exercerá uma pressão diferente sobre a saída do compartimento de acordo com o volume armazenado nesse compartimento, existe o problema do lag time isto é tempo decorrido a partir do momento zero (início do cronômetro) até que o primeiro pingo do líquido caia no recipiente de destino.

Vc já aferiu rigorosamente se essa sua pressuposição de que "a dose é a mesma quantidade x por segundo" realmente é verdadeira? Em outras palavras, em 1seg de bombeamento ou 10seg ou 30seg ou 1min ou 2min esse volume é linear, independentemente  da altura da coluna de líquido armazenado?

Então, a quantidade dosada pela bomba não serpa sempre a mesma. Vai variar um pouco. Mas algumas ml a mais ou a menos não vão interferir no processo. Por isso deixei essa questão da variação da dosagem de lado.

Preciso mais é o código para fazer o sistema acionar o relé com os segundos pré determinados e mostrar no LCD o que está acontecendo. Ou seja, a contagem simultaneamente com o acionamento da bomba.

Exemplo: A hora que mandar o sinal de 5 segundos para o relé (BOMBA 1), aparecer essa contagem no LCD. Assim que acabar, pular para próxima bomba.

Entendi perfeitamente agora. Eu não tinha percebido que haveria tolerância para o volume dosado

Então no seu caso, será necessário vc aprender e dominar a função millis() para que a contagem seja exibida no lcd a cada segundo ou a cada 0,1 segundo, por exemplo. Esse intervalo de atualização da informação no lcd vc quem decide.

Blz. Muito obrigado pela ajuda. Vou procurar mais sobre ela. 

Boa tarde José! Ajudou sim!

Para fazer o sistema acionar o relé com os segundos pré determinados estou conseguindo desenrolar. O problema é mostrar no LCD o que está acontecendo. Ou seja, a contagem simultaneamente com o acionamento da bomba.

Exemplo: A hora que mandar o sinal de 5 segundos para o relé (BOMBA 1), aparecer essa contagem no LCD. Assim que acabar, pular para próxima bomba.

Eu já fiz medição de volume através do peso dos recipientes.

Mas se o seu problema é a programação dos relês e do LCD, sugiro procura código fonte de projetos com relês e/ou LCD aqui no lab ou no google, pois a programação vai depender do circuito e dos modelos dos componentes, no caso, o do LCD.

Se você não tem experiência com programação, comece fazendo um projetinho só com um relê e o Arduino, depois outro com o LCD e o Arduino e quando estiver entendendo o código, junte tudo num só programa.

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço