Relájate. No te preocupes. Estos pines se llaman PWM
y son los mismos que los otros pines, excepto tienen una "bonificación añadida".
Algunos usos de sitio web de Arduino :
- atenuando un LED
- Simula una salida analógica. La salida aún se conmuta digitalmente de 0V a 5V. Sin embargo, el filtro de paso bajo (condensador y resistencia) simula voltajes analógicos.
- Generando señales de audio.
- Proporcionar control de velocidad variable para motores.
- Generar una señal modulada, por ejemplo, para controlar un LED infrarrojo para un control remoto.
Cómo funciona:
Los pines PWM están controlados por temporizadores en el chip que alternan los pines automáticamente a una velocidad de aproximadamente 490Hz. La "Modulación de ancho de pulso" (PWM) es el tiempo que el pin permanece encendido o apagado durante un solo ciclo de esa frecuencia. Esto puede atenuar un LED al dar la ilusión de que está a la mitad del brillo que antes, donde realmente está parpadeando muy rápidamente.
Cuandohayunciclodetrabajodel25%,estáenuncuartodeltiempo.SiusaraparaunLED,apareceríaaproximadamente1/4comobrillante[darorecibir].(Nota:comoalgunaspersonasseñalaronqueestonoesverdaderamenteperodejémosloasíporsimplicidad.EX:25%nosiemprees1/4delbrillo).
(Sieresrealmenteexpertoenelectricidad,probablementepuedasagregaruncondensadorparaquetambiénseaunasalidaanalógica).
Cómousarestospinesparagenerar:
Primero,necesitasdefinirelpincomosalida.Entonces,usas%código%paraempezarElanalogWrite(ledPin,128);
eselpinPWMquedeseainiciarPWMyledPin
debereemplazarseconunnúmeroentre128
y0
;255
:0
(desactivacompletamenteelpin)y0%dutycycle
:255
.(enciendeelpinporcompleto)
Fuente: enlace
¿Por qué no puedo encender y apagar la luz realmente rápido en mi código ?:
Técnicamente, puedes, sin embargo, hay algunos problemas:
- Puede que no sea tan preciso como usar los circuitos cableados con el Arduino
- Es más simple simplemente escribir instrucciones en lugar de tener muchas declaraciones "if"
Realmente no va a hacer una gran diferencia si el único propósito del Arduino es generar señales PWM. Sin embargo, si coloca demoras de más de 50 MS en el bucle principal, desordenará el tiempo. Con el enfoque de software, querría eliminar cualquier función de "retraso" ya que Arduino solo se ejecuta en un hilo (solo puede hacer una cosa a la vez). Si sabe lo que está haciendo, no habrá mucha diferencia al atenuar la luz, pero si tiene un pin adicional con PWM, está perdiendo el tiempo con un enfoque de software.
Como han señalado otros:
Todavía necesita una resistencia para que sus circuitos limiten la corriente y el voltaje. No puedes saltarte esto.