Trastejant

Crea, comparte, aprende y disfruta

Librería SoftPWM

PWM

Cualquier placa de Arduino nos provee de una buena cantidad de salidas PWM, pero a veces para determinados proyectos necesitamos aún más (si queremos controlar muchos servomotores, o la intensidad de distintos juegos de luces, por ejemplo). Para cubrir esta necesidad existe la librería SoftPWM, que es capaz de convertir cualquier pin digital de Arduino en una salida PWM.

Lo único que tenemos que hacer es descargar la librería SoftPWM e instalarla (si no sabes cómo aquí te lo explicamos), ahora veamos todas las posibilidades que nos ofrece esta librería:

SoftPWMBegin([defaultPolarity])

Inicializa la librería y define la polaridad del pin, aunque esto último es opcional.

Parámetros (opcionales)

  •  SOFTPWM_NORMAL
  • SOFTPWM_INVERTED

SoftPWMSet(pin, valor)

Permite indicar que pin queremos utilizar y el valor que queremos sacar por él.

Parámetros

  •  pin: es el pin que queremos utilizar
  • valor: es el valor que queremos enviar por este pin. Podemos enviar cualquier valor entre 0 y 255 ambos inclusives.

SoftPWMSetPercent(pin, porcentaje)

También podemos indicar la salida que queremos en porcentaje utilizando softPWMSetPercent.

Parámetros

  •  pin: es el pin que queremos usar cómo salida
  •  porcentaje: el porcentaje entre 0 y 100 que queremos enviar por la salida

SoftPWMSetFadeTime(pin, fadeUpTime, fadeDownTime)

Si lo que queremos hacer es aumentar y reducir progresivamente el valor que estamos enviando por el PWM esta función nos permite hacerlo de forma sencilla y cómoda.

Parámetros

  •  pin: El pin que queremos usar cómo salida
  •  fadeUpTime: el tiempo en milisegundos que queremos utilizar para llegar de 0 a 255. (Entre 0 y 4000)
  •  fadeDownTime: Tiempo en milisegundos que queremos utilizar para llegar de 255 a 0. (Entre 0 y 4000)

SoftPWMSetPolarity(pin, polaridad)

Esta función permite cambiar la polaridad del pin que estamos utilizando.

Parámetros

  •  pin: El pin que queremos utilizar cómo salida
  • polaridad: polaridad que queremos darle al pin

Ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include  
 
void setup(){ 
 SoftPWMBegin(); 
 
 SoftPWMSet(13, 0); 
 
 SoftPWMSetFadeTime(13, 1000, 1000); 
} 
 
void loop(){ 
 SoftPWMSet(13, 255); 
 delay(1000); 
 SoftPWMSet(13, 0); 
 delay(1000); 
}

También te puede interesar...

No hay temas relacionados

Una respuesta a “Librería SoftPWM”

  1. MACR dice:

    es compatible con pinguino?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.