Nuevamente solicitando ayuda a alguna alma caritativa referente a la implementacion de una Bascula digital. He podido recibir datos , pero sigo teniendo problemas con la interpretacion de la informacion. Si alguien me quire ayudar hay que tener en cuenta que la bascula envia una cadena continua de 6 caracteres ascii segun el manual,"
The ASCII data format is “=, X1, X2, X3, X4, X5, X6”
=, X1, X2, X3, X4, X5, X6
X1, X2, X3, X4, X5, X6 are weight data.
pero en realidad recibo 8 asi:
comienza con 0,X1,X,X3,X4,X5,X6,191. Mi problema es como hacer para que la adena me de un dato medible en Kg , Teniendo en cuenta que el formato que envia la bascula por ejemplo paa expresar 10.000 Kg seria X1=1, X2=0, X3=. y asi para sucesibamente, pero en realidad los datos que obtengo son los de la imagen. Bueno en realiad no soy programador y me gustaria que alguein que le entienda a esto me pueda hechar una mano
este es el codigo que tengo hasta ahora:
#include "LCD4884.h"
#include <Wire.h>
#include <NewSoftSerial.h>
NewSoftSerial mySerial(8, 9);
int led=13;
int incomingByte = 0; // almacenar el dato serie
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600); // usar como debugging
mySerial.begin(9600);
Wire.begin();
lcd.LCD_init();
lcd.LCD_clear();
}
char cadena[10];
char buf[10];
void loop() // run over and over again
{
if (Serial.available() >0) {
memset(buf, 0, sizeof(buf));
cadena[incomingByte]= Serial.read();
delay(100);
Serial.println(incomingByte);
sprintf(buf, "%d", (byte)incomingByte);
lcd.LCD_write_string(0, 1, "Rerecibido: ", MENU_NORMAL);
lcd.LCD_write_string_big(25, 3, buf, MENU_NORMAL);
}
}