Để nâng cao sự tiện lợi trong việc phòng cháy và chữa cháy, tránh được một số trường hợp báo động giả như bụi hay khói thuốc lá vào cảm biến, những nút nhấn bị hư khiến thiết bị báo động ngay làm hoảng loạn cho người dân, hướng dẫn một lối thoát an toàn để thoát hiểm, cũng như việc đưa nước đến phòng bị cháy một cách thông minh, nhanh chóng. Việc xây dựng một hệ thống phòng cháy, chữa cháy thông minh là vô cùng cần thiết. Đề tài full code, báo cáo trong file zip
LỜI CẢM ƠN Xin chân thành cảm ơn: Ban giám hiệu trường Đại học Sư Phạm Kỹ Thuật TP.HCM tạo điều kiện tốt cho chúng em học tập nghiên cứu Khoa Điện - Điện tử, Khoa Đào tạo Chất lượng cao, thư viện trường cung cấp giáo trình nhiều tài liệu tham khảo cho em suốt trình học tập nghiên cứu Sự hướng dẫn giúp đỡ chi tiết tận tình thầy Nguyễn Ngô Lâm số thầy cô giáo khoa Điện tử tận tình giảng giải phân tích rõ vấn đề thắc mắc tình nghiên cứu thi cơng Đồ án Mặc dù cố gắng trình tìm hiểu kiến thức hạn chế nên khơng tránh khỏi sai sót Chúng em mong góp ý, nhận xét đánh giá nội dung hình thức trình bày thầy Đồ án chúng em để chúng em hoàn thiện Chúng em xin chân thành cảm ơn! TP.HCM, ngày 10 tháng 07 năm 2017 Sinh viên thực Lê Hoàng Minh Thuận Trần Tú Huy CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** Tp Hồ Chí Minh, ngày tháng 07 năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: LÊ HOÀNG MINH THUẬN 13141555 MSSV: Họ tên sinh viên 2: TRẦN TÚ HUY 13141623 MSSV: Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông 13141CLDT1 Giảng viên hướng dẫn: THS NGUYỄN NGÔ LÂM 0908434763 Ngày nhận đề tài: 03/03/2017 10/07/2017 Lớp: ĐT: Ngày nộp đề tài: Tên đề tài: Thiết kế hệ thống phòng cháy chữa cháy cho chung cư Các số liệu, tài liệu ban đầu: giáo trình vi xử lý, giáo trình kĩ thuật số, điện tử Nội dung thực đề tài: Thiết kế mơ hình phòng cháy chữa cháy chung cư Sản phẩm: Mơ hình hệ thống phòng cháy chữa cháy chung cư TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên 1: LÊ HOÀNG MINH THUẬN MSSV: 13141555 Họ tên sinh viên 2: TRẦN TÚ HUY MSSV: 13141623 Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông Tên đề tài: Thiết kế hệ thống phòng cháy chữa cháy cho chung cư Họ tên Giáo viên hướng dẫn: THS NGUYỄN NGÔ LÂM NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: .) Tp Hồ Chí Minh, ngày tháng 07 năm 2017 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên sinh viên 1: LÊ HOÀNG MINH THUẬN MSSV: 13141555 Họ tên sinh viên 2: TRẦN TÚ HUY MSSV: 13141623 Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông Tên đề tài: Thiết kế hệ thống phòng cháy chữa cháy cho chung cư Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng 07 năm 2017 Giáo viên phản biện (Ký & ghi rõ họ tên) TÓM TẮT NỘI DUNG Nội dung báo cáo đồ án tốt nghiệp bao gồm nghiên cứu nhóm sinh viên chúng tơi việc thực đồ án “Thiết kế hệ thống PCCC cho chung cư” Trong bao gồm thực trạng hệ thống PCCC nay, kiến thức lý thuyết liên quan đến thiết bị, công nghệ, kỹ thuật sử dụng trình thiết kế hệ thống, trình lên ý tưởng, tìm biện pháp tiến hành thi công hệ thống Cuối phần kết luận tìm ưu điểm, khuyết điểm, hướng phát triển hệ thống code chương trình hệ thống SUMMARY The contents of the Graduation Project include researches by us on the project "Design the fire protection system for apartment building" This includes the actual state of the fire protection systems in apartment buildings, the theoretical knowledge related to the equipment, technologies and techniques, which are used in the process of design this system, ideas and proceed to build the system Finally, the conclusion is to find out the advantages, disadvantages and development for system and program code of the system MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT PC: LCD: I2C: UART: GSM: Personal Computer Liquid Crystal Display Inter-Intergrated Circuit Universal Asynchronous Receiver – Transmitter Global System for Mobile Communications SMS: GPRS: DLCI: USB: SRAM: EEPROM: Memory TTL: LED: Arduino IDE: Simple Message System General Packet Radio Service Data Link Connection Identifier Universal Serial Bus Static Random Access Memory Electrically Erasable Programmable Read Only Transistor-Transistor Logic Light Emitting Diode Arduino Integrated Development Environment DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU Chương 1: TỔNG QUAN 1.1 Giới thiệu tình hình nghiên cứu Việc phòng cháy chữa cháy trở thành mối quan tâm hàng đầu nước ta nhiều nước giới Nó trở thành nghĩa vụ người dân Trên phương tiện thông tin đại chúng tuyên truyền giáo dục cho người dân ý thức phòng cháy chữa cháy, nhằm mục đích hạn chế vụ cháy đáng tiếc xảy Hệ thống phòng cháy chữa cháy hệ thống quan trọng thiếu chung cư, tòa nhà cao tầng Nó đóng vai trò quan trọng việc bảo vệ tài sản tính mạng người Vì mà việc đầu tư thi cơng lắp đặt hệ thống phòng cháy chữa cháy bảo trì bảo dưỡng hệ thống luôn đề lên hàng đầu Cùng với phát triển khoa học công nghệ đại, hệ thống phòng cháy chữa cháy ngày cải tiến đáng kể nhằm đảm bảo độ tin cậy, làm việc chắn hệ thống Đồng thời hệ thống kết hợp với hệ thống khác như: hệ thống chữa cháy tự động chỗ, hệ thống thông tin truyền thông (điện thoại, mạng Internet…) để thông báo đến cho trung tâm phòng cháy chữa cháy cách kịp thời, bảo đảm an tồn cho tính mạng người tài sản 1.2 Tính cấp thiết đề tài Để nâng cao tiện lợi việc phòng cháy chữa cháy, tránh số trường hợp báo động bụi hay khói thuốc vào cảm biến, nút nhấn bị hư khiến thiết bị báo động làm hoảng loạn cho người dân, hướng dẫn lối an tồn để hiểm, việc đưa nước đến phòng bị cháy cách thơng minh, nhanh chóng Việc xây dựng hệ thống phòng cháy, chữa cháy thơng minh vơ cần thiết 1.3 Mục tiêu thiết kế Đề tài thiết kế hệ thống phòng cháy, chữa cháy thơng minh có giao tiếp điều khiển qua giao diện máy tính, đồng thời thơng báo qua điện thoại với người có trách nhiệm có cố xảy 1.4 Giới hạn đề tài Đề tài thực mơ hình chung cư nhỏ với hai tầng bốn phòng Các cảm biến sử dụng chung cư có phạm vi đo nhỏ Hệ thống chữa cháy thiết kế với bồn chứa nước chữa cháy nhỏ, áp lực nước chữa cháy nhỏ 10 void docgiaodien(){ if (Serial.available()) { serialByte = Serial.read(); } if (serialByte == '0') Cmanual =0; if (serialByte == '1') Cmanual =1; if (serialByte == '2') Cdone =1; if (serialByte == '3') Clight =1; if (serialByte == '4') Clight =0; if (serialByte == '5') Cmotor =1; if (serialByte == '6') Cmotor =0; if (serialByte == '7') Cbuzzer =1; if (serialByte == '8') Cbuzzer =0; } //CHUONG TRINH CON NUT CHUYEN MAN LCD -void nut_lcd(){ tt_lcd = digitalRead(button_mh); if (tt_lcd == HIGH ) { tam_lcd = tam_lcd + 1; if(tam_lcd == 7) { tam_lcd = 0; } } } //CHUONG TRINH CON NUT NHAN CAP void nutnhankhan(){ ttnkc1 = digitalRead(nkc1); ttnkc2 = digitalRead(nkc2); ttnkc3 = digitalRead(nkc3); ttnkc4 = digitalRead(nkc4); if (ttnkc1 == HIGH) { a = 1;} if (ttnkc2 == HIGH) { b = 1;} if (ttnkc3 == HIGH) { c = 1; } if (ttnkc4 == HIGH) { d = 1;} HINH KHAN if( a == and b == and c == and d == 0){ khan = 0;} else { khan = 1;} if (a == 1) { y += "A";}else { y += " ";} if (b == 1) { y += "B";}else { y += " ";} if (c == 1) { y += "C";}else { y += " ";} if (d == 1) { y += "D";}else { y += " ";} } //CHUONG TRINH CON AUTO/MANUAL -void button_auto(){ if (digitalRead(pinmanual) == 1){ tt_manual = !tt_manual;} if (tt_manual == && Cmanual == 0){ manual = 0; } else{ manual = 1; } } //CHUONG TRINH CON TEST -void testbutton(){ tt_light = digitalRead(pinlight); if (tt_light == 1) {light = !light;} tt_motor = digitalRead(pinmotor); if (tt_motor == 1) {motor = !motor;} tt_buzzer = digitalRead(pinbuzzer); if (tt_buzzer == 1) {buzzer = !buzzer;} } //CHƯƠNG TRÌNH TEST LIGH, MOTOR void test(){ if (light == && Clight == 0){ dataled0 = 0; dataled1 = 0; } else{ dataled0 = 255; dataled1 = 255; } NUT BUTTON BUZZER, digitalWrite(latchPin, 0); shiftOut(dataPin, clockPin, dataled0); shiftOut(dataPin, clockPin, dataled1); digitalWrite(latchPin, 1); delay(300); //test motor -if (motor == && Cmotor == ){ digitalWrite(relay,0); } else{ digitalWrite(relay,1); } //test buzzer if (buzzer == && Cbuzzer == 0){ digitalWrite(buzzer1,0); digitalWrite(buzzer2,0); digitalWrite(buzzer3,0); } else{ digitalWrite(buzzer1,1); digitalWrite(buzzer2,1); //digitalWrite(buzzer3,1); } } //CHƯƠNG TRÌNH KIỂM TRA CẢM BIẾN void kiemtracambien(){ if ((analogSensor1 > sensorThres) or (ndo1 > 65)) { alert=1; A=1; tam_lcd = 6; } if ((analogSensor2 > sensorThres) or (ndo2 > 65)) { alert=1; B=1; tam_lcd = 6; } if ((analogSensor3 > sensorThres) or (ndo3 > 65)) { alert=1; C=1; tam_lcd = 6; } if ((analogSensor4 > sensorThres) or (ndo4 > 65)) { alert=1; D=1; tam_lcd = 6; } if (A == && B == && C == && D == 0){ fire = 0;} else { fire = 1;} if (A == 1) { x += "A";} else {x += " ";} if (B == 1) { x += "B";} else {x += " ";} if (C == 1) { x += "C";} else {x += " ";} if (D == 1) { x += "D";} else {x += " ";} } //CHUONG TRINH CON DONE void nut_done(){ ttdone = digitalRead(nutdone); if (ttdone == && Cdone == 0) { done = 0; } else {done = 1;} } //CHƯƠNG TRÌNH NƯỚC void bomnuoc(){ if (distance >= 30) { digitalWrite(relay,HIGH); } if (distance < 10) { digitalWrite(relay,LOW); } } //CHUONG TRINH CON NUOC void bat_valve(){ if (A == 1) { digitalWrite(valve1,HIGH); } else {digitalWrite(valve1,LOW);} if (B == 1) { digitalWrite(valve2,HIGH); NUT NHAN BƠM BAT VALVE } else {digitalWrite(valve2,LOW);} if (C == 1) { digitalWrite(valve3,HIGH); } else {digitalWrite(valve3,LOW);} if (D == 1) { digitalWrite(valve4,HIGH); } else {digitalWrite(valve4,LOW);} if (done == 1) { digitalWrite(valve1,LOW); digitalWrite(valve2,LOW); digitalWrite(valve3,LOW); digitalWrite(valve4,LOW); } } //CHUONG TRINH CON GUI TIN NHAN -void Gsm_MakeSMS(String phone,String content) { mySim.println("AT+CMGS=\"" + phone + "\""); //GỬI TIN NHẮN delay(3000); mySim.print(content); //GỬI MẢNG KÍ TỰ TIN NHẮN mySim.print((char)26); //GIỚI HẠN TỐI ĐA 26 KÍ TỰ delay(3000); } //CHUONG TIRNH CON GOI DIEN -void Gsm_MakeCall(String phone) { mySim.println("ATD" + phone + ";"); // Goi dien delay(10000); // Sau 10s mySim.println("ATH"); // Ngat cuoc goi delay(3000); } //CHUONG TRINH CON DICH DU LIEU 74HC595 void shiftOut(int myDataPin, int myClockPin, byte myDataOut) { pinMode(myClockPin, OUTPUT); pinMode(myDataPin, OUTPUT); digitalWrite(myDataPin, 0); digitalWrite(myClockPin, 0); //shiftOut(dataPin, clockPin, dataled1); for (i=7; i>=0; i ) { digitalWrite(myClockPin, 0); if ( myDataOut & (1= 11) { digitalWrite(relaynguon,1); digitalWrite(buzzer1,1); digitalWrite(buzzer2,1); digitalWrite(buzzer3,1); bat_valve(); if (dem == 11){ Gsm_MakeCall(myphone); Gsm_MakeSMS(myphone,"PHONG " + x + " CHAY"); } } } else { alert = 0; tam_lcd = 0; dem = 0; fire = 0; khan = 0; A=0; B=0; C=0; D=0; a = b = c = d = 0; digitalWrite(buzzer1,0); digitalWrite(buzzer2,0); digitalWrite(buzzer3,0); digitalWrite(relaynguon,0); } } den_exit(); } //CHUONG TRINH CON LCD void hienthi_lcd(){ switch(tam_lcd) { case 1: lcd.clear(); lcd.setCursor(0,0); lcd.print("Muc nuoc:"); lcd.setCursor(0,5); lcd.print(distance); delay(700); break; case 2: lcd.setCursor(0,0); lcd.print("ROOM1 ND: "); lcd.print(ndo1); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); lcd.print(analogSensor1); delay(700); lcd.setCursor(0,0); lcd.print("ROOM1 ND: "); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); break; case 3: lcd.setCursor(0,0); lcd.print("ROOM2 ND: "); lcd.print(ndo2); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); lcd.print(analogSensor2); delay(700); lcd.setCursor(0,0); lcd.print("ROOM2 ND: "); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); break; case 4: lcd.setCursor(0,0); lcd.print("ROOM3 ND: "); lcd.print(ndo3); HIEN THI lcd.setCursor(0,1); lcd.print("MUC KHOI: "); lcd.print(analogSensor3); delay(700); lcd.setCursor(0,0); lcd.print("ROOM3 ND: "); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); break; case 5: lcd.setCursor(0,0); lcd.print("ROOM4 ND: "); lcd.print(ndo4); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); lcd.print(analogSensor4); delay(700); lcd.setCursor(0,0); lcd.print("ROOM4 ND: "); lcd.setCursor(0,1); lcd.print("MUC KHOI: "); break; case 6: lcd.clear(); lcd.setCursor(0,0); lcd.print("PHONG" + x + " CHAY"); lcd.setCursor(0,1); lcd.print("HELP ROOM:" + y ); delay(500); break; default: lcd.clear(); lcd.setCursor(0,0); lcd.print("CHE DO:"); if (manual == 0) {lcd.print("AUTO");} else {lcd.print("MANUAL");} lcd.setCursor(0,1); lcd.print("HELP ROOM:" + y ); delay(700); break; } } //CHUONG TRINH CON XUAT C# -void printPC(){ Serial.print(manual); Serial.print(fire); Serial.print(khan); Serial.print(x); Serial.print(y); DATA //room1 if (ndo1 < 10){ Serial.print(ndo1,0); Serial.print(" ");} else{ Serial.print(ndo1,0);} if (analogSensor1 < 10){ Serial.print(analogSensor1); Serial.print(" ");} else if (analogSensor1 < 100){ Serial.print(analogSensor1); Serial.print(" ");} else{ Serial.print(analogSensor1);} //room2 -if (ndo2 < 10){ Serial.print(ndo2,0); Serial.print(" ");} else{ Serial.print(ndo2,0);} if (analogSensor2 < 10){ Serial.print(analogSensor2); Serial.print(" ");} else if (analogSensor2 < 100){ Serial.print(analogSensor2); Serial.print(" ");} else{ Serial.print(analogSensor2);} //room3 -if (ndo3 < 10){ Serial.print(ndo3,0); Serial.print(" ");} else{ Serial.print(ndo3,0);} if (analogSensor3 < 10){ Serial.print(analogSensor3); Serial.print(" ");} else if (analogSensor3 < 100){ Serial.print(analogSensor3); Serial.print(" ");} else{ Serial.print(analogSensor3);} //room4 -if (ndo4 < 10){ Serial.print(ndo4,0); Serial.print(" ");} else{ Serial.print(ndo4,0);} if (analogSensor4 < 10){ Serial.print(analogSensor4); Serial.print(" ");} else if (analogSensor4 < 100){ Serial.print(analogSensor4); Serial.print(" ");} else{ Serial.print(analogSensor4);} x = ""; y = ""; } // CHUONG TIRNH CHINH -void setup() { //input - pinMode(nkc1,INPUT); pinMode(nkc2,INPUT); pinMode(nkc3,INPUT); pinMode(nkc4,INPUT); // khai báo chân nút nhấn khẩn cấp pinMode(nutdone,INPUT); // khai báo chân nút done pinMode(button_mh,INPUT); // nút chuyển hình pinMode(pinmanual,INPUT); // nut auto/manual pinMode(pinlight,INPUT); // nut test light pinMode(pinmotor,INPUT); // nut test motor pinMode(pinbuzzer,INPUT); // nut test buzzer pinMode(echo,INPUT); // chân echo sẽ nhận tín hiệu //output pinMode(buzzer1, OUTPUT); pinMode(buzzer2, OUTPUT); pinMode(buzzer3, OUTPUT); // khai báo chân buzzer pinMode(led,OUTPUT); // led alert pinMode(trig,OUTPUT); // chân trig sẽ phát tín hiệu pinMode(relay,OUTPUT); // chân relay pinMode(relaynguon,OUTPUT); pinMode(valve1,OUTPUT); pinMode(valve2,OUTPUT); pinMode(valve3,OUTPUT); pinMode(valve4,OUTPUT); // chan valve pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); // chan dich LED // // Serial.begin(9600); //digitalWrite(valve1,0); digitalWrite(valve2,0); digitalWrite(valve3,0);digitalWrite(valve4,0); //digitalWrite(relaynguon,1); digitalWrite(relay,0); lcd.begin(); // khoi tao man hinh LCD lcd.backlight(); // bật đèn nên LCD tam_lcd = 0; lcd.clear(); lcd.setCursor(1,0); lcd.print("DANG THIET LAP"); lcd.setCursor(4,1); lcd.print("HE THONG"); delay(200); mySim.print("AT+IPR=9600\r\n"); delay(700); lcd.clear(); lcd.setCursor(1,0); lcd.print("THIET LAP XONG"); mySim.begin(9600); // thiet lap module delay(200); mySim.print("AT+CMGF=1\r\n"); //chon che sim900 Text delay(300); mySim.print("AT+CNMI=1,2,0,0,0\r\n"); thong tin tin nhan delay(300); mySim.print("AT+CMGD=1\r\n"); nhan delay(300); } void loop() { doccambien(); nut_lcd(); button_auto(); docgiaodien(); nutnhankhan(); if (manual == 1){ testbutton(); test(); kiemtracambien(); } else{ bomnuoc(); kiemtracambien(); xulybaodong(); } hienthi_lcd(); printPC(); } PHỤ LỤC CODE C# using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; //hien thi //xoa tin using using using using using using using System.Linq; System.Text; System.Windows.Forms; System.IO; System.Threading; System.IO.Ports; System.Xml; namespace WindowsFormsApplication1 { public partial class MAIN : Form { string InputData = String.Empty; // Khai báo string buff dùng cho hiển thị liệu sau string nhan = String.Empty; // MANG LUU INPUTDATA TU SERIALPORT1 string auto = String.Empty; // MANG LUU GIA TRI CHE DO AUTO TRONG SERIAL string fire = String.Empty; // MANG LUU GIA TRI BIEN CHAY TRONG SERIAL string room = String.Empty; // MANG LUU GIA TRI PHONG CAN GIUP TRONG SERIAL delegate void SetTextCallback(string text); // Khai bao delegate SetTextCallBack voi tham so string public MAIN() { InitializeComponent(); serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceive); string[] BaudRate = { "1200", "2400", "4800", "9600", "19200", "38400", "57600", "115200" }; comboBox2.Items.AddRange(BaudRate); } private void Form1_Load(object sender, EventArgs e) { comboBox1.DataSource = SerialPort.GetPortNames(); COM hoạt động lên comboBox1 // Quét cổng comboBox2.SelectedIndex = 3; } private void timer1_Tick(object sender, EventArgs e) { if (!serialPort1.IsOpen) { label5.Text = ("Chưa kết nối"); } label5.ForeColor = Color.Red; else if (serialPort1.IsOpen) { label5.Text = ("Đã kết nối"); label5.ForeColor = Color.Green; } } private void DataReceive(object obj, SerialDataReceivedEventArgs e) { InputData = serialPort1.ReadExisting(); if (InputData != String.Empty) { SetText(InputData); // Gọi delegate khai báo trước } } // Hàm DELEGATE private void SetText(string text) { if (this.textBox1.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetText); // khởi tạo delegate gọi đến SetText this.Invoke(d, new object[] { text }); } else { nhan = text; //textBox1.Text = nhan; auto = nhan.Substring(0, 1); if (auto == "1") { textBox1.Text = "MANUAL"; } else { textBox1.Text = "AUTO"; } fire = nhan.Substring(1, 1); if (fire == "0") { textBox2.Text = "KHƠNG CĨ"; } else { textBox2.Text = nhan.Substring(3, 4); } room = nhan.Substring(2, 1); if (room == "0") { textBox3.Text = "KHƠNG CĨ"; } else { textBox3.Text = nhan.Substring(7, 4); } textBox4.Text = nhan.Substring(11, 2); //nhiet room textBox5.Text = nhan.Substring(13, 3); textBox6.Text = nhan.Substring(16, 2); //nhiet room textBox7.Text = nhan.Substring(18, 3); textBox8.Text = nhan.Substring(21, 2); //nhiet room textBox9.Text = nhan.Substring(23, 3); textBox10.Text = nhan.Substring(26, 2); //nhiet room textBox11.Text = nhan.Substring(28, 3); } } private void button1_Click(object sender, EventArgs e) { if (!serialPort1.IsOpen) { serialPort1.PortName = comboBox1.Text; serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text); serialPort1.Open(); } } private void button2_Click(object sender, EventArgs e) { serialPort1.Close(); } private void button3_Click(object sender, EventArgs e) { serialPort1.Write("2"); //BAO DONG GIA } private void button4_Click(object sender, EventArgs e) { serialPort1.Write("4"); //TAT DEN } private void button5_Click(object sender, EventArgs e) { textBox1.Text = String.Empty; // CLEAR TEXTBOX textBox2.Text = String.Empty; textBox3.Text = String.Empty; textBox4.Text = String.Empty; textBox5.Text = String.Empty; textBox6.Text = String.Empty; textBox7.Text = String.Empty; textBox8.Text = String.Empty; textBox9.Text = String.Empty; textBox10.Text = String.Empty; textBox11.Text = String.Empty; } private void button6_Click(object sender, EventArgs e) { serialPort1.Write("0"); //AUTO } private void button7_Click(object sender, EventArgs e) { serialPort1.Write("1"); //MANUAL } private void button8_Click(object sender, EventArgs e) { serialPort1.Write("3"); //BAT DEN } private void button9_Click(object sender, EventArgs e) { serialPort1.Write("5"); //BAT MOTOR } private void button10_Click(object sender, EventArgs e) { serialPort1.Write("6"); //TAT MOTOR } private void button11_Click(object sender, EventArgs e) { serialPort1.Write("7"); //BAT LOA } private void button12_Click(object sender, EventArgs e) { serialPort1.Write("8"); //TAT LOA } } } ... số chân kết nối (chỉ chân) mở rộng tùy thích 28 Hình 2.19: IC74HC595 Hình 2.20: Sơ đồ chân IC74HC595 Bảng 2.20: Ch c chân IC74HC595 STT Chân Chân 15,1,2,3,4,5,6,7 Chân Chân Chân 10 Chân 11 Chân... Chân 13 Chân 14 Chân 16 Ch c Q0 Q7 GND Chân liệu nối tiếp Chân reset m c thấp Chân vào xung clock Xung clock chốt liệu Chân cho phép tích c c m c thấp Đầu vào liệu nối tiếp VCC Bảng 2.21: Thông. .. m c cao (nối c c dương vào chân tín hiệu relay sẽ đóng) Hình 2.13: Module relay 24 Bảng 2.15: Chi tiết chân module relay STT Loại C c chân kích C c chân nối đồ dùng Chân Ch c + S COM NO NC C p