Movimiento
This content is not available in your language yet.
Sensores de movimiento y orientación. Emiten data (periódico) y change (al
cambiar). La mayoría requiere elegir el chip con controller.
Accelerometer (acelerómetro)
Sección titulada «Accelerometer (acelerómetro)»new five.Accelerometer({ controller, ... }). Mide aceleración en los ejes (incluida
la gravedad), de donde se derivan la inclinación y la orientación.
Controllers: ANALOG (default; requiere pins y a veces sensitivity/zeroV),
MPU6050, BNO055, ADXL335, ADXL345, MMA7361, MMA8452, MMA7660, LIS3DH,
LSM303C, ESPLORA.
Propiedades
| Propiedad | Qué devuelve |
|---|---|
x, y, z | aceleración por eje (en g) |
pitch, roll | inclinación en grados |
acceleration | magnitud total |
inclination | ángulo de inclinación |
orientation | orientación discreta (−3..3) |
Métodos (devuelven el objeto): hasAxis(eje) → bool si el chip mide ese eje;
enable() / disable().
Eventos
| Evento | Qué recibe |
|---|---|
data | { x, y, z } |
change | { x, y, z } |
acceleration | la magnitud (número) |
orientation | la orientación (número) |
inclination | la inclinación (número) |
tap, tap:single, tap:double | sin payload (golpes detectados) |
const acc = new five.Accelerometer({ controller: "MPU6050" });acc.on("change", () => { varG.x = acc.x; varG.y = acc.y; varG.z = acc.z;});acc.on("tap:double", () => { varG.doblegolpe = Date.now(); });Gyro (giroscopio)
Sección titulada «Gyro (giroscopio)»new five.Gyro({ controller, ... }). Mide velocidad angular (cuánto gira).
Controllers: ANALOG (default; requiere sensitivity, da error si falta),
MPU6050, BNO055.
Propiedades: x, y, z (ángulo acumulado), rate → { x, y, z } (grados/s),
pitch / roll / yaw ({ rate, angle }), isCalibrated (bool).
Métodos: recalibrate() → vuelve a calibrar (pone isCalibrated en false hasta
recalibrar).
Eventos: data → { x, y, z }; change → { x, y, z } (tras calibrarse).
const gyro = new five.Gyro({ controller: "MPU6050" });gyro.on("change", () => { varG.giroX = gyro.rate.x; // grados/s});Compass (brújula)
Sección titulada «Compass (brújula)»new five.Compass({ controller }). Da el rumbo magnético. Requiere controller.
Controllers: HMC5883L, HMC6352, MAG3110, LSM303C, BNO055.
Propiedades: heading (rumbo en grados), bearing ({ name, abbr, low, high, heading } — el punto cardinal), raw ({ x, y, z }).
Métodos: disable() → detiene las lecturas.
Eventos: data → { heading }; change → { heading }; calibrated →
{ x, y, z } (solo MAG3110).
const brujula = new five.Compass({ controller: "HMC5883L" });brujula.on("change", () => { varG.rumbo = brujula.heading; // grados varG.cardinal = brujula.bearing.abbr; // p. ej. "NE"});Orientation (orientación absoluta)
Sección titulada «Orientation (orientación absoluta)»new five.Orientation({ controller }). Da la orientación ya fusionada (Euler y
cuaternión). Solo el controller BNO055.
Propiedades: euler → { heading, roll, pitch }; quarternion →
{ w, x, y, z }.
Eventos: data → { euler, quarternion, calibration }; change → igual;
calibration → el estado de calibración (número).
const orient = new five.Orientation({ controller: "BNO055" });orient.on("change", () => { varG.heading = orient.euler.heading;});IMU (unidad inercial / agrupador)
Sección titulada «IMU (unidad inercial / agrupador)»new five.IMU({ controller }) (también disponible como five.Multi). Agrupa en un
solo objeto varios sub-sensores del mismo chip y los expone como propiedades.
Controllers y qué sub-sensores aportan:
| Controller | Sub-sensores |
|---|---|
MPU6050 | accelerometer, gyro, thermometer |
BNO055 | accelerometer, gyro, magnetometer, orientation, thermometer |
BME280 | altimeter, barometer, hygrometer, thermometer |
BMP280 / BMP180 / MS5611 | altimeter, barometer, thermometer |
SHT31D / HTU21D / SI7020 / TH02 | hygrometer, thermometer |
Accedes a cada sub-sensor como propiedad: imu.accelerometer, imu.gyro,
imu.thermometer, etc. Cada uno funciona como su componente individual.
Propiedades: isReady (bool; true cuando todos los sub-sensores reportaron al
menos una vez), más una propiedad por cada sub-sensor; en BNO055, isCalibrated.
Métodos: enable() / disable().
Eventos
| Evento | Cuándo | Qué recibe |
|---|---|---|
data | periódico (si isReady) | el propio IMU (lees imu.accelerometer.x, etc.) |
change | cuando cambia un sub-sensor | (imu, componente) — el IMU y cuál sub-sensor cambió |
calibration / calibrated | solo BNO055 | estado de calibración / sin payload |
const imu = new five.IMU({ controller: "MPU6050" });imu.on("change", () => { varG.acelX = imu.accelerometer.x; varG.temp = imu.thermometer.celsius;});