const int pwmPin = 15; // GPIO15
void setup() {
pinMode(pwmPin, OUTPUT); // Configura el pin GPIO15 como salida
}
void loop() {
// Genera una señal PWM variable en el pin GPIO15
for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle++) {
analogWrite(pwmPin, dutyCycle); // Escribe el ciclo de trabajo (duty cycle)
delay(10); // Espera un tiempo antes de cambiar el ciclo de trabajo
}
delay(1000); // Espera un segundo antes de repetir el ciclo
}
Este código configura el pin GPIO15 como una salida digital y utiliza analogWrite para simular una señal PWM. analogWrite toma un valor de ciclo de trabajo entre 0 y 255, donde 0 es apagado y 255 es encendido al máximo. El bucle principal ajusta gradualmente el ciclo de trabajo para variar la intensidad del LED (o cualquier dispositivo) conectado al pin GPIO15.
Recuerda que esta técnica de software para simular PWM no es tan precisa como el hardware PWM proporcionado por ledc, pero puede ser útil en situaciones simples donde no se requiere una alta precisión en la señal PWM.