Tải bản đầy đủ (.docx) (15 trang)

Mô hình máy bơm nước tự động cho gia đình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (500.8 KB, 15 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA ĐIỆN TỬ - VIỄN THÔNG
---------

BÁO CÁO TIỂU LUẬN
Vi xữ lý và điều khiển trong đo lường
tự động
SINH VIÊN THỰC HIỆN:

Mai Văn Rôn
MSV: 14T1051058

Ngành: Công nghệ Kỹ thuật Điện tử, Truyền thông

Giảng viên: TS Đặng Xuân Vinh

Huế - 2017

Thục hiện: Nguyễn Quốc Minh & Nguyễn Ngọc Hải

Page


LỜI CẢM ƠN
Em xin gửi lời cám ơn chân thành đến với giảng viên TS Đặng Xuân
Vinh đã nhiệt tình giúp đỡ em trong quá trình học tập trên lớp và viết
bài báo cáo. Do có sự hạn chế về thời gian cũng như kiến thức và kinh
nghiệm nên khó tránh khỏi những sai sót, những lỗi mắc phải trong
quá trình làm báo cáo.
Vì vậy, em rất mong được sự đóng góp ý kiến của thầy giáo đối với


bài báo cáo này. Em xin chân thành cảm ơn.

2


Đề tài: Xây dựng mô hình máy bơm nước tự động
cho gia đình.
3. Sơ đồ khối

4. Sơ đồ mạch thực tế

3


5. Chức năng của từng khối
Khối đầu tiên là màn hình LCD 16x2, là đơn vị đầu ra có chức năng
hiển thị mức nước và trạng thái bơm.
Khối thứ hai là Arduino, đây được coi là trung tâm xữ lý và điều khiển
của mô hình nó có nhiệm vụ kiểm soát và điều phối tất cả các khối khác.
Khối thứ ba là cảm biến siêu âm đo khoảng cách có nhiệm vụ đo mực
nước.
Khối khối thứ tư là bộ Relay dùng để bật tắt máy bơm nước thông qua
sự điều khiển của Arduino.
Nguyên lý hoạt động của cảm biến siêu âm HC-SR04:
Cảm biến siêu âm phát ra một siêu âm ở tốc độ 40KHz đi qua không khí,
và nếu có một vật hoặc trở ngại trên con đường của nó, nó sẽ quay trở lại
mô đun.
Xem xét thời gian di chuyển và tốc độ của âm thanh, bạn có thể tính
khoảng cách.
Arduino sẽ sử dụng chân echo trên cảm biến siêu âm để đo thời gian đi

sóng âm trong vài giây.
Trong trường hợp này, cảm biến siêu âm sẽ được đặt trên đầu của bể
chứa nước và nó có thể đo mức nước trong bể.
Mức nước đo được tính bằng cm sẽ được chuyển sang biểu đồ mực nước
và cũng sẽ được hiển thị trên màn hình LCD 16x2 như vậy, Arduino sẽ
tắt máy bơm khi bể đã đầy.

6. Phần mềm được sử dụng
4





Mô phỏng Proteus 8.5
Viết code Arduino

7. Chương trình Code
#include <Wire.h>
#include <NewPing.h>

#define TRIGGER_PIN 12 // Kết nối chốt kích hoạt trên bộ cảm biến
Sonar với pin kỹ thuật số Arduino 12
#define ECHO_PIN
số 11

11 // Kết nối echo pin trên bộ cảm biến với chân

#define MAX_DISTANCE 24 // Chiều cao của Bể chứa Nước (bằng
cm)

#include <LiquidCrystal_I2C.h> //Khai báo thư viện LCD I2C

LiquidCrystal_I2C lcd(0x3F, 16, 2);// khai báo thuộc tính của LCD
int Relay = 10;
int val=0;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

// Tạo xếp biểu tượng
byte Level0[8] = {
5


0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b11111,
0b11111
};
byte Level1[8] = {
0b00000,
0b00000,
0b00000,
0b00000,
0b11111,
0b11111,
0b11111,
0b11111

};
byte Level2[8] = {
6


0b00000,
0b00000,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111
};
byte Level3[8] = {
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111
};
byte NoLevel[8] = {
7


0b00000,
0b00000,

0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.init();
// khoi tao man hinh LCD
lcd.backlight();//bật đèn LCD
lcd.createChar(0, Level0);
lcd.createChar(1, Level1);
lcd.createChar(2, Level2);
lcd.createChar(3, Level3);
lcd.createChar(4, NoLevel);
lcd.begin(16, 2); // thiết lập cột và hàng của LCD
8


pinMode(Relay,OUTPUT); //thiết lập tín hiệu ra relay
digitalWrite(Relay,LOW);
}
void loop()
{
delay(50);
val=sonar.ping_cm();
lcd.setCursor(0, 1);
lcd.print("HET");

lcd.setCursor(11, 1);
lcd.print("DAY");
if(val<4) //mức nước đạt đỉnh
{
delay(50);
lcd.setCursor(3, 1);
lcd.write(byte(0));
lcd.setCursor(4, 1);
lcd.write(byte(0));
lcd.setCursor(5, 1);
lcd.write(byte(1));
9


lcd.setCursor(6, 1);
lcd.write(byte(1));
lcd.setCursor(7, 1);
lcd.write(byte(2));
lcd.setCursor(8, 1);
lcd.write(byte(2));
lcd.setCursor(9, 1);
lcd.write(byte(3));
lcd.setCursor(10, 1);
lcd.write(byte(3));
digitalWrite(Relay,LOW); //máy bơm tắt
lcd.setCursor(0,0);
lcd.print("TAT MAY BOM

");


}
else if(val<=15&&val>4)
{
lcd.setCursor(3, 1);
lcd.write(byte(0));
lcd.setCursor(4, 1);
lcd.write(byte(0));
10


lcd.setCursor(5, 1);
lcd.write(byte(1));
lcd.setCursor(6, 1);
lcd.write(byte(1));
lcd.setCursor(7, 1);
lcd.write(byte(2));
lcd.setCursor(8, 1);
lcd.write(byte(2));
lcd.setCursor(9, 1);
lcd.write(byte(4));
lcd.setCursor(10, 1);
lcd.write(byte(4));
}
else if(val<=20&&val>15)
{
lcd.setCursor(3, 1);
lcd.write(byte(0));
lcd.setCursor(4, 1);
lcd.write(byte(0));
lcd.setCursor(5, 1);

11


lcd.write(byte(1));
lcd.setCursor(6, 1);
lcd.write(byte(1));
lcd.setCursor(7, 1);
lcd.write(byte(4));
lcd.setCursor(8, 1);
lcd.write(byte(4));
lcd.setCursor(9, 1);
lcd.write(byte(4));
lcd.setCursor(10, 1);
lcd.write(byte(4));
}
else if(val<=21&&val>20)
{
lcd.setCursor(3, 1);
lcd.write(byte(0));
lcd.setCursor(4, 1);
lcd.write(byte(0));
lcd.setCursor(5, 1);
lcd.write(byte(4));
12


lcd.setCursor(6, 1);
lcd.write(byte(4));
lcd.setCursor(7, 1);
lcd.write(byte(4));

lcd.setCursor(8, 1);
lcd.write(byte(4));
lcd.setCursor(9, 1);
lcd.write(byte(4));
lcd.setCursor(10, 1);
lcd.write(byte(4));
}
else if(val>21) // hết nước
{
digitalWrite(Relay,HIGH); // bật máy bơm
lcd.setCursor(0,0);
lcd.print("

BAT MAY BOM

");

lcd.setCursor(3, 1);
lcd.write(byte(4));
lcd.setCursor(4, 1);
lcd.write(byte(4));
13


lcd.setCursor(5, 1);
lcd.write(byte(4));
lcd.setCursor(6, 1);
lcd.write(byte(4));
lcd.setCursor(7, 1);
lcd.write(byte(4));

lcd.setCursor(8, 1);
lcd.write(byte(4));
lcd.setCursor(9, 1);
lcd.write(byte(4));
lcd.setCursor(10, 1);
lcd.write(byte(4));
}
}
8. Kết quả
Sau khi chạy mô phỏng trên phần mềm Proteus 8.5, thấy mô hình
hoạt động tốt và kết quả lắp ráp mạch thực tế vẫn hoạt động như
khi mô phỏng trên phần mềm, chạy ổn định.
III. KẾT LUẬN VÀ ĐÁNH GIÁ KẾT QUẢ
Với kết quả nhận được là mô hình máy bơm nước tự động cho gia
đình rất thiết thực và đáp ứng được nhu cầu thực tế, độ bền khá
14


cao, thiết kế, lắp đặt đơn giản, nhỏ gọn và đặc biệt chi phí rẻ đối
với linh kiện hay modul cần thiết.

15



×