// --- Bat tat den tu dong --- // --- Khai bao thu vien --- #include <regx51.h>
#define CB1 P1_1 #define CB2 P1_3 #define CB3 P1_5 #define CB4 P1_7 #define CB5 P3_1 #define CB6 P3_5 #define CB7 P3_6 #define CB8 P3_7
// --- Khai bao thiet bi --- #define TB1 P2_0 #define TB2 P2_1 #define TB3 P2_2 #define TB4 P2_3 #define TB5 P2_4 #define TB6 P2_5 #define TB7 P2_6 #define TB8 P2_7
// --- Khai bao bien ---
unsigned char TM1,TM2,TM3,TM4,TM5,TM6,TM7,TM8; // Khoi tao ngat ngoai 1
void EXT1_Init(void) {
EA=1; // cho phep tat ca cac ngat
EX1=1; //Kich hoat ngat ngoai 1 // IT1=1; //Chon ngat theo suon xuong }
//Chuong trinh con phuc vu ngat ngoai 1 void Ngat_Ngoai_1(void) interrupt 2 { TB1=1; TB2=1; TB3=1; TB4=1; TB5=1; TB6=1; TB7=1; TB8=1; while(1) {} } // --- Ham tre --- void tao_tre() { TMOD = TMOD|0x10; TH1=0x3C; // tao tre 50mS TL1=0xB0; TR1=1; while(!TF1); TM1++; TM2++; TM3++; TM4++; TM5++; TM6++; TM7++; TM8++;
TR1=0; TF1=0; } // ---BAT --- void bat() { //--- Phong 1 --- if(CB1==0)
{TB1=0;TM1=0;} // neu co nguoi thi bat den so 1...khoi tao tre //--- Phong 2 ---
if(CB2==0)
{TB2=0;TM2=0;} // neu co nguoi thi bat den so 2...khoi tao tre //--- Phong 3 ---
if(CB3==0)
{TB3=0;TM3=0;} // neu co nguoi thi bat den so 3...khoi tao tre //--- Phong 4 ---
if(CB4==0)
{TB4=0;TM4=0;} // neu co nguoi thi bat den so 4...khoi tao tre //--- Phong 5 ---
if(CB5==0)
{TB5=0;TM5=0;} // neu co nguoi thi bat den so 5...khoi tao tre //--- Phong 6 ---
if(CB6==0)
{TB6=0;TM6=0;} // neu co nguoi thi bat den so 6...khoi tao tre //--- Phong 7 ---
if(CB7==0)
{TB7=0;TM7=0;} // neu co nguoi thi bat den so 7...khoi tao tre //--- Phong 8 ---
if(CB8==0)
{TB8=0;TM8=0;} // neu co nguoi thi bat den so 8...khoi tao tre } // ---TAT --- void tat() { //--- Phong 1 --- if(TM1>200)
{TB1=1;} // het thoi gian 10s thi tat den phong 1 //--- Phong 2 ---
if(TM2>200)
{TB2=1;} // het thoi gian 10s thi tat den phong 2 //--- Phong 3 ---
if(TM3>200)
{TB3=1;} // het thoi gian 10s thi tat den phong 3 //--- Phong 4 ---
if(TM4>200)
{TB4=1;} // het thoi gian 10s thi tat den phong 4 //--- Phong 5 ---
if(TM5>200)
{TB5=1;} // het thoi gian 10s thi tat den phong 5 //--- Phong 6 ---
if(TM6>200)
{TB6=1;} // het thoi gian 10s thi tat den phong 6 //--- Phong 7 ---
if(TM7>200)
{TB7=1;} // het thoi gian 10s thi tat den phong 7 //--- Phong 8 ---
if(TM8>200)
{TB8=1;} // het thoi gian 10s thi tat den phong 8 }
// --- Chuong tirnh --- void main (void)
{ // TB1=1; TB2=1; TB3=1; TB4=1; TB5=1; TB6=1; TB7=1; TB8=1; EXT1_Init(); while(1) { tao_tre(); bat(); tat(); } } 3.6. Giới thiệu sản phẩm. 3.6.1. Mạch in.
Hình 3.16.Mặt trước mạch in.
Hình 3.17. Mặt sau mạch in.
Hình 3.19. Tổng quan mô hình
3.7. Hướng dẫn sử dụng.
+ Bật công tắc cấp nguồn từ Ắc qui cho hệ thống làm việc.
+ Khi phát hiện có sự chuyển động của thực thể sống vào vùng tác động của cảm biến hồng ngoại thì đèn tương ứng sẽ bật sáng; sau khi không còn sự chuyển động trong khoảng thời gian 10 giây sau đèn sẽ tắt để tiết kiệm điện. ( đồng thời cảm biến được tích hợp vào quá trình bảo vệ an ninh cho ngôi nhà ).
+ Trong trường hợp vì lý do nào đó ta quên không tắt các thiết bị khi ra khỏi nhà thì có thể sử dụng điện thoại để bật các Thiết bị 2, Thiết bị 3, Thiết bị 4 lần lượt thông qua các phím “1”,”2”,”3”; và tắt các Thiết bị 2, Thiết bị 3, Thiết bị 4 lần lượt thông qua phím “4”,”5”,”6” trên bàn phím điện thoại A (mang theo người dùng) trong khi thực hiện cuộc gọi đến B (đặt tại hệ thống)
+ Để điều khiển hệ thống an ninh ta tiến hành gọi từ máy A cho máy B và ấn phím “9” để kích hoạt chức năng (nếu có người di chuyển vào vùng cảm biến thì ngoài đèn bật sáng đồng thời chuông báo động cũng sẽ kêu cùng lúc); ta ấn phím “0” khi cần tắt chức năng.
+ Để ngắt toàn bộ thiết bị trong gia đình trong trưởng hợp nhất định ta thực hiện gọi từ máy A cho máy B và ấn phím “#”; ngược lại nếu muốn đưa hệ thống trở lại làm việc bình thường thì ta thực hiện ấn phím “*”.
KẾT LUẬN 1, Những kết quả đạt được
Ba chương được giới thiệu trên đây đã lần lượt trình bày quá trình thực hiện đồ án. Xuất phát với phần mở đầu, phần này đã trình bày những lý do, mục đích đồng thời cũng đưa ra nhiệm vụ cần giải quyết của đồ án. Tiếp theo chương chương 1, 2 và
chương 3 lần lượt trình bày những kết quả tìm hiểu của đồ án đối với bài toán nghiên cứu thiết kế, hệ thống nhà tiết kiệm năng lượng và quá trình làm mô hình.
Có thể nói, nghiên cứu thiết kế, hệ thống nhà tiết kiệm năng lượng là một bài toán rất lớn đòi hỏi phải tổng hợp kiến thức trong những lĩnh vực khoa học như: Điện, Điện tử. Trong khuôn khổ của đồ án, với khoảng thời gian có hạn, đồ án đã đạt được những kết quả bước đầu như sau:
a.Về mặt lý thuyết:
- Tìm hiểu về vi điều khiển nói chung và 89C52 nói riêng. - Tìm hiểu được phần mềm như Proteus.
- Tìm hiểu được nguyên lý làm việc một số phần tử điện tử. - Phương pháp thiết kế mạch điện điều khiển.
- Tìm hiểu về năng lượng mặt trời.
b.Về mặt thực hành:
- Sử dụng phần mềm Proteus để vẽ mạch sơ đồ nguyên lý.
- Thiết kế được phần cứng và phần mềm cho việc điều khiển hệ thống nhà tiết kiệm năng lượng.
- Đấu nối mạch điện điều khiển và mạch cơ khí chính xác, mô hình chạy bình thường.
2, Những tồn tại, hạn chế
Hệ thống nhà tiết kiệm năng lượng được xây dựng ở trên còn một số hạn chế: . Phần lý thuyết về năng lượng mặt trời còn chưa hoàn chỉnh.
. Bài toán điều khiển còn đơn giản.
3, Hướng phát triển
Trên cơ sở những vấn đề còn tồn tại trên, hướng phát triển tiếp theo của đề tài đó là: - Bổ sung hoàn thiện các kiến thức về năng lượng mặt trời và các linh kiện điện tử. - Nghiên cứu, phát triển hoàn thiện mô hình để điều khiển được những bài toán phức tạp hơn, và có thể áp dụng vào thực tế.
Đồ án này chắc sẽ còn nhiều thiếu sót, rất mong nhận được ý kiến đóng góp từ các thầy, cô giáo, các bạn sinh viên, những người quan tâm nhằm xây dựng được cơ sở lý thuyết hoàn thiện hơn về năng lượng mặt trời để từ đó áp dụng hiệu quả trong thực tế.
TÀI LIỆU THAM KHẢO
1. Nguyễn Tăng Cường “Cấu trúc lập trình và họ vi điều khiển 8051” Nhà xuất bản Khoa học kỹ thuật (1999).
2. Phạm Thượng Hàn, Nguyễn Trọng Quế, Nguyễn Văn Hòa, Võ Thanh Sơn, Đào Văn Tú “Các bộ cảm biến trong kĩ thuật đo lường và điều khiển”. Nhà xuất bản khoa học kỹ thuật (2005).
3. Lê Đăng Hưng, Tạ Tuấn Anh, Nguyễn Hữu Đức, Nguyễn Thanh Thủy “ Lập trình hướng đối tượng với C++”. Nhà xuất bản khoa học kỹ thuật (2006)
4. Tống Văn On “Lập trình hệ thống với vi điều khiển” Nhà xuất bản Khoa học kỹ thuật (2000).
5. www.alldatasheet.com