Entradas
This content is not available in your language yet.
Componentes que leen el mundo. Todos son emisores de eventos: escuchas con
.on("evento", manejador).
Button (botón)
Sección titulada «Button (botón)»new five.Button(pin) o new five.Button({ pin, holdtime, pullup, pulldown, invert }).
Botón digital con anti-rebote y detección de “mantener pulsado”.
Opciones
| Opción | Significado |
|---|---|
pin | Pin del botón. |
holdtime | ms que hay que mantener pulsado para disparar hold (default 500). |
pullup | true activa la resistencia pull-up interna (default false). |
pulldown | true activa la resistencia pull-down interna (default false). |
invert | invierte la lógica pulsado/suelto. Con pullup se invierte solo. |
Propiedades: isDown (bool, si está pulsado), value (0/1).
Eventos (ninguno lleva payload)
| Evento | Cuándo se dispara |
|---|---|
down (alias press) | al pulsar |
up (alias release) | al soltar |
hold | mientras sigue pulsado, cada holdtime ms |
const boton = new five.Button(2);
boton.on("down", () => { varG.pulsado = true; });boton.on("up", () => { varG.pulsado = false; });boton.on("hold", () => { varG.mantenido = true; });Con pull-up interna (botón entre el pin y GND, sin resistencia externa):
const boton = new five.Button({ pin: 2, pullup: true });boton.on("down", () => { varG.pulsado = true; }); // la inversión la maneja el componenteSwitch (interruptor)
Sección titulada «Switch (interruptor)»new five.Switch(pin) o new five.Switch({ pin, type, invert }). Modela abierto /
cerrado (un interruptor de palanca, un reed, etc.).
Opciones: type — "NO" (normalmente abierto, default) o "NC" (normalmente
cerrado); invert — invierte la lógica.
Propiedades: isOpen (bool), isClosed (bool), value (0/1).
Eventos
| Evento | Cuándo | Qué recibe el manejador |
|---|---|---|
open | al quedar abierto | la propia instancia del Switch |
close | al quedar cerrado | la propia instancia del Switch |
const sw = new five.Switch(7);sw.on("close", (s) => { varG.cerrado = s.isClosed; });sw.on("open", (s) => { varG.cerrado = s.isClosed; });Sensor (sensor genérico analógico/digital)
Sección titulada «Sensor (sensor genérico analógico/digital)»new five.Sensor("A0") o new five.Sensor({ pin, freq, range, limit, threshold, type }).
Es el componente más usado para entradas analógicas (potenciómetros, LDR, etc.). Filtra
ruido por mediana y emite de forma periódica.
Opciones
| Opción | Significado |
|---|---|
pin | Pin (analógico como "A0", o digital). |
type | "analog" (default) o "digital". |
freq | ms del intervalo de emisión de data (default 25). |
range | [min, max] del rango crudo esperado (default [0, resolución]). |
limit | [inferior, superior] para disparar eventos limit (default ninguno). |
threshold | cambio mínimo (±) respecto al último valor para emitir change (default 1). |
Propiedades
| Propiedad | Qué devuelve |
|---|---|
raw | último valor crudo leído (0–1023 en analógico) |
value | valor escalado si hay escala activa; si no, el crudo |
scaled | valor según la escala fijada con scale() |
analog | crudo mapeado a 0–255 |
constrained | crudo acotado a 0–255 |
boolean | true si supera el umbral medio (o el fijado con booleanAt) |
resolution | resolución del conversor (p. ej. 1023) |
freq | intervalo de emisión (se puede reasignar) |
Métodos (devuelven el sensor salvo scaleTo/fscaleTo)
| Método | Qué hace |
|---|---|
scale(low, high) o scale([low, high]) | fija el rango al que se mapea value/scaled |
scaleTo(low, high) | devuelve el crudo mapeado (entero) a [low, high] sin alterar el sensor |
fscaleTo(low, high) | igual que scaleTo pero con decimales |
booleanAt(umbral) | fija el punto que separa boolean true/false |
within(rango, unidad?, cb) | llama cb(null, valor) en cada data solo si la propiedad unidad (default "value") cae dentro de rango |
enable() / disable() | reanuda / detiene las lecturas |
Eventos
| Evento | Cuándo | Qué recibe |
|---|---|---|
data | cada freq ms | el valor (mediana redondeada en analógico; crudo en digital) |
change | cuando el valor cambia más que threshold | el valor |
limit | cuando el crudo cruza limit[0] o limit[1] | objeto { boundary: "lower" | "upper", value } |
limit:lower | al cruzar el límite inferior | el valor |
limit:upper | al cruzar el límite superior | el valor |
const pot = new five.Sensor("A0");
// "change": solo cuando cambia el valorpot.on("change", () => { varG.crudo = pot.value; // 0–1023 varG.porcentaje = pot.scaleTo(0, 100); // re-mapeado a 0–100});
// "data": de forma periódica, útil para muestrearpot.on("data", () => { pushData("lecturas", pot.value);});Disparar algo al cruzar un límite:
const luz = new five.Sensor({ pin: "A1", limit: [100, 900] });luz.on("limit:lower", () => { varG.oscuro = true; });luz.on("limit:upper", () => { varG.oscuro = false; });Pin (acceso directo a un pin)
Sección titulada «Pin (acceso directo a un pin)»new five.Pin(pin) o new five.Pin({ pin, type, mode, freq }). Es el componente de
más bajo nivel dentro de five: un pin pelado. (Para control fino normalmente es más
cómodo el objeto board.)
Opciones: pin (o addr), type ("analog"/"digital"), mode/as (modo
inicial: 0 INPUT, 1 OUTPUT, 2 ANALOG, 3 PWM, 4 SERVO), freq (ms del sondeo de
lectura, default 20).
Propiedades: value (último valor), mode (modo actual, reasignable), type,
addr, isHigh/isLow (bool, en pines digitales).
Métodos (devuelven el pin): high() (pone a alto), low() (pone a bajo),
write(valor) (escribe, pasa a OUTPUT), read(cb) (pone en lectura y llama
cb(null, valor) en cada ciclo), query(cb) (consulta el estado al hardware; cb
recibe el objeto del pin).
Eventos
| Evento | Cuándo | Qué recibe |
|---|---|---|
high | el pin pasa a alto (en sondeo de entrada) | value |
low | el pin pasa a bajo | value |
change | cambia el estado | value |
data | en cada ciclo de sondeo | value |
const pin = new five.Pin(2);pin.read((err, valor) => { varG.estado = valor;});