• Welcome to LusoRobótica - Robótica em Português.
 

Projecto de rega

Started by MiguelAFA, 15 de June de 2016, 23:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MiguelAFA

Boa noite, estou iniciar projecto de rega arduino e encontrei este projecto na internet achei engraçado, só que eu queria adicionar mais portas ao projecto (para meter mais motor/sensor rega) mas não tou a conseguir alguém sabe o que estou fazer de mal?



const int VAL_PROBE = 0; //Analog pin 0
const int MOISTURE_LEVEL = 250; // the value after the LED goes on

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  pinMode(7, OUTPUT);
}

void LedState(int state)
{
  digitalWrite(13,state);
}

void loop()
{
  int moisture = analogRead(VAL_PROBE);
 
  Serial.print("Moisture = ");
  Serial.println(moisture);
 
  if(moisture > MOISTURE_LEVEL)
  {
    LedState(HIGH);
    digitalWrite(7,HIGH);
  }
  else
  {
    LedState(LOW);
    digitalWrite(7,LOW);
  }
 
  delay(500);
}

fergas

Pelo que vejo, apenas tens uma entrada para leres a humidade através dum sensor, e em função desse valor é ou não activada uma saída ( pino 7) do arduino,  comandando um led. Nada mais do que isto. Creio que como está estará bem para o que  é suposto ser feito e não estás a fazer nada de mal. Se o  pretendido  é expandir as entradas e saídas, isso já não está bem nem mal. Simplesmente não está. Afinal pretendes especificamente o quê?

MiguelAFA

Quote from: fergas on 16 de June de 2016, 11:00
Pelo que vejo, apenas tens uma entrada para leres a humidade através dum sensor, e em função desse valor é ou não activada uma saída ( pino 7) do arduino,  comandando um led. Nada mais do que isto. Creio que como está estará bem para o que  é suposto ser feito e não estás a fazer nada de mal. Se o  pretendido  é expandir as entradas e saídas, isso já não está bem nem mal. Simplesmente não está. Afinal pretendes especificamente o quê?

add +2 sensor de humidade e 2 saidas... para meter regar 2 vasos com motor independentes.

fergas

Se é isso não estás a fazer nada mal simplesmente porque ainda não fizeste nada. Para o que pretendes tens de adicionar as entradas necessárias.

int moisture1 = analogRead(VAL_PROBE1);
int moisture2 = analogRead(VAL_PROBE2);


e mediante estas activar os leds e as saídas

  pinMode(x, OUTPUT); //para cada saída e ou led

e repetes o código substituíndo os nomes.

    if(moisture_x > MOISTURE_LEVEL)
  {
    LedState_x(HIGH);
    digitalWrite(pino,HIGH);
  }
  else
  {
    LedState_x(LOW);
    digitalWrite(pino,LOW);
  }


Para ficar"como deve ser " devias usar arrays para as variáveis e ciclos para funções repetidas como a leitura do ADC e a determinação das saídas....