interrupteur-tilt.ino

LilyPad Arduino · Fichier : interrupteur-tilt.ino · Langage : Arduino · Usage : Détecter l'inclinaison avec un switch à bille cousu

Le switch à bille ferme le contact selon l'orientation : parfait pour un collier qui réagit quand on le retourne ou un gilet qui détecte la chute. La bille rebondit — d'où la double lecture et le petit délai.

Matériel requis

Une LilyPad Arduino (ATmega168V/328V, 8 MHz, 3,3 V) avec ses pastilles à coudre, programmée par câble FTDI (breakout) et alimentée par 3,7 V (LiPo) ou 5 V sur V-REG. 1 switch à bille (SW-200D) + fil conductif.

Branchement

Une patte sur la broche 3, l'autre sur GND ; la résistance de tirage est interne.

Fonctionnement

Chaque changement stable bascule l'état de la LED et l'affiche. En couture, prévoyez des pastilles espacées pour éviter les courts-circuits avec le fil. Dans l'Arduino IDE, choisissez « LilyPad Arduino » et le port FTDI, puis Téléverser. Le fil conductif crée des résistances de quelques ohms : gardez les courtes distances et isolez les croisements.

Pour aller plus loin

Comptez les bascules sur une minute pour estimer l'activité, ou combinez avec un accéléromètre I2C.

interrupteur-tilt.ino

// Switch a bille (tilt) sur la broche 3, LED sur 13.
const int TILT = 3;
const int LED = 13;

bool etat = false;
bool precedent = HIGH;

void setup() {
  pinMode(TILT, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  bool lu = digitalRead(TILT);
  if (lu != precedent && digitalRead(TILT) == lu) { // petit anti-rebond
    etat = !etat;
    digitalWrite(LED, etat ? HIGH : LOW);
    Serial.println(etat ? F("Incline") : F("A plat"));
  }
  precedent = lu;
  delay(10);
}

← Retour à la fiche