https://github.com/adnksharp/ino-pir
Uso de sensores infrarrojos en Arduino
https://github.com/adnksharp/ino-pir
arduino-sketch
Last synced: about 1 year ago
JSON representation
Uso de sensores infrarrojos en Arduino
- Host: GitHub
- URL: https://github.com/adnksharp/ino-pir
- Owner: adnksharp
- Created: 2022-07-02T02:15:17.000Z (almost 4 years ago)
- Default Branch: base
- Last Pushed: 2022-08-18T04:50:51.000Z (almost 4 years ago)
- Last Synced: 2024-12-20T16:20:24.435Z (over 1 year ago)
- Topics: arduino-sketch
- Language: C++
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# PIR
[](https://postimg.cc/KR4WXy6p)
Uso de un sensor de infrarojo para detectar movimiento.
## Hardware y software necesarios
- Placa de desarrollo Arduino.
- Sensor de infrarojo PIR.
- [Arduino IDE](https://www.arduino.cc/en/software) o [Arduino CLI](https://arduino.github.io/arduino-cli/0.23/installation/).
## Funcionamiento
### Variables
- ```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``` y ```cache```: variables para almacenar el valor del sensor y el valor anterior.
### Funcionamiento
Dentro de unafunción ```PIR```, se realiza una lectura del sensor de infrarojo:
- La variable ```out``` almacena el valor de ```cache```.
- Si la lectura actual del sensor es un ```1```, se indica que el sensor detectó movimiento, de ser así, ```out``` se pone en ```1``` y ```state``` en ```0```.
- 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 en ```0```.
- Después de revisar lo anterior, el valor de ```state``` se pone en ```0``` para evitar que el valor de ```Go``` se actualice.
- El valor de ```cache``` se actualiza con el valor de ```out```.
- La función ```PIR``` devuelve el valor de ```out```.
Dentro del funcionamiento del microcontrolador, ```led``` se pone en ```PIR()``` (**0** o **1**) usando la función ```digitalWrite```.