Uso de un sensor de infrarojo para detectar movimiento.
- Placa de desarrollo Arduino.
- Sensor de infrarojo PIR.
- Arduino IDE o Arduino CLI.
pir
: pin digital del sensor de infrarojo.led
: pin digital del LED integrado.Delay
: tiempo de espera para el sensor de infrarojo en milisegundos.Go
: variable que indica cuando el sensor detecta movimiento.out
,state
ycache
: variables para almacenar el valor del sensor y el valor anterior.
Dentro de unafunción PIR
, se realiza una lectura del sensor de infrarojo:
-
La variable
out
almacena el valor decache
. -
Si la lectura actual del sensor es un
1
, se indica que el sensor detectó movimiento, de ser así,out
se pone en1
ystate
en0
. -
Si la lectura actual del sensor es un
0
:- Se revisa si el valor de
state
es 0. Esto indica que el sensor acaba de detectar movimiento, de ser así,Go
almacena el tiempo actual. - Se revisa si han pasado
Delay
milisegundos desde el momento en que el sensor detectó movimiento. Si es así,out
se pone en0
. - Después de revisar lo anterior, el valor de
state
se pone en0
para evitar que el valor deGo
se actualice.
- Se revisa si el valor de
-
El valor de
cache
se actualiza con el valor deout
. -
La función
PIR
devuelve el valor deout
.
Dentro del funcionamiento del microcontrolador, led
se pone en PIR()
(0 o 1) usando la función digitalWrite
.