I have a sensor that gives me this string, serially read @9600:


This burst arrives automatically about every second. It means:

"@" start of the string
"T;" means the Temperature is coming now, after that ";". 
"+019.8" the Temp value (fixed number of digits, with a leading +/- sign.
";" separator.
"H;" means the Humidity value is coming now after the ";".
"043.6" the Humidity value (fixed number of digits: so 000.0 to 100.0).
";" separator.
"51" is a 2 digit checksum.

Then a pause of about 1 second >> next string with new values. I want to Serial.print them separately, and put then into a log file on the SD card of the Arduino Ethernet Shield.

On a next step I will show these values on a local display and a webpage, and add (resettable) alarm settings with individual hysteresis settings...

Any advice to solve this string-breakup and SD card logging?

  • 1
    What code have you done so far? Please post your code. Which part of your code does not work? Jul 26 '18 at 9:10

There are a number of ways that this can be accomplished.

  • Hi, thanks for the suggestions, but when I "forward" the values from mySerial.read to Serial.write, I can see (read) the actual values in the monitor ... when I serial.print them, I get complete other values, and I think that's why I'm not getting it to work properly. I think I have to convert the received values before "analyzing" them ???
    – Ritchie
    Jul 26 '18 at 13:42
  • Then you need to clarify your question as it isn't clear at all. Edit and put examples into your question. Also include your code. It will make it easier for people to help you and provide you with an accurate answer. Jul 26 '18 at 13:54

Not the answer you're looking for? Browse other questions tagged or ask your own question.