Capturar datos seriales en mi arduino y enviarlos a a pc

Compañeros tengo un problemilla, echenme una mano,lo que pasa es que estoy recibiendo continuamente en mi arduino uno, una cadena de datos de peso desde una balanza externa y los reboto hacia la pc, los datos que recibo son los siguientes:

ST,GS 3.200KG ST,GS 10.000KG ST,GS 2.500KG ST,GS 5.650KG ST,GS 5.000KG ST,GS 5.000KG, etc

mi problema esta en como podria capturar una sola fila de peso presionando un boton y enviarla hacia la pc(ejm. ST,GS 2.500KG). De momento hice este codigo pero no me funciona.

const int pinLed = 3;
const int pinBtn = 2;

int encender = 0;
int anterior = 0;
int estado = 0;
//////////////////////////////////////////////////

void setup()  
{  

///////////rutina pulsar boton//////////////
// pinMode(pinLed, OUTPUT);
//pinMode(pinBtn, INPUT); 
//////////////////////////////////////////////////



void loop()  


{ 
  //////////////////////rutina pulsar boton////////////////////////////////////

 estado = digitalRead(pinBtn);

if(estado && anterior == 0)
{
  encender = 1;
  delay(30);
}

anterior = estado;

if(encender){

char rx = Serial.read();
    Serial.print(rx);
      
  }  
  digitalWrite(pinLed, LOW);
  encender = 0;
}

la rutina para leer del puerto serie esta mal. Busca los ejemplos de comunicaciones del IDE y verás que son muy diferentes. Ahi solo estas leyendo 1 caracter.

bueno voy a empaparme un poco de esto amigo, muchas gracias, volvere a responder..si me ayudarias un poco con un ejemplo podria guiarme mucho mas compañero..

Ya te di el ejemplo. En tu IDE vas a Ejemplos y luego Commincations y luego tienes muchos ejemplos.

si no solucionaste el problema, se un poco mas especifico y al punto, y podria ayudarte haciendo o pasando un codigo que te ayude.

JhonBond007: si no solucionaste el problema, se un poco mas especifico y al punto, y podria ayudarte haciendo o pasando un codigo que te ayude.

Tranquilo, tu primer mensaje y ya pierdes la paciencia. El código lo tiene en el IDE ejemplos o buscando en internet Arduino serial input data

Hola amigo , :slight_smile: ,…… puedes tomar varios caminos uno de ellos revisa lo que te esta mandando tu báscula o el dispositivo que tengas, al final de cada linea recibida en el serial te debe estar mandando un carácter de terminación (10) o (13) puedes usar el metodo readStringUntil que captura una cadena hasta que llegue un carácter de terminación que tu le asignes, así capturas lo que venga completamente sin tanto lio… si usas este modo no olvides ponerle un timeout revisa lo doc…

La logica seria

if(Serial.Available){
CapturaCadena =Serial.readStringUntil(10);
}
if(botonPresionado == true){
Serial.println(CapturaCadena);
}

String CapturaCadena;

CapturaCadena =Serial.readStringUntil('\r');
o
CapturaCadena =Serial.readStringUntil('\n');

Consulta
https://www.arduino.cc/en/Serial/ReadStringUntil

Te puede ayudar con estos aportes.

Enlaces:
[TUTORIAL] Encender y apagar un Led con Arduino y Visual Studio

[TUTORIAL] Lecturas de entradas digitales con Arduino y Visual Studio .net

Saludos.