Ở bài trước, ta đã biết cách kết nối phần cứng và lập trình điều khiển 4 thiết bị bằng remote RF.
Ở bài này, ta sử dụng lại phần cứng tương tự bài trước, lập trình theo cách khác, dựa vào việc đếm số lần nhấn phím.
___Code___
// Khai báo tên 4 chân nối với remote
const int C = 2;
const int A = 3;
const int D = 4;
const int B = 5;
// Khai báo tên 4 chân nối với relay
const int relay1 = 6;
const int relay2 = 7;
const int relay3 = 8;
const int relay4 = 9;
// Các biến hỗ trợ phím A
int demA = 0;
int Ahientai = 0;
int Atruoc = 0;
// Các biến hỗ trợ phím B
int demB = 0;
int Bhientai = 0;
int Btruoc = 0;
// Các biến hỗ trợ phím C
int demC = 0;
int Chientai = 0;
int Ctruoc = 0;
// Các biến hỗ trợ phím D
int demD = 0;
int Dhientai = 0;
int Dtruoc = 0;
void setup()
{
// Khai báo các chân nhận và xuất tín hiệu
pinMode(A, INPUT);
pinMode(B, INPUT);
pinMode(C, INPUT);
pinMode(D, INPUT);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
// Mặc định các relay luôn tắt
digitalWrite(relay1,1);
digitalWrite(relay2,1);
digitalWrite(relay3,1);
digitalWrite(relay4,1);
}
void loop()
{
// Đọc tín hiệu các phím trên remote
Ahientai = digitalRead(A);
Bhientai = digitalRead(B);
Chientai = digitalRead(C);
Dhientai = digitalRead(D);
// Ghi nhận số lần bấm phím A
if (Ahientai != Atruoc && Ahientai == 1)
{
demA++;
}
Atruoc = Ahientai;
// Ghi nhận số lần bấm phím B
if (Bhientai != Btruoc && Bhientai == 1)
{
demB++;
}
Btruoc = Bhientai;
// Ghi nhận số lần bấm phím C
if (Chientai != Ctruoc && Chientai == 1)
{
demC++;
}
Ctruoc = Chientai;
// Ghi nhận số lần bấm phím D
if (Dhientai != Dtruoc && Dhientai == 1)
{
demD++;
}
Dtruoc = Dhientai;
// Bật, tắt relay1
if (demA % 2 == 0)
{
digitalWrite(relay1, 1);
}
else
{
digitalWrite(relay1, 0);
}
// Bật, tắt relay2
if (demB % 2 == 0)
{
digitalWrite(relay2, 1);
}
else
{
digitalWrite(relay2, 0);
}
// Bật, tắt relay3
if (demC % 2 == 0)
{
digitalWrite(relay3, 1);
}
else
{
digitalWrite(relay3, 0);
}
// Bật, tắt relay4
if (demD % 2 == 0)
{
digitalWrite(relay4, 1);
}
else
{
digitalWrite(relay4, 0);
}
}
___End___
Điều khiển 4 thiết bị (4 relay) bằng remote RF (cách khác)
Đào Xuân Thành
00:06:00
Đăng Ký Nhận Bài Mới Mỗi Ngày