diumenge, 23 de juny del 2013

Connectar un interruptor de mercuri a l'Arduino

El nom del sensor fins on sé és KY-017. El sensor és d'aquest pack de sensors (els teniu tots catalogats aquí)

Aquest sensor amb un nom tant rimbombant és en realitat ben senzill d'entendre, dins d'un tub de vidre hi ha una gota de mercuri que es mou lliurement i dos borns. Així, quan està vertical i cap a munt, la gota cau i fa contacte, en canvi quan està a baix els borns no es toquen.

Connexió

El sensor té només 3 pins:
  1. GND: directe al de l'Arduino
  2. +5V: directe al de l'Arduino
  3. S: que indica si els borns estan en contacte, és connecta al pin digital que es vulgui de l'Arduino (per exemple al 7)
Connexió del sensor

El sensor a més ve equipat amb un led vermell que ens indica si està els bors estan en contacte o no, pel que és força fàcil de veure si s'està connectant o bé o no.

Codi d'exemple

A l'exemple he connectat un led extra al pin 13 que s'ilumina quan els borns NO estan en contacte (al contrari del que fa el led que porta el propi sensor).

int led = 13;//led 
int mercury = 7;//interruptor de mercuri

void setup() {                
  pinMode(led, OUTPUT);
  pinMode(mercury, INPUT);
}
 
void loop() {
  int mercuryState = digitalRead(mercury);
  if (mercuryState == HIGH) {        
    digitalWrite(led, HIGH);  
  } else {
    digitalWrite(led, LOW); 
  }
}

Poso un petit vídeo del sensor funcionant.