Go Down

Topic: error sensor efecto hall (Read 69 times) previous topic - next topic

manuelanomechilles

Bueno dias,
 En el siguiente codigo el sensor de efecto hall(sensor de caudal) se lee con un digital Read,pero al implantarlo me he ddo cuenta que fisicamente puede quedarse activo y detectar que esta pasando un fluido sin que lo este. como puedo discriminarlo?
Code: [Select]


int electrovalvula = 13;
int sensor = 2;
unsigned long tempo = 5000;
unsigned long millisInicioHigh = 0;
int estadosensor = LOW;

void setup()
{
 pinMode(electrovalvula,OUTPUT); 
 pinMode(sensor, INPUT);
 digitalWrite(electrovalvula, HIGH);
}

void loop()
{

 unsigned long currentMillis = millis(); // tomamos millis
 estadosensor = digitalRead(sensor); // y estado del sensor
 if (estadosensor == LOW) { // si el sensor no está activo
 millisInicioHigh=currentMillis; // llevamos cero milisegundos transcurridos en high (reseteamos contador)
 } else { // si por el contrario el sensor está activo
 if ((currentMillis - millisInicioHigh) >= tempo) { // vemos cuánto tiempo lleva activo, y si es superior a tempo
 digitalWrite(electrovalvula, LOW); //apagamos electroválvula
 for (;;); // y bucle infinito hasta reset
 }
 }
}




Muchisimas gracias y un saludo.

surbyte

#1
Apr 02, 2015, 04:39 pm Last Edit: Apr 02, 2015, 04:42 pm by surbyte
Porque abres otro enlaces que usa el mismo código que Noter te sugirió?
Donde esta el enlace del sensor de efecto hall, que sensor? es digital o es analógico?
el código esta bien, comprueba con un polímetro si entrega valores digitales 0 o 5Volt, comprueba que ocurre cuando debe detectar si es por low o por high.

Aca esta, esto se considera doble post

Go Up