According to private message from ionu, I add more specifications:
Arduino UNO code:
Code: Select all//HC-12 messenger send/receive
//autor Tom Heylen tomtomheylen.com
//UNO HC-12
//10 TXD
//11 RXD
//5V VCC
//GND GND
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);//RX, TX
void setup() {
Serial.begin(115200);
mySerial.begin(9600);
delay(50);
}
void loop() {
if(Serial.available() > 0){//Read from serial monitor and send over HC-12
String input = Serial.readString();
mySerial.println(input);
Serial.print("input:");
Serial.println(input);
}
if(mySerial.available() > 1){//Read from HC-12 and send to serial monitor
String input = mySerial.readString();
Serial.println(input);
}
delay(2000);
}
NodeMCU code:
Code: Select all//HC-12 messenger send/receive
//autor Tom Heylen tomtomheylen.com
//NodeMCU HC-12
//D2 TXD
//D3 RXD
//3V3 VCC
//GND GND
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 0);//TX, RX on NodeMCU its pin D2 and D3
void setup() {
Serial.begin(115200);
mySerial.begin(9600);
delay(50);
}
void loop() {
if(Serial.available() > 0){//Read from serial monitor and send over HC-12
String input = Serial.readString();
mySerial.println(input);
Serial.print("input:");
Serial.println(input);
}
if(mySerial.available() > 1){//Read from HC-12 and send to serial monitor
String input = mySerial.readString();
Serial.println(input);
}
delay(2000);
}
I tested it on ArduinoMega too and there was problem, that some pins can do interruptions. So after changed to pin 10, 11 it starts working.
Because you use Arduino Mini, there should be the same problem. Try to use pins 2 and 3.
https://www.arduino.cc/en/Main/arduinoBoardProMini