interrupteur-tilt.ino
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);
}