Semáforo inteligente xd

Proyecto de la escuela en el cual haremos un semáfaro programando las luces leds para que enciendan con una señal del censor.

// Definición de los pines para cada color
const int ledRojo = 2;
const int ledAmarillo = 3;
const int ledVerde = 4;

void setup() {
  // Configuramos los pines como salidas
  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
}

void loop() {
  // 1. Encender el LED Verde (3 segundos)
  digitalWrite(ledVerde, HIGH);
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledRojo, LOW);
  delay(3000);

  // 2. Encender el LED Amarillo (1 segundo)
  digitalWrite(ledVerde, LOW);
  digitalWrite(ledAmarillo, HIGH);
  digitalWrite(ledRojo, LOW);
  delay(1000);

  // 3. Encender el LED Rojo (3 segundos)
  digitalWrite(ledVerde, LOW);
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledRojo, HIGH);
  delay(3000);
}

Your project lacks a sensor.

Add...

const int button = 5; // a sensor - PIN >> BUTTON N.O. >> BUTTON N.O.  >> GND

then in setup()...

  pinMode(button, INPUT_PULLUP); // RELEASED = HIGH, PRESSED = LOW

then in loop() AFTER green HIGH/yellow LOW/red LOW...

  while (digitalRead(button)) {} // wait for button

This will wait for the button to be pressed to cycle yellow, then red, then back to green.

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @fvsv.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Y similar para ESP32 con TFT...

diagram.json for wokwi
{
  "version": 1,
  "author": "xfpd",
  "editor": "wokwi",
  "parts": [
    {
      "type": "board-esp32-devkit-c-v4",
      "id": "esp",
      "top": -1.66,
      "left": -73.1,
      "rotate": 90,
      "attrs": {}
    },
    {
      "type": "wokwi-ili9341",
      "id": "lcd1",
      "top": -196.7,
      "left": -56.4,
      "rotate": 90,
      "attrs": {}
    },
    { "type": "wokwi-vcc", "id": "vcc1", "top": -143.24, "left": -134.4, "attrs": {} },
    {
      "type": "wokwi-pushbutton",
      "id": "btn1",
      "top": 67.1,
      "left": 109.1,
      "rotate": 90,
      "attrs": { "color": "green", "xray": "1" }
    }
  ],
  "connections": [
    [ "esp:TX", "$serialMonitor:RX", "", [] ],
    [ "esp:RX", "$serialMonitor:TX", "", [] ],
    [ "lcd1:GND", "esp:GND.1", "black", [ "h-9.6", "v124.8", "h48" ] ],
    [ "lcd1:VCC", "lcd1:LED", "red", [ "h-19.2", "v67.21" ] ],
    [ "lcd1:MOSI", "esp:23", "green", [ "v-0.01", "h-28.8", "v201.6", "h182.4" ] ],
    [ "lcd1:MISO", "esp:15", "magenta", [ "v-0.01", "h-28.8", "v172.8", "h48" ] ],
    [ "lcd1:SCK", "esp:18", "blue", [ "v-0.01", "h-28.8", "v192", "h115.2" ] ],
    [ "lcd1:D/C", "esp:2", "yellow", [ "h-28.8", "v211.2", "h57.6" ] ],
    [ "lcd1:RST", "esp:4", "gold", [ "h-28.8", "v220.8", "h76.8" ] ],
    [ "lcd1:CS", "esp:5", "orange", [ "h-28.8", "v230.4", "h105.6" ] ],
    [ "vcc1:VCC", "lcd1:VCC", "red", [ "v0" ] ],
    [ "esp:5V", "lcd1:LED", "red", [ "v0.15", "h-9.6", "v-76.8" ] ],
    [ "esp:GND.2", "btn1:1.r", "black", [ "v9.6", "h19.2" ] ],
    [ "btn1:2.l", "esp:14", "green", [ "v-9.6", "h-182.6" ] ]
  ],
  "dependencies": {}
}