Hallo,
ich bin gerade dabei folgendes Programm umzusetzen:
Dabei soll das Signal eines Tasters über ein HC-12 Modul gesendet und beim anderen empfangen und als LED Signal umgesetzt werden.
Den Schaltplan sowie die Programme habe ich 1:1 benutzt.
Dies hat auch beim ersten mal direkt funktioniert -bis ich die Antenne an einem Board abgebochen habe...
Ich hab das Board ersetzt, nur funktioniert nun gar nichts mehr richtig.
2 der 4 HC-12 Boards können gegenseitig über den Seriellen Monitor Nachrichten senden und empfangen, eins empfängt nur und eins scheint tot zu sein...
Den Befehl, die LED anzuschalten, während der Taster gedrückt ist, kommt gar nicht an über die HC-12 Module.
Verbinde ich beide Arduinos mit Kabeln direkt (RX-TX RX-TX) dann funktioniert es... Das Programm scheint also zu passen... Laut dem seriellen Monitor scheinen ja auch die Module etwas zu senden und zu empfangen... Ich versteh nur noch Bahnhof, ich hoffe jemand von euch hat einen Tipp...
Programme:
//HC-12 Momentary Button Receive
//Autor Tom Heylen tomtomheylen.com
//RECEIVE
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0,1); // RX, TX
int ledPin = 13;
void setup() {
mySerial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
if (mySerial.available() > 1) {
int input = mySerial.parseInt();//read serial input and convert to integer (-32,768 to 32,767)
if (input == 1111) { //if on code is received
digitalWrite(ledPin, HIGH);//turn LED on
delay(500);
digitalWrite(ledPin, LOW);
//delay(500);
delay(2000);
}
if (input == 0000) { //if off code is received
digitalWrite(ledPin, LOW);//turn LED off
}
}
mySerial.flush();//clear the serial buffer for unwanted inputs
delay(200);//delay little for better serial communication
}
//HC-12 Momentary Button Send
//Autor Tom Heylen tomtomheylen.com
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); //RX, TX
int buttonPin = 9;
boolean onOff = 0;
void setup() {
pinMode(13, OUTPUT); // signal button pressed
pinMode(buttonPin, INPUT);
mySerial.begin(9600);
}
void loop() {
int buttonState = digitalRead(buttonPin);//read button state
if (buttonState == 1) { //if button is down
digitalWrite(13,HIGH); // signal button pressed
mySerial.println(1111);//send unique code to the receiver to turn on. In this case 1111
onOff = 1;//set boolean to 1
}
if (buttonState == 0 && onOff == 1) { //Verifier to send off signal once
digitalWrite(13,LOW);
mySerial.println(0000);//send unique code to the receiver to turn off. In this case 0000
}
delay(200);//delay little for better serial communication
}
Grüße
Flo