/*=================Sketch pour sous-marin : interrupteur bistable à aimant pour un ATtiny85  ========================

/*=================La fonction interrupteur reed bistable ATtiny85  ========================
   Un interrupteur reed ils (magnétique) est cablé sur la Pin2 ainsi qu'une résistance de 10k (voir schéma).
   Un relais ou un MOSFET est cablé sur le Pin0 .
   Une présentation d'un aimant près de l'ils fait coller le relais (mise sous tension circuit RC) qui reste allumée en éloignant l'aimant.
   Une deuxième présentation de l'aimant fait retomber le relais.
================================================================================================*/



int rel = 0;               // Relais
int led = 4;               // Led
int inter = 2;             // interrupteur reed
int etat = 1;
int mem = 0;

void setup() {
  pinMode(led, OUTPUT);
  pinMode(rel, OUTPUT);
  pinMode(inter, INPUT);
  digitalWrite(led, LOW);
  digitalWrite(rel, LOW);
}

void loop() {
  int val = digitalRead(inter);

  if ((val == HIGH) && (mem == LOW)) {
    etat = 1 - etat;
    delay(10);                     // petit delai anti-rebonds
  }

  mem = val;

  if (etat == 0) {
    digitalWrite(led, HIGH); digitalWrite(rel, HIGH);
  } else {
    digitalWrite(led, LOW);  digitalWrite(rel, LOW);
  }
}