Jump to content
Ruix35

Programa de cultura hidroponica

Recommended Posts

Ruix35

Boa tarde, vinha aqui perguntar se alguém conseguia me dar uma ideia de como fazer um programa em python para controlo de uma cultura hidroponica, tendo este as seguintes condições:

Em cada controlo, determinam-se as ações a tomar, que podem ser:
• inserir determinado volume de água
• escoar determinado volume de solução, sempre que os detritos têm uma concentração acima do permitido (e normalmente em conjunto com a adição de água)
• inserir um pequeno volume de solução ácida, ou básica, para regular o PH
• inserir um determinado volume de um nutriente (e podem ser vários)


Queria implementar um programa com funções para:
• Ler um ficheiro com as regras a observar para os parâmetros: volume total, PH, cada um dos nutrientes e detritos. Essa informação deve ser carregada para uma estrutura em Python, de modo a facilitar as comparações que serão necessárias.
• Ler um ficheiro onde cada linha tem a leitura, para os vários parâmetros analisados, num controlo. Deve gerar uma representação em Python para esta informação
• Considerando os dados existentes, para um parâmetro e respetiva leitura, verificar se está ou não dentro de valores aceitáveis, isto é, se o valor lido está entre referência-tolerância e referência+tolerância.
• Para o histórico de leituras, determinar o(s) parâmetro(s) que mais vezes se encontra(m) fora dos respetivos valores de referência.
• Representar graficamente a informação das leituras, com uma grelha com os valores de todas as leituras, assinalando a bold os valores mínimo e máximo encontrados para cada parâmetro, e cor vermelha para valore fora do intervalo de referência.
• Ter uma função para acrescentar leituras, que lê o ficheiro das regras, para saber os parâmetros, e desenha um formulário gráfico para recolha dos valores para todos os parâmetros, escrevendo-os depois numa nova linha, que é acrescentada ao anterior ficheiro de leituras.
• Num controlo (com os dados de uma leitura), para cada parâmetro deve verificar se o valor lido está dentro do intervalo de referência. Se estiver, o estado é correto e nenhuma ação é necessária.
Se estiver abaixo (excepto detritos), é necessário inserir determinada quantidade (de água, ou de algum dos nutrientes). A quantidade a inserir deve ser mínima (ou ótima) para se repor o valor de referência.
Sempre que os detritos ultrapassam o valor de referência, em ppm, ou que a concentração de algum nutriente é excessiva, deve escoar determinado volume da solução do tanque e compensar com adição de água (2 ações). Se numa leitura existirem dois ou mais motivos para escoar solução, deve fazer apenas um escoamento, de tal modo que o volume a escoar seja o mínimo necessário. No caso da regulação de PH, deve especificar se adiciona solução ácida ou básica, dependendo da leitura. Sempre que repuser um nutriente, a quantidade adicionada deve ser ótima para repor o valor de referência, considerando o volume de solução e a leitura.


Exemplo: considerando que a massa aproximada da solução é semelhante à da água, repor 7
ppm em 3 m3 de solução, requer 21 gramas.
O retorno desta função deve ser uma lista de ações, como por  exemplo:
[('inserir','agua',0.01,'m3'), ('inserir','nitrato de calcio',21,'g')]

Peço desculpa se este tópico fica um pouco fora do que discute no forum mas tinha que tentar perguntar se alguém consiga me dar uma ideia do que tinha de fazer, que já estou a dar em maluco.

Obrigado.

Edited by pwseo
formatado adequadamente

Share this post


Link to post
Share on other sites
pwseo

@Ruix35

O que tens feito até agora desse programa? Sem termos uma ideia de que dúvidas tens, é impossível ajudar-te.

Share this post


Link to post
Share on other sites
Dr_Lion

LI isso na diagonal, assim de repente parece-me que não tens nenhum conhecimento de python, sem isso esquece pois ninguém te vai fazer o programa. VAis ter que aprender a programar em python, mas não desanimes porque é fácil.

 

Quanto à abordagem para teres o teu programa a funcionar, vais precisar de um ficheiro, ou uma base de dados para guardar os dados! Ao invés de ser o utilizador a inserir dados, podes utilizar sensores e automatizar o processo.

Se o programa estiver a correr sobre ambiente linux, podes usar a crontab para agendar quando queres que o programa corra, de minuto a minuto, hora a hora, etc...

O programa deve ler os valores dos sensores e depois tomar as decisões a agir baseado nos valores lidos anteriormente!

Sugiro-te desenvolver o programa segmentado em pedaços e desenvolves um de cada vez, não queiras fazer tudo ao mesmo tempo. Senão a tendência é olhar, parecer demasiado complicado, e impossível de concretizar.

Quanto á representação gráfica não tenho experiência mas sei que leva algum tempo... Será mais fácil(rápido) uma representação aScii num terminal..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.