// Incluimos la librería para ESP32
#include <Arduino.h>
// RGB LED pins
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
// Define PWM channels
const int redChannel = 0;
const int greenChannel = 1;
const int blueChannel = 2;
// Define PWM frequency and resolution
const int freq = 5000; // se generan pulsos de 5 KHz => 200 us
const int resolution = 8; // valores de 0 a 255
// La función setup() inicializa los canales PWM con la frecuencia y resolución especificadas
// luego asocia los pines del LED a sus respectivos canales PWM.
void setup() {
// Set up PWM channels
ledcSetup(redChannel, freq, resolution);
ledcSetup(greenChannel, freq, resolution);
ledcSetup(blueChannel, freq, resolution);
// Attach pins to corresponding PWM channels
ledcAttachPin(redPin, redChannel);
ledcAttachPin(greenPin, greenChannel);
ledcAttachPin(bluePin, blueChannel);
}
// Con el periférico LEDC (control de LED) se generan las señales PWM
// En la función loop() se muestran varios colores
void loop() {
ledcWrite(redChannel, 0);
ledcWrite(greenChannel, 255);
ledcWrite(blueChannel, 255);
delay(1000);
ledcWrite(redChannel, 255);
ledcWrite(greenChannel, 255);
ledcWrite(blueChannel, 0);
delay(1000);
}