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