- volver al inicio »
- sensores de presencia, humedad..
Una vez que ya sabemos cómo conectar los sensores de tres y cuatro patillas, vamos con el código. Recuerda instalar la librería si es necesario.
Un ejemplo de un detector de presencia podría ser este
int ledPin = 13; // pin donde conectamos el LED
int inputPin=2; // pin digital del sensor PIR
int movimiento = LOW; // variable movimiento. Empieza como LOW
int val = 0; // variable del pin. Empieza como cero
int calibrationTime=30; // valor que consultamos en la datasheet del sensor
void setup() {
pinMode(ledPin, OUTPUT); // definimos pinLED, y decimos que es una salida
pinMode(inputPin, INPUT); // definimos inputPin, y decimos que es una entrada
Serial.begin(9600); // activamos el monitor serial
Serial.print("calibrando... ");
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
digitalWrite(ledPin, HIGH); // creamos un parpadeo de LED durante el calibrado
delay(50);
digitalWrite(ledPin, LOW);
delay(1000);
}
Serial.println(" Sensor Calibrado"); // ya hemos calibrado (hemos llegado a 30 seg)
delay(50);
}
void loop(){
val = digitalRead(inputPin); // leemos si hay movimiento
if (val == HIGH) { // si lo hay
digitalWrite(ledPin, HIGH); // encendemos el LED
if (movimiento == LOW) {
Serial.println("Movimiento detectado!");
// sólo imprimimos en caso de cambio
movimiento = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // apagamos el LED
if (movimiento == HIGH){
Serial.println("No hay movimiento!");
movimiento = LOW;
}
}
}