GolamMostafa:
1. You have worked with the following setup and you have seen the above reading on the Serial Monitor. Let us begin from here to understand the nature of the 'Transmission Frame' being sent by the Weighing Scale processor over the UART Port. Once the frame structure is known, we can easily develop our sketch for the UNO setup to catch the numerical value of the weight and save it into a variable.

2. Serial Monitor shows: +000.390 Kg; it means that the Serial Monitor (it is an ASCII device) has received the following ASCII data bytes from the Weighing Scale.
2B ASCII Code of +
30 ASCII Code of 0
30 ASCII Code of 0
30 ASCII Code of 0
2E ASCII Code of .
33 ASCII Code of 3
39 ASCII Code of 9
30 ASCII Code of 0
20 ASCII Code of Space
4B ASCII Code of K
67 ASCII Code of g
0D ASCII Code of CR (carriage Return)
0A ASCII Code of LF (line feed)
(CR and LF are the two components of new line ln)
3. From Step-2, it appears that there are 13 UART/ASCII Frames in one 'Transmission Frame' being sent by the Weighing Scale. Now, we have been able to make this information available without having the Technical Manual of the Weighing Scale.
4. Please upload the following sketch (tested by simulating the Weighing Scale by another UNO) in the UNO of the setup that follows the sketch. Place 390 gm weight on the pan of the weighing Scale. Check that the Serial Monitor shows: +000.390 Kg. Check with any other known weight.
#include<SoftwareSerial.h>
SoftwareSerial mySUART(2, 3); //SRX, STX
char myWeight[20] = "";
void setup()
{
Serial.begin(9600);
mySUART.begin(9600);
}
void loop()
{
if (mySUART.available() == 13)
{
for (int i = 0; i < 13; i++)
{
myWeight[i] = mySUART.read();
}
Serial.print(myWeight);
myWeight[20] = "";
}
}

**BTW:** Remember that Pin-2 of the 9-pin connector of the Weighing Scale will be connected with Pin-3 of the 9-pin connector of the RS232-TTL Converter Module.
**5.** Let us reconstruct the numerical value (000.390) of the weight from the received bytes which are now in the array named myWeight[].
//-----------------
intPart[0] = myWeight[1];
intPart[1] = myWeight[2];
intPart[2] = myWeight[3];
//----------------------
fracPart[0] = myWeight[5];
fracPart[1] = myWeight[6];
fracPart[2] = myWeight[7];
//----------------------
unsigned long intWt = atol(intPart);
unsigned long fracWt = atol(fracPart);
float fintWt = (float)intWt;
float ffracWt = (float)fracWt / 1000000.0;
float wt = fintWt + ffracWt;
/*
Serial.print(intWt); //0
Serial.print(" ");
Serial.println(fracWt); //390000
Serial.print(fintWt); //0
Serial.print(" ");
Serial.println(ffracWt); //390000
*/
Serial.println(wt, 3); //0.390 Kg
I have tried every steps as given by you and @larryd but no success including this reply also
I didnot understood this one:
//-----------------
intPart[0] = myWeight[1];
intPart[1] = myWeight[2];
intPart[2] = myWeight[3];
//----------------------
fracPart[0] = myWeight[5];
fracPart[1] = myWeight[6];
fracPart[2] = myWeight[7];
//----------------------
unsigned long intWt = atol(intPart);
unsigned long fracWt = atol(fracPart);
float fintWt = (float)intWt;
float ffracWt = (float)fracWt / 1000000.0;
float wt = fintWt + ffracWt;
/*
Serial.print(intWt); //0
Serial.print(" ");
Serial.println(fracWt); //390000
Serial.print(fintWt); //0
Serial.print(" ");
Serial.println(ffracWt); //390000
*/
Serial.println(wt, 3); //0.390 Kg
Like how I have to add this in main code? I am new in C and in learning stage.
Thanks for your support! Do guide me further!