[SOLUCIONADO] Probando mandar señales de Ard one a NODEMCU por Serial

Bueno les paso el código para mandar señales de Arduino uno a NODEMCU esta en prueba todavía:

Un gran pero: A la hora de que me lanza las señales supuestas de temperatura me salen disparatadas es decir por ahora solo tengo un sensor conectadoa a A0 y en los demas vacíos(despues tendre planeado conectar mas), según yo me debería lanzar temperaturas 255 en todos (del A1 a A5) un numero constante pues no hay medición. Esto falta corregir si alguien tiene idea please!

Las conexiones:
NODEM//ARDUINO
TX con pin3
RX con pin2
GND con GND

Sensor LM35: enviando señal por A0 de arduino, conectado a el VCC de 5V de Arduino uno y con GND arduino.

Este es el código del Arduino:

#include <SoftwareSerial.h>
SoftwareSerial BT1(3, 2); // RX | TX

void setup()
{ Serial.begin(115200);
BT1.begin(115200);
}
void loop()
{
float temp = (5 * analogRead(0) * 100.0) / 1024;
float temp1 = (5 * analogRead(1) * 100.0) / 1024;
float temp2 = (5 * analogRead(2) * 100.0) / 1024;
float temp3 = (5 * analogRead(3) * 100.0) / 1024;
float temp4 = (5 * analogRead(4) * 100.0) / 1024;
float temp5 = (5 * analogRead(5) * 100.0) / 1024;

Serial.print("A0:")+ Serial.print(temp) + Serial.println('\n');

Serial.print("A1:")+ Serial.print(temp1) + Serial.println('\n');

Serial.print("A2:")+ Serial.print(temp2) + Serial.println('\n');

Serial.print("A3:")+ Serial.print(temp3) + Serial.println('\n');

Serial.print("A4:")+ Serial.print(temp4) + Serial.println('\n');

Serial.print("A5:")+ Serial.print(temp5) + Serial.println('\n');

delay(200);
BT1.print("\nA0:"+ String(temp) + "\n");
delay(200);
BT1.print("\nA1:"+ String(temp1) + "\n");
delay(200);
BT1.print("\nA2:"+ String(temp2) + "\n");
delay(200);
BT1.print("\nA3:"+ String(temp3) + "\n");
delay(200);
BT1.print("\nA4:"+ String(temp4) + "\n");
delay(200);
BT1.print("\nA5:"+ String(temp5) + "\n");

Serial.println("............");

delay(1000);
}

Este es el codigo de NODEMCU:

//incluyendo variables de serial
 #include <SoftwareSerial.h>

char a1;
char a2;
char a3;
char a4;
char a5;
char a6;
char b1;
char b2;
char b3;
char b4;
char b5;
char b6;
char c1;
char c2;
char c3;
char c4;
char c5;
char c6;
char d1;
char d2;
char d3;
char d4;
char d5;
char d6;
char e1;
char e2;
char e3;
char e4;
char e5;
char e6;
char f1;
char f2;
char f3;
char f4;
char f5;
char f6;

void setup() {
  Serial.begin(115200);
 
 }
 
void loop() {
   String S = "" ;

if (Serial.available() )
{char c = Serial.read(); 
                while ( c != '\n' )            //Hasta que el caracter sea intro
                  {     S = S + c ;
                        //delay(25) ;
                        c = Serial.read();

                     }

}else {return;}
       

if (S.startsWith("A0")) { a1 = S.charAt(3); a2 = S.charAt(4); a3 = S.charAt(5); a4 = S.charAt(6); a5 = S.charAt(7); a6 = S.charAt(8); String A0 = String(a1)+String(a2)+String(a3)+String(a4)+String(a5)+String(a6); Serial.print(A0)+ Serial.println();}
 // Esta es la temperatura en analogo0 de arduino

delay(200);
if (S.startsWith("A1")) { b1 = S.charAt(3); b2 = S.charAt(4); b3 = S.charAt(5); b4 = S.charAt(6); b5 = S.charAt(7); b6 = S.charAt(8); String A1 = String(b1)+String(b2)+String(b3)+String(b4)+String(b5)+String(b6); Serial.print(A1)+ Serial.println();}
 // Esta es la temperatura en analogo1 de arduino


if (S.startsWith("A2")) { c1 = S.charAt(3); c2 = S.charAt(4); c3 = S.charAt(5); c4 = S.charAt(6); c5 = S.charAt(7); c6 = S.charAt(8); String A2 = String(c1)+String(c2)+String(c3)+String(c4)+String(c5)+String(c6); Serial.print(A2)+ Serial.println();}
 // Esta es la temperatura en analogo2 de arduino


if (S.startsWith("A3")) { d1 = S.charAt(3); d2 = S.charAt(4); d3 = S.charAt(5); d4 = S.charAt(6); d5 = S.charAt(7); d6 = S.charAt(8); String A3 = String(d1)+String(d2)+String(d3)+String(d4)+String(d5)+String(d6); Serial.print(A3)+ Serial.println();}
 // Esta es la temperatura en analogo3 de arduino


if (S.startsWith("A4")) { e1 = S.charAt(3); e2 = S.charAt(4); e3 = S.charAt(5); e4 = S.charAt(6); e5 = S.charAt(7); e6 = S.charAt(8); String A4 = String(e1)+String(e2)+String(e3)+String(e4)+String(e5)+String(e6); Serial.print(A4)+ Serial.println();}
 // Esta es la temperatura en analogo4 de arduino


if (S.startsWith("A5")) { f1 = S.charAt(3); f2 = S.charAt(4); f3 = S.charAt(5); f4 = S.charAt(6); f5 = S.charAt(7); f6 = S.charAt(8); String A5 = String(f1)+String(f2)+String(f3)+String(f4)+String(f5)+String(f6); Serial.print(A5)+ Serial.println();}
// Esta es la temperatura en analogo5 de arduino



}

Este es el resultado en el monitor del ARD:

............
A5:187.50

............
A0:14.16

A1:102.54

A2:204.59

A3:217.29

A4:241.21

A5:230.96

............
A0:21.00

Siendo que no hay nada conectado desde el A1-A5 solo en el A0

Este es el resultado en el monitor del nodem:

187.01 
14.16 // esta linea lectura de A1
102.54
204.59
217.29
241.21
230.96   //esta linea lectura de A5
21.00

Primero para que enviar datos de un Arduino a otro dispositivo si no lee bien?
Resuelve el problema inicial y luego envía.
Solo agrega resistencias de 10k entre Ax y GND y no verás cosas raras.

Segundo, tu formula esta mal.
esto así no

float temp = (5 * analogRead(0) * 100.0) / 1024;

el AD es de 10 bits o sea 1024 pasos, pero los pasos van de 0 a 1023 no a 1024.
Si usas float nunca pongas 5 sino 5.0, nunca pongas 1024 (mas alla que este mal) sino 1024.0
Tampoco hagas tantas cuentas cuando puedes simplificar todo 5.0 x 100.0 = 500.0/1023.0

float  temp = 500.0 * analogRead(A0)/1023.0;

Es la fórmula a usar.
Si además tienes cosas raras en el LM35, usa un Capacitor de 100nF o 0.1uF entre Vout del LM35 y GND.
A1 a A5 con Resistencias de 10k a GND hasta que conectes algo y entonces lo retiras o ya verás que corresponda.

EDITO: con el Nodemcu tmb podrías haber leído varios LM35, con la ayuda de un CD4051 por ejemplo. Un multiplexor/demultiplexor.
Requiere 3 pines GPIO con los que direccionas que sensor leerás y luego lees con el AD del nodemcu.

Luce complicado pero no lo es. Alrededor del ESP8266-12 o nodemcu hay componentes porque viene en versión sin el kit de desarrollo Asi que no necesitas nada mas que las conexiones al cd4051

Se corrige con las resistencias de 10 K conectadas a Ax y GND y se cambian las formulas de temperatura. Doy solucionado. Gracias.