#include <NewPing.h>
// Configuración del sensor
#define TRIG_PIN 22
#define ECHO_PIN 23
#define MAX_DISTANCE 200 // cm
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
// Variable de estado
int estado = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
// Lectura de distancia
int distancia = sonar.ping_cm();
// Clasificación
if (distancia == 0) {
estado = 0;
}
else if (distancia > 20) {
estado = 1; // Caja chica
}
else if (distancia > 10 && distancia <= 20) {
estado = 2; // Caja mediana
}
else if (distancia <= 10) {
estado = 3; // Caja grande
}
// Switch - Case
switch (estado) {
case 1:
Serial.print("Caja CHICA - ");
Serial.print(distancia);
Serial.println(" cm");
break;
case 2:
Serial.print("Caja MEDIANA - ");
Serial.print(distancia);
Serial.println(" cm");
break;
case 3:
Serial.print("Caja GRANDE - ");
Serial.print(distancia);
Serial.println(" cm");
break;
default:
Serial.println("No se detecta caja");
break;
}
delay(500);
}