You are on page 1of 6

Bài tập A.7.

SV : Trần Hoài bảo

Lớp: AE22B

Đề bài : Điều khiển bơm nước.

Dùng một máy bơm (P = 480W) để bơm nước vào bể, trên bể có hai phao (PHAO_Đ dùng để
báo đầy nước, PHAO_H dùng để báo hết nước).
Khi nước trong bể hết, PHAO_H đưa tín hiệu mức logic 0 thì Arduino điều khiển bơm hoạt động
cho đếm khi nước trong bể lên đến PHAO_Đ thì phao đưa ra tín hiệu mức logic 0 lúc đó Arduino
điều khiển bơm dừng hoạt động. Quá trình cứ thế lặp lại liên tục.

1.Bảng phân công vào ra

Thiết bị vào Thiết bị ra


Stt TB ĐC MT Stt TB ĐC MT
1 CB_D_5 5 1 BOM 7
2 CB_H_6 6

2.Lưu đồ thuật toán

Vẽ trên draw.io, copy qua


3. Chương trình điều khiển :
int Green_1=7;//khai báo địa chỉ
int Yellow_1=6;//khai báo địa chỉ
int Red_1=5;//khai báo địa chỉ
int Green_2=4;//khai báo địa chỉ
int Yelow_2=3;//khai báo địa chỉ
int Red_2=2;//khai báo địa chỉ
void setup() {
pinMode(Green_1,OUTPUT);//Chọn chức năng ra
pinMode(Yellow_1,OUTPUT);//Chọn chức năng ra
pinMode(Red_1,OUTPUT);//Chọn chức năng ra
pinMode(Green_2,OUTPUT);//Chọn chức năng ra
pinMode(Yelow_2,OUTPUT);//Chọn chức năng ra
pinMode(Red_2,OUTPUT);//Chọn chức năng ra
}
void loop() {
digitalWrite(Green_1,HIGH);
digitalWrite(Yellow_1,LOW);
digitalWrite(Red_1,LOW);
digitalWrite(Green_2,LOW);
digitalWrite(Yelow_2,LOW);
digitalWrite(Red_2,HIGH);
delay(11000);
digitalWrite(Green_1,LOW);
digitalWrite(Yellow_1,HIGH);
digitalWrite(Red_1,LOW);
digitalWrite(Green_2,LOW);
digitalWrite(Yelow_2,LOW);
digitalWrite(Red_2,HIGH);
delay(8000);
digitalWrite(Green_1,LOW);
digitalWrite(Yellow_1,LOW);
digitalWrite(Red_1,HIGH);
digitalWrite(Green_2,HIGH);
digitalWrite(Yelow_2,LOW);
digitalWrite(Red_2,LOW);
delay(11000);
digitalWrite(Green_1,LOW);
digitalWrite(Yellow_1,LOW);
digitalWrite(Red_1,HIGH);
digitalWrite(Green_2,LOW);
digitalWrite(Yelow_2,HIGH);
digitalWrite(Red_2,LOW);
delay(8000);
}
4. Kết quả mô phỏng: chụp toàn màn hình, đưa mạch lên to nhất có thể
int NB_T = 7;//khai báo địa chỉ
int NB_N = 6;
int NB_D = 5;
int LED_T = 4;
int LED_N = 3;
int LED_D = 2;
int C_T = 8;
int C_N = 9;
void setup() {
pinMode(NB_T,INPUT);//chọn chức năng vào/ra
pinMode(NB_N,INPUT);
pinMode(NB_D,INPUT);
pinMode(LED_T,OUTPUT);
pinMode(LED_N,OUTPUT);
pinMode(LED_D,OUTPUT);
pinMode(C_T,OUTPUT);
pinMode(C_N,OUTPUT);
digitalWrite(C_T,LOW);//dừng động cơ
digitalWrite(C_N,LOW);
digitalWrite(LED_D,HIGH);//bật LED dừng, tắt 2 LED còn lại
digitalWrite(LED_N,LOW);
digitalWrite(LED_T,LOW);
}
void loop() {
if(digitalRead(NB_T)==0)//kiểm tra nút thuận
{
digitalWrite(C_T,HIGH);//chạy thuận
digitalWrite(C_N,LOW);
digitalWrite(LED_T,HIGH);//bật LED thuận, tắt 2 LED còn lại
digitalWrite(LED_N,LOW);
digitalWrite(LED_D,LOW);
}
if(digitalRead(NB_N)==0)//kiểm tra nút ngược
{
digitalWrite(C_N,HIGH);//chạy ngược
digitalWrite(C_T,LOW);
digitalWrite(LED_N,HIGH);//bật LED ngược, tắt 2 LED còn lại
digitalWrite(LED_D,LOW);
digitalWrite(LED_T,LOW);
}
if(digitalRead(NB_D)==0)//kiểm tra nút dừng
{
digitalWrite(C_T,LOW);//dừng
digitalWrite(C_N,LOW);
digitalWrite(LED_D,HIGH);//bật LED dừng, tắt 2 LED còn lại
digitalWrite(LED_N,LOW);
digitalWrite(LED_T,LOW);
}
}

You might also like