fase 1 — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by dacerquinll.

Components

Sketch code

// Definición de pines para el controlador L293D
const int enable1Pin = 25; // EN1 (Enable del Motor A)
const int in1Pin = 26;     // IN1 (Dirección 1)
const int in2Pin = 27;     // IN2 (Dirección 2)

// Definición de pin para el sensor infrarrojo Grove IR
const int irSensorPin = 34; // Pin de entrada digital (GPIO 34)

// Definición de pines para LEDs indicadores
const int ledVerde = 18; // Faja en marcha
const int ledRojo = 19;  // Faja detenida

void setup() {
  // Configurar pines del motor como salidas
  pinMode(enable1Pin, OUTPUT);
  pinMode(in1Pin, OUTPUT);
  pinMode(in2Pin, OUTPUT);

  // Configurar pines de LEDs como salidas
  pinMode(ledVerde, OUTPUT);
  pinMode(ledRojo, OUTPUT);

  // Configurar pin del sensor como entrada
  pinMode(irSensorPin, INPUT);

  // Habilitar el canal del driver L293D
  digitalWrite(enable1Pin, HIGH);

  // Iniciar comunicación serial para depurar
  Serial.begin(115200);
}

void loop() {
  // Leer el estado del sensor (LOW cuando hay objeto, HIGH cuando no hay)
  int sensorState = digitalRead(irSensorPin);

  if (sensorState == LOW) {
    // Objeto detectado: Detener la faja
    digitalWrite(in1Pin, LOW);
    digitalWrite(in2Pin, LOW);

    // Indicadores: LED Rojo Encendido, Verde Apagado
    digitalWrite(ledRojo, HIGH);
    digitalWrite(ledVerde, LOW);

    Serial.println("Faja DETENIDA");
  } else {
    // Vía libre: Avanzar la faja transportadora
    digitalWrite(in1Pin, HIGH);
    digitalWrite(in2Pin, LOW);

    // Indicadores: LED Verde Encendido, Rojo Apagado
    digitalWrite(ledVerde, HIGH);
    digitalWrite(ledRojo, LOW);

    Serial.println("Faja EN MARCHA");
  }

  delay(100); // Pequeña pausa para estabilizar lecturas
}

More projects by dacerquinll