#include <NewPing.h>
#define TRIG_PIN 2 // Pin de trigger para el sensor ultrasónico
#define ECHO_PIN 3 // Pin de echo para el sensor ultrasónico
#define MAX_DISTANCE 200 // Distancia máxima a considerar para la medición en centímetros
#define MEASURE_INTERVAL 1000 // Intervalo de medición en milisegundos
#define DETECTION_THRESHOLD 100 // Umbral de detección en centímetros
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); // Inicializamos el sensor ultrasónico con NewPing
int peopleCount = 0; // Variable para contar personas
void setup() {
Serial.begin(9600); // Inicialización de la comunicación serial a 9600 baudios
}
void loop() {
int distance = sonar.ping_cm(); // Utiliza la función ping_cm() de NewPing para medir la distancia en centímetros
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
// Ajusta el valor de distancia según tu configuración y necesidades
if (distance < DETECTION_THRESHOLD) {
// Al detectar a alguien a menos de 100 cm, cuenta a la persona
peopleCount++;
Serial.print("Person entered. Total count: ");
Serial.println(peopleCount);
delay(500); // Evita contar varias veces a la misma persona por un breve periodo
}
delay(MEASURE_INTERVAL); // Intervalo de medición
}