Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
KC868-A4 Bluetooth momentary Switch
#3
(04-28-2024, 12:50 AM)admin Wrote: this is KC868-A4 relay control by bluetooth arduino demo code, you can test it: https://www.kincony.com/forum/showthread.php?tid=1647

I solved in this way:
Code:
#include "BluetoothSerial.h"

BluetoothSerial SerialBT;

#define Key1 36
#define Key2 39
#define Key3 27
#define Key4 14

#define RELAY1 2
#define RELAY2 15
#define RELAY3 5
#define RELAY4 4

int incoming;

void setup() {

  pinMode(RELAY1, OUTPUT);
  pinMode(RELAY2, OUTPUT);
  pinMode(RELAY3, OUTPUT);
  pinMode(RELAY4, OUTPUT);

  pinMode(Key1, INPUT);
  pinMode(Key2, INPUT);
  pinMode(Key3, INPUT);
  pinMode(Key4, INPUT);

Serial.begin(19200);   // Serial monitor
  SerialBT.begin(19200); // Bluetooth serial communication
 
  Serial.println("Bluetooth Control for KC868-A4 Relays");
 
}

void loop() {

  ScanKey1();
  ScanKey2();
  ScanKey3();
  ScanKey4();

if (SerialBT.available()) {
    char command = SerialBT.read();
   
    // Controlla il comando ricevuto e attiva o disattiva il relè corrispondente
    switch(command) {
      case '1':
        digitalWrite(RELAY1, HIGH);
        break;
      case '2':
        digitalWrite(RELAY1, LOW);
        break;
      case '3':
        digitalWrite(RELAY2, HIGH);
        break;
      case '4':
        digitalWrite(RELAY2, LOW);
        break;
      case '5':
        digitalWrite(RELAY3, HIGH);
        break;
      case '6':
        digitalWrite(RELAY3, LOW);
        break;
      case '7':
        digitalWrite(RELAY4, HIGH);
        break;
      case '8':
        digitalWrite(RELAY4, LOW);
        break;
      default:
        break;
    }
  }
}
int KEY_NUM1;
int KEY_NUM2;
int KEY_NUM3;
int KEY_NUM4;

void ScanKey1() {
  KEY_NUM1 = 1;
  if (digitalRead(Key1) == LOW) {
    delay(20);
    if (digitalRead(Key1) == LOW) {
      KEY_NUM1 = 0;
      digitalWrite(RELAY1, HIGH);
    } else {
      digitalWrite(RELAY1, LOW);
    }
  }
}

void ScanKey2() {
  KEY_NUM2 = 1;
  if (digitalRead(Key2) == LOW) {
    delay(20);
    if (digitalRead(Key2) == LOW) {
      KEY_NUM2 = 0;
      digitalWrite(RELAY2, HIGH);
    } else {
      digitalWrite(RELAY2, LOW);
    }
  }
}

void ScanKey3() {
  KEY_NUM3 = 1;
  if (digitalRead(Key3) == LOW) {
    delay(20);
    if (digitalRead(Key3) == LOW) {
      KEY_NUM3 = 0;
      digitalWrite(RELAY3, HIGH);
    } else {
      digitalWrite(RELAY3, LOW);
    }
  }
}

void ScanKey4() {
  KEY_NUM4 = 1;
  if (digitalRead(Key4) == LOW) {
    delay(20);
    if (digitalRead(Key4) == LOW) {
      KEY_NUM4 = 0;
      digitalWrite(RELAY4, HIGH);
    } else {
      digitalWrite(RELAY4, LOW);
    }
  }
}
In attachment   Mit App     Inv. Blocks
Reply


Messages In This Thread
RE: KC868-A4 Bluetooth momentary Switch - by franco.demei@gmail.com - 05-06-2024, 05:59 PM

Forum Jump:


Users browsing this thread: