Salidas (actuadores)
This content is not available in your language yet.
Componentes que actúan sobre el mundo: encienden, mueven, suenan. Casi todos sus métodos devuelven el propio objeto (encadenables) y no emiten eventos, salvo donde se indica.
new five.Led(pin) o new five.Led({ pin, controller, isAnode }).
Opciones
| Opción | Significado |
|---|---|
pin | Pin del LED. Para brightness/pulse/fade debe ser un pin PWM. |
isAnode | true si el LED es de ánodo común (invierte la lógica on/off). Default false. |
controller | DEFAULT (pin directo) o PCA9685 (driver PWM por I2C). |
Propiedades: value (último valor escrito), isOn (bool), isRunning (si hay
una animación activa como blink/pulse).
Métodos (todos devuelven el LED)
| Método | Qué hace |
|---|---|
on() / off() / toggle() | enciende / apaga / alterna |
brightness(0–255) | fija el brillo (pin PWM) |
intensity(0–100) | brillo en porcentaje |
blink(ms = 100, cb) | parpadea cada ms; cb se llama en cada cambio |
pulse(ms = 1000, cb) | latido suave (PWM); cb al completar cada ciclo |
fade(valor, ms, cb) | transición hasta valor en ms; cb al terminar |
fadeIn(ms, cb) / fadeOut(ms, cb) | sube/baja a tope/cero |
stop() | detiene la animación (no apaga; usa off() para apagar) |
Eventos: no emite.
const led = new five.Led(13);led.blink(500); // parpadea cada 500 ms
// En un pin PWM, latido suave:const led9 = new five.Led(9);led9.pulse(1000);Led.RGB
Sección titulada «Led.RGB»new five.Led.RGB([rPin, gPin, bPin]) o new five.Led.RGB({ pins: [r, g, b] }) (o
pins: { red, green, blue }).
Opciones: pins (los tres pines, PWM), isAnode (ánodo común, default false),
controller (DEFAULT, PCA9685, BLINKM, ESPLORA).
Propiedades: isOn, isRunning, values (objeto con los canales), isAnode.
Métodos (devuelven el objeto)
| Método | Qué hace |
|---|---|
color(valor) | fija el color. Acepta hex ("#ff0000"), nombre CSS ("red"), array [r,g,b], objeto {red,green,blue} o tres números r, g, b. Sin argumentos, devuelve el color actual. |
on() / off() / toggle() | enciende (último color) / apaga / alterna |
blink(ms = 100, cb) | parpadea |
pulse(ms = 1000, cb) | latido suave |
intensity(0–100) | brillo global en porcentaje |
stop() | detiene la animación |
Eventos: no emite.
const rgb = new five.Led.RGB([9, 10, 11]);rgb.color("#00ff88"); // verde azuladorgb.blink(1000);Led.Matrix (matriz de LEDs)
Sección titulada «Led.Matrix (matriz de LEDs)»new five.Led.Matrix({ pins: { data, clock, cs }, devices }). Controla matrices de
LEDs 8×8 (chip MAX7219/MAX7221). Hereda de LedControl. pins también acepta el
array [data, clock, cs]; devices es el número de matrices encadenadas (default 1).
Métodos (el primer parámetro addr es el índice de la matriz cuando hay varias;
en una sola, 0)
| Método | Qué hace |
|---|---|
on(addr) / off(addr) | enciende / apaga el display |
brightness(addr, 0–100) | ajusta el brillo |
draw(addr, caracter) | dibuja un carácter o un patrón de 8 bytes (una fila por byte) |
column(addr, col, valor) | enciende/apaga una columna entera con un byte |
led(addr, fila, col, estado) | enciende/apaga un LED concreto |
row(addr, fila, valor) | enciende/apaga una fila entera |
device(addr) | devuelve el estado interno de un device |
each(cb) | ejecuta cb por cada device encadenado |
five.Led.Matrix.CHARS trae un mapa de caracteres listos para draw. No emite eventos.
const matriz = new five.Led.Matrix({ pins: { data: 2, clock: 3, cs: 4 } });matriz.on(0);matriz.draw(0, five.Led.Matrix.CHARS[":"]); // dibuja un carácter del mapaLed.Digits (display de 7 segmentos)
Sección titulada «Led.Digits (display de 7 segmentos)»new five.Led.Digits({ pins: { data, clock, cs }, devices }). Igual que Led.Matrix
pero para displays numéricos de 7 segmentos (también MAX7219).
Métodos (además de on/off/brightness/device/each): print(texto) muestra
un texto/número; digit(addr, posicion, caracter) escribe en una posición concreta.
five.Led.Digits.CHARS trae el mapa de 7 segmentos. No emite eventos.
const display = new five.Led.Digits({ pins: { data: 2, clock: 3, cs: 4 } });display.on(0);display.print("1234");new five.Relay(pin) o new five.Relay({ pin, type }). Un relé abre/cierra un
circuito.
Opciones: type — "NO" (normalmente abierto, default) o "NC" (normalmente
cerrado; invierte la lógica).
Propiedades: value (0/1), isClosed (bool), type.
Métodos (devuelven el relé): close() (cierra el circuito = activa en un relé
NO), open() (abre = desactiva), toggle(). No emite eventos.
const rele = new five.Relay(8);rele.close(); // activarele.open(); // desactivanew five.Servo(pin) o new five.Servo({ ...opciones }). Posiciona un servo en un
ángulo y lo mantiene.
Opciones
| Opción | Significado |
|---|---|
pin | Pin de señal del servo. |
type | "standard" (default, posición por ángulo) o "continuous" (rotación continua). |
range | [min, max] en grados que se permiten (default [0, 180]). |
pwmRange | [minUs, maxUs] ancho de pulso en microsegundos para los extremos (default [600, 2400]). |
offset | corrección en grados sumada a cada movimiento (default 0). |
invert | invierte el sentido. |
startAt | ángulo inicial al crear el servo. |
center | si true, arranca centrado (90°). |
controller | DEFAULT (pin directo) o PCA9685 (driver por I2C). |
Propiedades: position (último ángulo, -1 si no se ha movido), last, history.
Métodos (devuelven el servo)
| Método | Qué hace |
|---|---|
to(grados, ms?, paso?) | va a grados. Con ms, anima el recorrido en ese tiempo. |
step(grados, ms?) | mueve relativo (suma grados a la posición actual). |
min() / max() / center() | va al extremo mínimo / máximo / al centro |
home() | va a la posición inicial (startAt o centro) |
sweep(rango?) | barre de extremo a extremo de forma continua. Acepta [min,max] u opciones de animación |
stop() | detiene un barrido o animación |
cw(velocidad) / ccw(velocidad) | gira en sentido horario / antihorario (solo type: "continuous", velocidad 0–1) |
Eventos
| Evento | Cuándo | Qué recibe |
|---|---|---|
move:complete | al terminar un movimiento animado de to()/sweep() | sin payload |
const servo = new five.Servo(9);servo.to(90); // al centroservo.on("move:complete", () => { varG.listo = true; });servo.to(0, 1000); // anima a 0° en 1 sESC (control de motor brushless)
Sección titulada «ESC (control de motor brushless)»new five.ESC(pin) o new five.ESC({ ...opciones }). Controla un variador
electrónico (motores de drones, etc.).
Opciones
| Opción | Significado |
|---|---|
pin | Pin de señal. |
pwmRange | [minUs, maxUs] ancho de pulso (default [1000, 2000]). |
neutral | punto neutro (reposo). |
device | "FORWARD" (default, solo adelante), "FORWARD_REVERSE" (con marcha atrás) o "FORWARD_BRAKE_REVERSE". |
controller | DEFAULT o PCA9685. |
Propiedades: device, pwmRange, neutral.
Métodos (devuelven el ESC): throttle(valor) — acelera; en FORWARD el valor es
un porcentaje 0–100, o microsegundos directos. brake() — lleva al punto neutro.
No emite eventos.
const esc = new five.ESC(6);esc.throttle(30); // 30 % de potenciaMotor (DC)
Sección titulada «Motor (DC)»new five.Motor(pin) o new five.Motor({ pins, controller, ... }). Motor de
corriente continua, con o sin control de dirección según el cableado.
Opciones: pins (objeto { pwm, dir, cdir?, brake?, enable? } según el driver),
controller (muchos drivers: DEFAULT, PCA9685, ADAFRUIT_V2, ARDUINO_MOTOR_SHIELD_R3_*, etc.),
invertPWM, threshold (velocidad mínima efectiva, default 30).
Propiedades: isOn (bool), currentSpeed (0–255), enabled (bool).
Métodos (devuelven el motor)
| Método | Qué hace |
|---|---|
start(velocidad?) | arranca a la velocidad dada (0–255) |
stop() | detiene (libre) |
brake(ms?) | frena activamente; opcional durante ms |
release() | suelta el freno |
forward(velocidad) / fwd | adelante (requiere control de dirección) |
reverse(velocidad) / rev | atrás |
speed(0–255) | fija la velocidad sin cambiar el estado |
enable() / disable() | habilita / deshabilita el driver |
Eventos (todos sin payload): start, stop, brake, release, forward,
reverse — se emiten al ejecutarse la acción correspondiente.
const motor = new five.Motor({ pins: { pwm: 3, dir: 12 } });motor.start(150);motor.on("stop", () => { varG.motor = "parado"; });Piezo (zumbador)
Sección titulada «Piezo (zumbador)»new five.Piezo(pin) o new five.Piezo({ pin, controller }).
Opciones: controller — DEFAULT (zumbador en un pin) o I2C_BACKPACK.
Propiedades: isPlaying (bool).
Métodos (devuelven el zumbador)
| Método | Qué hace |
|---|---|
note(nota, ms) | toca una nota (p. ej. "c4") durante ms |
frequency(hz, ms) | toca una frecuencia en hercios durante ms |
tone(tono, ms) | toca un tono (en la unidad interna) durante ms |
play(cancion, cb) | reproduce una melodía; cb al terminar |
off() / stop() | silencia |
La melodía de play es un objeto { song, tempo }, donde song es una lista de
pares [nota, beats] (la nota puede ser null para un silencio) y tempo marca la
velocidad. El manejador cb recibe la melodía al completarse. No emite eventos.
const piezo = new five.Piezo(3);piezo.frequency(440, 200); // 440 Hz durante 200 msShiftRegister (registro de desplazamiento)
Sección titulada «ShiftRegister (registro de desplazamiento)»new five.ShiftRegister([dataPin, clockPin, latchPin]) o
new five.ShiftRegister({ pins: { data, clock, latch, reset? }, size, isAnode }).
Amplía salidas con un chip 74HC595 (p. ej. displays de 7 segmentos).
Opciones: pins (data/clock/latch, y reset opcional), size (número de
registros encadenados, default 1), isAnode (para displays de ánodo común).
Propiedades: value (estado actual), isAnode.
Métodos (devuelven el registro): display(numeroOcadena) — muestra dígitos
(0–9) y puntos en un display de 7 segmentos; send(valor) — envía un byte/array de
bytes crudos; clear() — apaga todo; reset() — pulso de reset (lanza error si no
configuraste el pin reset). No emite eventos.
const sr = new five.ShiftRegister([2, 3, 4]); // data, clock, latchsr.send(0b10101010);