#include byte dato1, dato2, dato3, dato4, dato5, dato6, contador; float dato7, dato8; String fecha; unsigned long intervalo = 1000; unsigned long previoMillisLoop = 0; bool leido; SoftwareSerial ArduRec(3, 2); //(Rx, Tx) void setup() { Serial.begin(9600); ArduRec.begin(9600); Serial.println("inicio"); } void loop() { unsigned long actualMillis = millis(); if ((unsigned long)(actualMillis - previoMillisLoop) >= intervalo) { Serial.println(contador++); if (ArduRec.available() > 0) { Serial.println("Leyendo puerto ArduRec"); dato1 = ArduRec.readStringUntil(',').toInt(); dato2 = ArduRec.readStringUntil(',').toInt(); dato3 = ArduRec.readStringUntil(',').toInt(); dato4 = ArduRec.readStringUntil(',').toInt(); dato5 = ArduRec.readStringUntil(',').toInt(); dato6 = ArduRec.readStringUntil(',').toInt(); dato7 = ArduRec.readStringUntil(',').toFloat(); dato8 = ArduRec.readStringUntil(',').toFloat(); fecha = ArduRec.readStringUntil('\r'); while (ArduRec.available()>0) { char temp = ArduRec.read(); Serial.println("Sobrante :"); Serial.println(temp); } Serial.println("Datos recibidos de ArduRec"); Serial.print(dato1); Serial.print(':'); Serial.print(dato2); Serial.print(':'); Serial.print(dato3); Serial.print(':'); Serial.print(dato4); Serial.print(':'); Serial.print(dato5); Serial.print(':'); Serial.print(dato6); Serial.print(':'); Serial.print(dato7); Serial.print(':'); Serial.print(dato8); Serial.print(':'); Serial.println(fecha); Serial.print('/'); leido = true; Serial.println(leido); } if (leido) { String datos; datos += (String)dato1 + ','; datos += (String)dato2 + ','; datos += (String)dato3 + ','; datos += (String)dato4 + ','; datos += (String)dato5 + ','; datos += (String)dato6 + ','; datos += (String)dato7 + ','; datos += (String)dato8 + ','; datos += fecha; Serial.println("Cadena datos recibidos"); Serial.println(datos); datos = ""; leido = false; dato1=0;dato2=0;dato3=0;dato4=0;dato5=0;dato6=0;dato7=0;dato8=0;fecha=""; } previoMillisLoop = millis(); } }