Wednesday, August 30, 2017

Điều khiển 4 thiết bị (4 relay) bằng bluetooth từ smartphone Android (cách khác)

1. Ý tưởng của dự án:

     Ở dự án trước, ta đã tạo app trên Android với giao diện gồm 10 nút nhấn, mỗi thiết bị cần 2 nút nhấn mở/tắt.
     Ở dự án này, ta tạo app trên Android với giao diện chỉ gồm 5 nút nhấn, mỗi thiết bị chỉ cần 1 nút nhấn mở/tắt.

2. Phần cứng: 

     Giữ nguyên phần cứng ở dự án trước.

   Lắp mạch theo sơ đồ:


3. Code cho Arduino Nano:

___Code___

// Khai báo tên 4 chân nối với relay
const int  relay1 = 6, relay2 = 7, relay3 = 8, relay4 = 9, cho = 300;

// Các biến hỗ trợ nhận biết trạng thái button
boolean trangthaiA = 1, trangthaiB = 1, trangthaiC = 1, trangthaiD = 1;

// Biến đọc giá trị bluetooth
int value = 0;

void setup()
{
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(relay3, OUTPUT);
  pinMode(relay4, OUTPUT);

  digitalWrite(relay1,1);
  digitalWrite(relay2,1);
  digitalWrite(relay3,1);
  digitalWrite(relay4,1);
  Serial.begin(9600);
}

void loop()
{
  // Đọc tín hiệu các phím bluetooth
  if (Serial.available()) value = Serial.read();

  if (value == 1 && trangthaiA == 1)
  {
    digitalWrite(relay1,0);
    trangthaiA = 0;
    delay(cho);
  }
  else if (value == 1 && trangthaiA == 0)
  {
    digitalWrite(relay1,1);
    trangthaiA = 1;
    delay(cho);
  }

  if (value == 2 && trangthaiB == 1)
  {
    digitalWrite(relay2,0);
    trangthaiB = 0;
    delay(cho);
  }
  else if (value == 2 && trangthaiB == 0)
  {
    digitalWrite(relay2,1);
    trangthaiB = 1;
    delay(cho);
  }

  if (value == 3 && trangthaiC == 1)
  {
    digitalWrite(relay3,0);
    trangthaiC = 0;
    delay(cho);
  }
  else if (value == 3 && trangthaiC == 0)
  {
    digitalWrite(relay3,1);
    trangthaiC = 1;
    delay(cho);
  }

  if (value == 4 && trangthaiD == 1)
  {
    digitalWrite(relay4,0);
    trangthaiD = 0;
    delay(cho);
  }
  else if (value == 4 && trangthaiD == 0)
  {
    digitalWrite(relay4,1);
    trangthaiD = 1;
    delay(cho);
  }

  if (value == 5 && (trangthaiA == 0 || trangthaiB == 0 ||trangthaiC == 0 ||trangthaiD == 0))
  {
    digitalWrite(relay1,1);
    digitalWrite(relay2,1);
    digitalWrite(relay3,1);
    digitalWrite(relay4,1);
    trangthaiA = 1;
    trangthaiB = 1;
    trangthaiC = 1;
    trangthaiD = 1;
    delay(cho);
  }
  else if (value == 5 && trangthaiA == 1 && trangthaiB == 1 && trangthaiC == 1 && trangthaiD == 1)
  {
    digitalWrite(relay1,0);
    digitalWrite(relay2,0);
    digitalWrite(relay3,0);
    digitalWrite(relay4,0);
    trangthaiA = 0;
    trangthaiB = 0;
    trangthaiC = 0;
    trangthaiD = 0;
    delay(cho);
  }
 
}

___End___

4. Phần mềm trên smartphone Android:

---Chưa hoàn chỉnh---

No comments:

Post a Comment