2 interrupciones con switch nivel agua

Buenas:

Tengo un switch para detectar cuaando hay agua y cuando no. Me gustaría añadir dos interrupciones una cuando se queda sin agua y la otra cuando se está rellenando.

Cuando se queda sin agua un led parpadea y cuando se rellena el led se apaga.

Me han comentado que utilizando interrupciones ahorraría en consumo.

la interrupcion LOW Y la interrupcion RISING me las pilla pero las dos a la vez en el código no hay manera.

Alguna idea?

#include <JeeLib.h> //para bajo consumo
int pinLedRojo = 6;
int pinDeposito = 13;

void setup() {
attachInterrupt(0, RellenandoDeposito, RISING);///cuando pasa de low a high osease cuando se rellena el deposito de agua
attachInterrupt(0, DepositoSinAgua, LOW);//cuando pasa de high a low osease cuando deja de haber agua
pinMode(pinDeposito, INPUT);
pinMode(pinLedRojo, OUTPUT);
Serial.begin(9600);
}
// the loop function runs over and over again until power down or reset
void loop() {

}

void RellenandoDeposito()
{

digitalWrite(pinLedRojo, HIGH);
}

void DepositoSinAgua()
{
digitalWrite(pinLedRojo, HIGH);
}

Puedes asignar la interrupción de la siguiente forma:

attachInterrupt(0, CambioEstadoDeposito, CHANGE);

De esa forma, la interrupción salta cambiar de high a low o low a high. Entonces en tu función CambioEstadoDeposito lees el pin y llamas a la función correspondiente a high o low.

Hola:

¿Te reiferes como indica la imagen de abajo?

Saludos.

Efectivamente, habría que saber qué esquema de conexiones está realizando, pues del código inicial yo deduje que el pin de interrupción 0 sólo cambia de high a low o de low a high cuando se alcanza uno de los dos niveles (lleno o vacío), aunque eso requeriría un circuito electónico más elaborado.

Para el esquema que sugiere Metaconta, se supone que esos dos sensores irían conectados a los pines 2 y 3 (en arduino uno o mega), y entonces se podrían asignar dos interrupciones distintas para cada pin.

 attachInterrupt(0, RellenandoDeposito, RISING);///cuando pasa de low a high osease cuando se rellena el deposito de agua
 attachInterrupt(1, DepositoSinAgua, FALLING);//cuando pasa de high a low osease cuando deja de haber agua

Pero ya lo resolvimos usando lecturas de los pines simples. No hace falta usar interrupciones para controlar una boya, por favor!!!!!!!!
Las interrupciones estan para cosas mas importantes.
Ahora si las quiere usar que las use.

Hola:

Puedes poner un tercer sensor unos cm más arriba del superior como seguridad. No hace falta interrupción.

De todas maneras no hace falta Arduino para hacerlo.

Fuente:

Saludos.