LusoRobótica - Robótica em Português
Robótica => Projectos de robótica => Tópico iniciado por: MiguelAFA em 15 de Junho de 2016, 23:26
-
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);
}
-
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ê?
-
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.
-
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....