Ik zou me willen verdiepen in de communicatie tussen een Arduino en een ESP8266 Nodemcu.
De bedoeling is om een LED te laten branden die ik met een drukknop kan bedienen, daarnaast moet de waarde van een LDR worden verzonden.
Ik ben nu bezig met de communicatie tussen de Arduino en de ESP8266 Nodemcu. Is het mogelijk om via de library <SoftwareSerial.h> een twee- richtingscommunicatie te verkrijgen, dat ik zowel op de Arduino en op de ESP8266 kan zenden en onvangen? Hieronder mijn code voor beide bordjes. Het resultaat is dat ik in de Serial monitor (mijn geval COM41) van de Nodemcu enkel de waarde te zien krijg en niet de tekst "Waarde binnengekomen op ESP:". Op de Seriele monitor van de Arduino (mijn geval COM42) komt wel te staan "Verstuurd door Arduino:"
De verbinden zijn getripple-checked.
avr asm code:
//Code voor de ESP8266 (Ontvanger)
String incoming;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}
void loop() { // run over and over
if (Serial.available()) {
//Serial.write(Serial.read());
incoming = Serial.read();
Serial.print ("Waarde binnengekomen op ESP: ");
Serial.println (incoming);
}
else {
Serial.println ("Geen inkomende data....");
}
}
avr asm code:
//Code voor Arduino (Zender)
#include <SoftwareSerial.h>
SoftwareSerial espSerial(5, 6);
String str;
int number;
void setup(){
Serial.begin(115200);
espSerial.begin(9600);
delay(2000);
}
void loop()
{
number = random(100);
Serial.print("Verstuurd door Arduino : ");
Serial.print(number);
Serial.println();
str =String(number);
espSerial.println(str);
delay(1000);
}
Ik begin eerst met een communicatie van Arduino naar ESP8266 en daarna probeer ik de communicatie bidirectioneel te maken. De waarde van de LDr is in een later stadium.