La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga.
Por ejemplo si le aplicamos PWM a un LED podemos variar su intensidad de brillo y si le aplicamos un PWM a un motor DC logramos variar la velocidad del mismo con la característica de mantener su par (fuerza) constante.
Por ejemplo si le aplicamos PWM a un LED podemos variar su intensidad de brillo y si le aplicamos un PWM a un motor DC logramos variar la velocidad del mismo con la característica de mantener su par (fuerza) constante.
#define LED 9
int i = 0;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
for(i = 0; i < 255; i=i+1) {
analogWrite(LED, i);
delay(10);
}
for(i = 255; i > 0; i=i-5) {
analogWrite(LED, i);
delay(10);
}
}
Otra opción
void loop() { for (brightness = 0; brightness <= 255; brightness += 5) { analogWrite(9, brightness); delay(30); // Wait for 30 millisecond(s) } for (brightness = 255; brightness >= 0; brightness -= 5) { analogWrite(9, brightness); delay(30); // Wait for 30 millisecond(s) } }
Otra opción
This example shows how to fade an LED on pin 9 using the analogWrite() function. This example code is in the public domain. */ int led = 9; // the pin that the LED is attached to int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by // the setup routine runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(led, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; // reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } // wait for 30 milliseconds to see the dimming effect delay(30); }
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.