0% encontró este documento útil (0 votos)
147 vistas3 páginas

Int SensorPin

El documento presenta el código para controlar un led conectado a un pin de salida de Arduino mediante la detección de movimiento por parte de un sensor PIR conectado a un pin de entrada. El código define las variables y los pines de entrada y salida, establece el modo de los pines, calibra el sensor PIR, y en el bucle principal lee el valor del sensor PIR y enciende o apaga el led según si detecta o no movimiento respectivamente.

Cargado por

Victor HR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
147 vistas3 páginas

Int SensorPin

El documento presenta el código para controlar un led conectado a un pin de salida de Arduino mediante la detección de movimiento por parte de un sensor PIR conectado a un pin de entrada. El código define las variables y los pines de entrada y salida, establece el modo de los pines, calibra el sensor PIR, y en el bucle principal lee el valor del sensor PIR y enciende o apaga el led según si detecta o no movimiento respectivamente.

Cargado por

Victor HR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

int sensorPin=11; // declaramos el sensor PIR en el pin 11

int val = 0; //variable para asignar la lectura del sensor PIR

void setup()
{
pinMode(ledPin, OUTPUT); //El pin 12 del arduino lo asignamos como
salida para el led
pinMode(sensorPin, INPUT); //El pin 11 lo asignamos como entrada
para la seal del sensor
Serial.begin(9600);
for(int i = 0; i < 30; i++) //Utilizamos un for para calibrar el
sensor depende del tipo de sensor que
utilicemos va a cambiar el tiempo de calibracin
{
delay(1000);
}
delay(50);
}
void loop()
{
val = digitalRead(sensorPin); //Lee el valor de la variable (val)

if (val == HIGH) //Si detecta que hay movimiento manda activar el led
que hay conectado en el pin 12 del arduino
{
digitalWrite(ledPin, HIGH);
}

else //Si la condicin anterior no se cumple manda apagar el led


{
digitalWrite(ledPin, LOW);
}
}
if(digitalRead(PIR) == HIGH){
digitalWrite(bombilla, HIGH);
if(apagado){
apagado = false;
delay(50);
}
tiempoApagado = true;
}

// Si el sensor PIR detecta LOW


if(digitalRead(PIR) == LOW){
digitalWrite(bombilla, LOW);
if(tiempoApagado){
// Guarda el tiempo de la transicion de Encendido a LOW
bajoImp = millis();
// Aseguramos que esto solo lo hace una vez cuando se pone a LOW
tiempoApagado = false;
}

// Si el sensor supera el tiempo de espera sin recibir nada.


if(!apagado && millis() - bajoImp > pausa){
// Apgamos
apagado = true;
delay(50);
}
}

// Tiempo para que el sensor se calibre


int TiempoCalibrar = 30;

// Tiempo cuando el sensor no emite impulsos


long unsigned int bajoImp;

// Tiempo que va a estar el sensor esperando que no haya movimiento para


determinar que hay que apagarse
long unsigned int pausa = 10000;

boolean apagado = true;


boolean tiempoApagado;

// Pin en el que vamos a conectar el sensor PIR


int PIR = 8;

//int valorDelSensor;
int bombilla = 9;
void

Serial.begin(9600);
pinMode(PIR, INPUT);
digitalWrite(PIR, LOW);
pinMode(bombilla, OUTPUT);

// Sensor PIR calibrando


for(int i = 0; i < TiempoCalibrar; i++){
delay(1000);
}
Serial.println("Calibrado correctamente");
delay(50);

También podría gustarte