Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda programação C


joaoperez55

Pergunta

Boa noite a todos!!
 
Estou fazendo um trabalho da faculdade, onde preciso apresentar um projeto (hardware e software utilizando linguagem C). Estou utilizando o Atmel Studio 7.
 
Defini que meu projeto seria um irrigador para plantas, utilizando um Arduino Mega 2560.
Neste momento, já tenho um código escrito, mas estou com alguns problemas:
 
1 – Quando ocorre a mudança no valor da umidade do solo, e consequentemente acontece a mudança do intervalo especificado nas condições SE, o LED da condição anterior não se apaga.
2 – Quando o valor da umidade do solo está constante, não há variação, tanto o LED quanto a mensagem no visor LCD ficam piscando.
 
Como posso solucionar estes problemas?
 
O código completo pode ser encontrado através do link https://gist.github.com/joaoperez55/f0781c023d980bf2e33c0e884a5547ac
 
Segue abaixo o princípio de funcionamento do meu projeto:
 
Primeiramente deve ser realizada a leitura do nível do reservatório de água. Se o nível estiver inferior a um determinado valor, uma mensagem será mostrada no visor LCD e um LED branco ficará piscando. Caso o valor da leitura do sensor de nível do tanque seja superior ao valor determinado, o programa deverá seguir para a próxima análise, que é a verificação da umidade do solo.
 
Se a umidade do solo (leitura através de um sensor) for menor do que 300, uma mensagem será mostrada no visor LCD e um LED amarelo ficará acesso. Este LED somente irá apagar quando esta condição não for atendida.
 
Se a umidade do solo (leitura através de um sensor) for maior ou igual 300 e menor do que 700, uma mensagem será mostrada no visor LCD e um LED verde ficará acesso. Este LED somente irá apagar quando esta condição não for atendida.
 
Se a umidade do solo (leitura através de um sensor) for maior ou igual a 700, uma mensagem será mostrada no visor LCD e um LED vermelho ficará acesso. Este LED somente irá apagar quando esta condição não for atendida.
 
Enquanto a umidade do solo for maior ou igual a 700, uma mensagem será mostrada no visor LCD, um LED azul ficará acesso e um módulo relê será chaveado para acionar a bomba que irá irrigar a planta. Tudo isso ficará acionado por um período determinado no programa, 10 segundos. Após estes 10 segundos, será necessário aguardar 1 minuto para que o solo possa absorver a água, e então uma nova leitura da umidade do solo deve ser realizada, e caso a umidade ainda esteja maior ou igual a 700, esta rotina deve ser repetida.
 
Desde já, obrigado pela ajuda!
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...