Pero antes voy a explicar como funcionan estos sensores. Este tipo de sensores funciona con unas pequeñas bolas metálicas en su interior que al moverse en función de la inclinación, abre o cierra el contacto.
Os voy a poner una imagen de las conexiones.
Como podéis ver he usado dos sensores de inclinación, cada una con su resistencia. El LED verde lo he conectado al PIN 12 y el LED rojo al PIN 11.
Ahora os voy a mostrar la imagen de los bloques.
Recto → Izquierda.
Inclinado→ Derecha.
He creado dos variables que son "derecha" e "izquierda" y los he puesto en leer pasador digital 4 y en leer pasador analógico 2. Si los dos sensores están inclinados cada uno en un lado diferente, no se enciende ningún LED. Sin embargo, si los dos sensores están inclinados a la derecha se enciende el LED rojo y si no pues no se enciende. Y si los dos sensores se inclinan a la izquierda, pues se enciende el LED verde.
Aquí tenéis el código de los bloques.
int derecha = 0;
int izquierda = 0;
void setup()
{
pinMode(3, INPUT);
pinMode(2, INPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop()
{
derecha = digitalRead(3);
izquierda = digitalRead(2);
if (derecha == izquierda) {
digitalWrite(11, LOW);
digitalWrite(12, LOW);
} else {
if (derecha == 0) {
digitalWrite(11, HIGH);
} else {
digitalWrite(11, LOW);
}
if (izquierda == 0) {
digitalWrite(12, HIGH);
} else {
digitalWrite(12, LOW);
}
}
delay(10); // Delay a little bit to improve simulation performance
}
Ha sido todo por hoy, hasta la próxima.