Descubrí que todo lo que obtengo en el boceto p5.js como lectura en serie es un valor (52) menos el segundo valor (48) y luego lo multiplico por 10. Esto equivaldría a 40, que es la salida en serie establecida en el Arduino. Estoy usando la aplicación p5.serialcontrol para crear una conexión desde el navegador al puerto serie:
let serial; function setup() { createCanvas(400, 400); serial = new p5.SerialPort(); serial.open("COM3"); } function draw() { background(220); let data = serial.read(); console.log(data);// prints 48 then 52 repeateadly }Todos los valores digitales y las señales digitales son solo bits, que se pueden representar e interpretar como números (por ejemplo, binario, octal, decimal o hexadecimal). Incluso los caracteres de texto suelen almacenarse y transmitirse como bits. ASCII es una de las tablas de traducción más comunes entre caracteres y valores numéricos.
48 es el valor ASCII para el carácter '0' y 52 es el valor ASCII para el carácter '4' . El Arduino envía la cadena "40" en un bucle y el otro lado recibe los valores numéricos ASCII 48 y 52 en un bucle.
El otro lado no conoce el tipo de datos. Solo recibe bits. Tiene que decirle al programa que interprete estos bits como caracteres codificados en ASCII.