Reworked GarageDoor Control units

This commit is contained in:
2021-05-14 15:40:51 +02:00
parent 67f048075b
commit 567ffdb490
2 changed files with 109 additions and 70 deletions

View File

@@ -29,8 +29,9 @@ char TorOffen[] = "OPENED";
char TorGeschlossen[] = "CLOSED";
char TorInBewegung[] = "IN TRANSIT";
char TorAuf[] = "Öffne Garangentor";
char TorZu[] = "Schließe Garangentor";
char TorAuf[] = "Oeffne Garagentor";
char TorZu[] = "Schliesse Garagentor";
char TorStatus[] = "Schicke Status";
/* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 7 & 8 */
@@ -48,6 +49,8 @@ void setup() {
// getting_started sketch, and the likelihood of close proximity of the devices. RF24_PA_MAX is default.
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_250KBPS);
radio.setAutoAck(false);
radio.setRetries(15, 15);
//radio.setChannel(CHANNEL);
// Open a writing and reading pipe on each radio, with opposite addresses
@@ -58,7 +61,7 @@ void setup() {
radio.openWritingPipe(addresses[0]);
radio.openReadingPipe(1,addresses[1]);
}
// Start the radio listening for data
radio.startListening();
@@ -84,24 +87,24 @@ void loop() {
if (TorStatusChanged == true) {
radio.stopListening(); // First, stop listening so we can talk.
Serial.print(F("Now sending "));
Serial.print(F("Now sending: "));
unsigned long start_time = micros();
if ((TorStatus1 == true) && (TorStatus2 == false)) {
Serial.println(TorOffen);
if (!radio.write( &TorOffen, strlen(TorOffen) )){
Serial.println(F("failed"));
Serial.println(F("failed"));
}
} else if ((TorStatus1 == false) && (TorStatus2 == false)) {
Serial.println(TorInBewegung);
if (!radio.write( &TorInBewegung, strlen(TorInBewegung) )){
Serial.println(F("failed"));
Serial.println(F("failed"));
}
} else if ((TorStatus1 == false) && (TorStatus2 == true)) {
Serial.println(TorGeschlossen);
Serial.println(TorGeschlossen);
if (!radio.write( &TorGeschlossen, strlen(TorGeschlossen) )){
Serial.println(F("failed"));
}
Serial.println(F("failed"));
}
}
radio.startListening(); // Now, continue listening
@@ -157,11 +160,11 @@ if (TorStatusChanged == true) {
radio.stopListening(); // First, stop listening so we can talk
radio.write( &gotmsg, strlen(gotmsg) ); // Send the final one back.
radio.startListening(); // Now, resume listening so we catch the next packets.
Serial.print(F("Sent response "));
Serial.println("ACK");
Serial.print(F("Sent response ACK: "));
Serial.println(gotmsg);
if ((strcmp(gotmsg,TorAuf)==0) && (!TorStatus1) && (TorStatus2)) {
Serial.println("Öffne das Tor");
Serial.println("Oeffne das Tor");
digitalWrite(pinGaragenTorSchalter, LOW);
delay(1500);
digitalWrite(pinGaragenTorSchalter, HIGH);
@@ -171,7 +174,7 @@ if (TorStatusChanged == true) {
}
if ((strcmp(gotmsg,TorZu)==0) && (TorStatus1) && (!TorStatus2)) {
Serial.println("Schließe das Tor");
Serial.println("Schliesse das Tor");
digitalWrite(pinGaragenTorSchalter, LOW);
delay(1500);
digitalWrite(pinGaragenTorSchalter, HIGH);
@@ -179,6 +182,12 @@ if (TorStatusChanged == true) {
if ((strcmp(gotmsg,TorZu)==0) && (!TorStatus1)) {
Serial.println("Tor bereits geschlossen!");
}
if (strcmp(gotmsg,TorStatus)==0) {
Serial.println("Tor status requested!");
TorStatusChanged = true; //forciere das Sendes des Status
delay(1500);
}
}
}
@@ -189,10 +198,10 @@ if (TorStatusChanged == true) {
TorStatusChanged = true; //Tor status was changed!: Transmitting...
}
Serial.print("Sensor 1: ");
/*Serial.print("Sensor 1: ");
Serial.print(TorStatus1);
Serial.print(" Sensor 2: ");
Serial.println(TorStatus2);
delay(200);
delay(200);*/
} // Loop