https://github.com/adnksharp/ino-hcsrs04
Medir distancia con el sensor HC-SR04 y Arduino
https://github.com/adnksharp/ino-hcsrs04
arduino-sketch
Last synced: 10 months ago
JSON representation
Medir distancia con el sensor HC-SR04 y Arduino
- Host: GitHub
- URL: https://github.com/adnksharp/ino-hcsrs04
- Owner: adnksharp
- Created: 2022-06-28T22:56:21.000Z (almost 4 years ago)
- Default Branch: base
- Last Pushed: 2022-08-12T18:28:13.000Z (almost 4 years ago)
- Last Synced: 2024-12-22T06:58:07.549Z (over 1 year ago)
- Topics: arduino-sketch
- Language: C++
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# HC-SR04
[](https://postimg.cc/Wd9jZqqW)
Leer distancias usando el sensor ultrasonico [HC-SR04](https://www.luisllamas.es/medir-distancia-con-arduino-y-sensor-de-ultrasonidos-hc-sr04/).
## Hardware y software necesarios
- Placa de desarrollo Arduino
- Sensor ultrasonico HC-SR04
- [Arduino IDE](https://www.arduino.cc/en/software) o [Arduino CLI](https://arduino.github.io/arduino-cli/0.23/installation/)
## Funcionamiento
### Variables
- ```Sensor```: Vector que contiene los pines a los que se conecta el sensor.
- ```Sensor[0]```: Pin de salida (Trigger al pin 5 del microcontrolador).
- ```Sensor[1]```: Pin de entrada (Echo al pin 6 del microcontrolador).
- ```Out```: Estado de ```Sensor[0]```.
- ```mdelay```: Vector que contiene el tiempo en microsegundos que el programa permanecera pausado mientras ```Sensor[0]``` esté en alto o bajo.
- ```c``` e ```i```: Variables usadas para bucles for.
- ```Time```: Tiempo que el pin ```Sensor[1]``` tarda en recibir el pulso de ```Sensor[0]```.
- ```Dist```: Distancia actual leida.
- ```Cache```: Distancia anterior.
- ```Trash```: Vector usado para leer el promedio de varios tiempos leidos.
### Funcionamiento
Dentro de un bucle se leen 13 veces el tiempo que tarda **Echo** en leer el pulso de **Trigger**:
- Dentro de un bucle se pone el Pin **Sensor[0]** en ```Out``` (0 o 1) ```mdelay``` microsegundos.
- Usando [```pulseIn()```](https://www.arduino.cc/reference/en/language/functions/advanced-io/pulsein/) se lee el tiempo que tarda el pin **Sensor[1]** en recibir la señal de **Sensor[0]** en la variable ```Time```.
- Usando

se calcula la distancia en cm para cambiar la variable ```Time``` a distancia en cm.
Si la distancia cambia respecto a la lectura anterior, se imprime la distancia en pantalla.
[](https://postimg.cc/mct4yZQb)
###### Fuente: [Luis Llamas](https://www.luisllamas.es/medir-distancia-con-arduino-y-sensor-de-ultrasonidos-hc-sr04/)