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___
// 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---