Codigos LED
Codigos LED
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(115200);
Serial.println("ESP32 LED Blink Iniciado");
}
void loop() {
digitalWrite(LED_PIN, HIGH);
Serial.println("LED encendido");
delay(tiempoEncendido);
digitalWrite(LED_PIN, LOW);
Serial.println("LED apagado");
delay(tiempoApagado);
}
2. Dimming LED
// Definición de pines
const int potPin = 34; // Pin del potenciómetro (GPIO34 - ADC1_6)
const int ledPin = 2; // Pin del LED (GPIO2 - LED integrado en la placa)
void loop() {
// Leer el valor del potenciómetro (0-4095)
potValue = analogRead(potPin);
3. Speed Led
// Definición de pines
const int LED_PIN = 2; // Pin del LED
const int POT_PIN = 34; // Pin del potenciómetro
void setup() {
// Configurar el canal PWM
ledcSetup(LED_CHANNEL, FREQ, RESOLUTION);
void loop() {
// Leer el valor del potenciómetro (0-4095)
int potValue = analogRead(POT_PIN);
4. Timing LEDS
// Definición de pines
const int led1 = 2; // Primer LED (GPIO2 - LED integrado)
const int led2 = 4; // Segundo LED (GPIO4)
void setup() {
// Configurar pines como salidas
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
// Patrón sincronizado
void patronSincronizado() {
// Ambos LEDs parpadean juntos pero con diferentes duraciones
for(int i = 0; i < 3; i++) {
// Encender ambos
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(400);
void loop() {
patronLed1(); // Patrón individual del LED 1
patronLed2(); // Patrón individual del LED 2
patronAlternado(); // Patrón alternado entre ambos LEDs
patronSincronizado(); // Patrón sincronizado
}
5. Button LED
// Definición de pines
const int LED_PIN = 2; // LED integrado en la placa
const int BUTTON_PIN = 4; // Pin para el pulsador
// Variables
int buttonState = 0;
int ledState = LOW;
void setup() {
// Configurar pines
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// Leer estado del pulsador
buttonState = digitalRead(BUTTON_PIN);
6. Touch LED
// Define los pines que vamos a usar
const int LED_PIN = 2; // Pin para el LED
const int TOUCH_PIN = 4; // Pin táctil T0 (GPIO4)
void setup() {
// Inicializa el monitor serial
Serial.begin(115200);
// Mensaje inicial
Serial.println("Iniciando sensor touch...");
Serial.println("Valor del THRESHOLD: " + String(THRESHOLD));
}
void loop() {
// Lee el valor del sensor táctil
int touchValue = touchRead(TOUCH_PIN);
delay(100);
}
7. Aline Counter
#define LED0 13 // LSB
#define LED1 12
#define LED2 14
#define LED3 27
#define LED4 26
#define LED5 25
#define LED6 33
#define LED7 32 // MSB
const int leds[] = {LED0, LED1, LED2, LED3, LED4, LED5, LED6, LED7};
const int NUM_LEDS = 8;
const int DELAY_TIME = 1000;
int contador = 0;
void setup() {
for(int i = 0; i < NUM_LEDS; i++) {
pinMode(leds[i], OUTPUT);
digitalWrite(leds[i], LOW);
}
Serial.begin(115200);
Serial.println("Alien Counter Iniciado");
}
void loop() {
mostrarNumero(contador);
contador++;
delay(DELAY_TIME);
}
void efectoReinicio() {
for(int i = 0; i < 3; i++) {
for(int j = 0; j < NUM_LEDS; j++) {
digitalWrite(leds[j], HIGH);
}
delay(200);
8. Street Lights
#define LED_ROJO 13
#define LED_AMARILLO 12
#define LED_VERDE 14
Serial.begin(115200);
Serial.println("Semaforo Iniciado");
apagarTodos();
}
void loop() {
luzVerde();
delay(TIEMPO_VERDE);
luzAmarilla();
delay(TIEMPO_AMARILLO);
luzRoja();
delay(TIEMPO_ROJO);
}
void luzRoja() {
digitalWrite(LED_ROJO, HIGH);
digitalWrite(LED_AMARILLO, LOW);
digitalWrite(LED_VERDE, LOW);
Serial.println("Luz Roja");
}
void luzAmarilla() {
digitalWrite(LED_ROJO, LOW);
digitalWrite(LED_AMARILLO, HIGH);
digitalWrite(LED_VERDE, LOW);
Serial.println("Luz Amarilla");
}
void luzVerde() {
digitalWrite(LED_ROJO, LOW);
digitalWrite(LED_AMARILLO, LOW);
digitalWrite(LED_VERDE, HIGH);
Serial.println("Luz Verde");
}
void apagarTodos() {
digitalWrite(LED_ROJO, LOW);
digitalWrite(LED_AMARILLO, LOW);
digitalWrite(LED_VERDE, LOW);
}
void setup() {
// Configurar pines del motor como salidas
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
void loop() {
// Leer el valor del potenciómetro (0-4095)
int potValue = analogRead(potPin);
10. Robot
// Definición de pines para LEDs
const int ENA = 2; // LED a
const int IN1 = 4; // LED b
const int IN2 = 5; // LED c
const int ENB = 12; // LED d
const int IN3 = 13; // LED e
const int IN4 = 14; // LED f
const int RED = 15; // LED g
const int GREEN = 23; // LED h (cambiado de 16 a 23)
// Función de configuración
void setup() {
// Configurar pines de LEDs como salidas
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
// Configurar pines de entrada con resistencias pull-up
pinMode(L, INPUT_PULLUP);
pinMode(F, INPUT_PULLUP);
pinMode(R, INPUT_PULLUP);
pinMode(SW, INPUT_PULLUP);
}
// Función Adelante
void Adelante() {
digitalWrite(ENA, HIGH);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
// Función Giro_Der
void Giro_Der() {
digitalWrite(ENA, HIGH);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
// Función Giro_Izq
void Giro_Izq() {
digitalWrite(ENA, HIGH);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
// Función Reversa
void Reversa() {
digitalWrite(ENA, HIGH);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
// Función Detener
void Detener() {
digitalWrite(ENA, LOW);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(ENB, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void loop() {
// Verificar estado del interruptor SW
if (digitalRead(SW) == HIGH) { // SW abierto
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
Detener();
} else { // SW cerrado
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH);
// Verificar pulsadores
if (digitalRead(L) == LOW) { // Pulsador L presionado
Detener();
delay(2000);
Giro_Der();
delay(5000);
Adelante();
}
else if (digitalRead(F) == LOW) { // Pulsador F presionado
Detener();
delay(2000);
Giro_Der();
delay(5000);
Adelante();
}
else if (digitalRead(R) == LOW) { // Pulsador R presionado
Detener();
delay(2000);
Giro_Izq();
delay(5000);
Adelante();
}
else { // Ningún pulsador presionado
Adelante();
}
}
}