Ir al contenido

frvn directo

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.