Skip to content

frvn directo

This content is not available in your language yet.

frvn directo es la API de bajo nivel del protocolo frvn. Trabajas con la placa “a pelo” a través del objeto board: pines, lecturas analógicas, PWM, I2C… Da control fino y cubre casos que no tienen un componente de alto nivel.

A diferencia de frvn componentes, aquí el estilo es por eventos: las lecturas se entregan a un callback que se dispara cuando hay dato nuevo.

// Salida
board.pinMode(13, board.MODES.OUTPUT);
board.digitalWrite(13, board.HIGH); // o board.LOW
// Entrada (el callback se dispara cuando el pin cambia)
board.pinMode(2, board.MODES.INPUT);
board.digitalRead(2, (value) => {
varG.boton = value === board.HIGH;
});
// El callback se dispara periódicamente; value va de 0 a 1023.
board.analogRead(0, (value) => { // 0 = A0
varG.lectura = value;
});
board.pinMode(9, board.MODES.PWM);
board.analogWrite(9, 128); // 0–255
board.pinMode(9, board.MODES.SERVO);
board.servoWrite(9, 90); // grados

Recuerda configurar el bus al inicio (el código es autocontenido):

board.i2cConfig(0);
// Escribir registro/valor
board.i2cWrite(0x68, [0x6B, 0x00]);
// Leer N bytes una vez
board.i2cReadOnce(0x68, 6, (data) => {
// data: arreglo de bytes
varG.crudo = data;
});

Los DHT se leen con board.dhtRead(pin, tipo, callback). El tipo es 11 o 22 según tu sensor. Cada llamada dispara una medición (no reporta solo), así que para muestrear se llama periódicamente:

function leerDht() {
board.dhtRead(2, 22, ({ temperature, humidity }) => {
varG.temperatura = temperature;
varG.humedad = humidity;
pushData("temperaturas", temperature);
});
}
setInterval(leerDht, 2000); // una medición cada 2 s
  • board.HIGH / board.LOW — niveles digitales.
  • board.MODES — modos de pin: INPUT, OUTPUT, ANALOG, PWM, SERVO, I2C
frvn directo (board)frvn componentes (five)
NivelBajo (pines, eventos)Alto (objetos)
EstiloCallbacksMétodos y eventos
CuándoControl fino, casos sin componenteIr rápido

Puedes mezclar ambos en el mismo boardCode: usa componentes para lo común y baja a board cuando necesites algo específico.