1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án hcmute) thiết kế và thi công máy đo nhịp tim giao tiếp với máy tính

78 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG MÁY ĐO NHỊP TIM GIAO TIẾP VỚI MÁY TÍNH GVHD: NGUYỄN THANH NGHĨA SVTH: NGUYỄN TRƯỜNG LONG MSSV:15341019 SKL 0 Tp Hồ Chí Minh, tháng 1/2018 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MÁY ĐO NHỊP TIM GIAO TIẾP VỚI MÁY TÍNH GVHD: ThS Nguyễn Thanh Nghĩa SVTH: Nguyễn Trường Long MSSV: 15341019 Tp Hồ Chí Minh - 01/2018 an TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 07 tháng 10 năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Nguyễn Trường Long Kỹ thuật Điện tử truyền thơng Đại học quy 2015 MSSV: 15341019 Mã hệ: K15341 Lớp: 15341019 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MÁY ĐO NHỊP TIM GIAO TIẾP VỚI MÁY TÍNH II NHIỆM VỤ Các số liệu ban đầu: - Hệ thống theo dõi nhịp tim giao tiếp với máy tính qua giao thức serial - Sử dụng xử lý board Arduino Uno R3 - Module cảm biến sử dụng AD8232, module chuyên dụng để theo dõi tín hiệu điện tim, sử dụng nguồn từ ngõ 3,3V Arduino Nội dung thực hiện: - Tìm hiểu hoạt động tim, nguyên tắc tạo tín hiệu điện tim, chuyển đạo, vị trí đặt điện cực thể để thu tín hiệu điện tim - Lựa chọn phần cứng, nghiên cứu, phân tích nguyên tắc hoạt động khối để xây dựng mơ hình hồn chỉnh cho hệ thống - Lập trình giao tiếp xử lý tín hiệu Arduino phần mềm Arduino IDE thiết kế giao diện điều khiển cho hệ thống phần mềm Visual C# III NGÀY GIAO NHIỆM VỤ: 03/10/2017 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 12/01/2018 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Thanh Nghĩa CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii an TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 08 tháng 10 năm 2017 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Trường Long Lớp: 153410B MSSV: 15341019 Tên đề tài: Thiết kế thi công máy đo nhịp tim giao tiếp với máy tính Tuần/ngày Tuần 3/10/2017 – 8/10/2017 Tuần 2, 3, 09/10/2017 – 29/10/2017 Xác nhận GVHD Nội dung Tìm ý tưởng cho đề tài, xây dựng đề cương, xếp lịch trình thực đồ án Phân tích u cầu hệ thống, tìm hiểu sở lý thuyết tín hiệu điện tim, thành phần sóng, cách đo điện tim Tuần 5, 6, 30/10/2017 – 19/11/2017 Lựa chọn phần cứng, tìm hiểu lý thuyết board Arduino, module AD8232, cách kết nối, nguyên lý hoạt động thành phần hệ thống Tuần 20/11/2017 – 26/11/2017 Phân tích sơ đồ khối, thiết kế phần cứng, xây dựng mơ hình sản phẩm Tuần 9, 10 27/11/2017 – 10/12/2017 Viết chương trình Arduino, chương trình điều khiển vẽ dạng sóng điện tâm đồ Visual C# Tuần 11, 12 11/12/2017 – 24/12/2017 Tuần 14, 15 25/12/2017 – 12/01/2018 Tiến hành thi công, chạy thử sản phẩm, đánh giá sai số, sửa lỗi có Viết hoàn thiện báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii an LỜI CAM ĐOAN Em xin cam đoan đồ án tổng quát lại kết trình nghiên cứu em Các số liệu, hình ảnh, thơng tin đồ án trung thực, em tìm hiểu, tham khảo từ nhiều nguồn tư liệu Đồ án không chép đồ án có từ trước Trong luận văn này, em sử dụng số tài liệu tham khảo liệt kê danh mục Tài liệu tham khảo Nếu phát có gian lận em xin hoàn toàn chịu trách nhiệm nội dung đề tài Trường đại học Sư Phạm Kỹ Thuật Tp HCM không liên quan đến vi phạm tác quyền, quyền em gây trình thực (nếu có) Người thực đề tài Nguyễn Trường Long iv an LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành sâu sắc đến Thầy Nguyễn Thanh Nghĩa Thầy tận tình hướng dẫn, góp ý định hướng, tạo điều kiện cho em suốt trình thực đề tài tốt nghiệp Em xin chân thành cảm ơn đến tất thầy cô Khoa Điện – Điện tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp HCM, kiến thức kinh nghiệm quý báu mà em nhận từ thầy suốt q trình theo học hành trang tốt giúp em vững bước nghiệp Em 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 cho chúng em làm đồ án Cuối cùng, Em xin gửi lời tri ân đến gia đình, bạn bè, người thần yêu quan tâm tạo điều kiện tốt cho em suốt trình học tập Người thực đề tài Nguyễn Trường Long v an MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi DANH MỤC HÌNH VÀ BẢNG viii CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 LÝ THUYẾT TÍN HIỆU ĐIỆN TIM 2.1.1 Cấu trúc giải phẫu chức tim 2.1.2 Q trình hình thành tín hiệu điện tim 2.2 CÁC PHƯƠNG PHÁP THEO DÕI NHỊP TIM 2.2.1 Khảo sát số phương pháp đo nhịp tim có 2.2.2 Phương pháp đo điện tim 2.3 GIỚI THIỆU PHẦN CỨNG 17 2.3.1 Arduino 17 2.3.2 Module cảm biến AD8232 23 2.3.3 Khối nguồn 24 2.3.4 Phần mềm lập trình 29 CHƯƠNG THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐO ĐIỆN TIM 39 3.1 GIỚI THIỆU 39 3.2 PHÂN TÍCH SƠ ĐỒ KHỐI 40 3.2.1 Phân tích sơ đồ khối 40 3.2.2 Thiết kế mạch 41 3.3 SƠ ĐỒ NGUYÊN LÝ 48 3.4 GIAO DIỆN PHẦN MỀM ĐIỀU KHIỂN 50 CHƯƠNG KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 51 4.1 MỘT SỐ HÌNH ẢNH PHẦN CỨNG SẢN PHẨM 51 vi an 4.2 ƯU ĐIỂM VÀ HẠN CHẾ 51 4.3 KẾT QUẢ MÔ PHỎNG 52 CHƯƠNG KẾT LUẬN - HƯỚNG PHÁT TRIỂN 53 5.1 KẾT LUẬN 53 5.2 HƯỚNG PHÁT TRIỂN 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 vii an DANH MỤC HÌNH VÀ BẢNG Hình Trang Hình 2.1: Cấu tạo tim người Hình 2.2: Hệ thống dẫn truyền tim Hình 2.3: Khử cực tâm nhĩ hình thành sóng P Hình 2.4: Khử cực vách liên thất hình thành sóng Q Hình 2.5: Khử cực tâm thất hình thành sóng R, S Hình 2.6: Tái cực tâm thất hình thành sóng T Hình 2.7: Cách đo thủ công tay Hình 2.8: Đo nhịp tim ống nghe Hình 2.9: Đo quang học Hình 2.10: Điện tâm đồ 10 Hình 2.11: Willem Einthoven máy ghi điện tâm đồ 10 Hình 2.12: Tín hiệu ECG chuẩn 11 Hình 2.13: Sơ đồ mắc chuyển đạo mẫu 12 Hình 2.14: Tam giác Einthoven 13 Hình 2.15: Cách đấu cực trung tâm mắc chuyển đạo đơn cực chi 14 Hình 2.16: Sơ đồ mắc chuyển đạo đơn cực chi tăng cường 15 Hình 2.17: Vị trí đặt điện cực thăm dị chuyển đạo trước tim 15 Hình 2.18: Mặt phẳng nằm ngang với trục chuyển đạo 16 Hình 2.19: Board Arduino Mega2560 19 Hình 2.20: Board Arduino Due 19 Hình 2.21: Board Arduino Nano 19 Hình 2.22: Board Arduino Pro Mini 20 Hình 2.23: Board Arduino Uno R3 20 Hình 2.24: Vị trí chân nguồn board Arduino Uno R3 21 Hình 2.25: Chức chân Arduino Uno R3 22 Hình 2.26: Module cảm biến đo nhịp tim AD8232 23 Hình 2.27: Sơ đồ kết nối Arduino module AD8232 24 Hình 2.28: Sơ đồ khối nguồn hoàn chỉnh 24 Hình 2.29: Ký hiệu biến áp nguồn 25 Hình 2.30: Mạch chỉnh lưu hai nửa chu kỳ 26 Hình 2.31: Mạch chỉnh lưu cầu 27 viii an Hình 2.32: Chỉnh lưu điện áp hai cực tính 28 Hình 2.33: Giao diện phần mền arduino IDE 29 Hình 2.34: Vùng giao diện phần mền arduino IDE 30 Hình 2.35: Các lệnh công cụ phần mền Ardunio IDE 31 Hình 2.36: Chương trình mẫu arduino IDE 31 Hình 2.37: Vùng thông báo arduino IDE 32 Hình 2.38: Giao diện phần mềm C# 35 Hình 2.39: Giao diện cài đặt chương trình C# 35 Hình 2.40: Giao diện khởi động chương trình 36 Hình 2.41: Tạo project Visual C# 36 Hình 2.42: Giao diện Window Form Application 37 Hình 2.43: Các cơng cụ hỗ trợ thiết kế giao diện Visual C# 38 Hình 3.1: Mơ hình tổng quan đề tài 39 Hình 3.2: Sơ đồ kết nối cảm biến AD8232 để đo tín hiệu điện tim 39 Hình 3.3: Sơ đồ khối hệ thống 40 Hình 3.4: Sơ đồ khối nguồn hoàn chỉnh 41 Hình 3.5: IC ổn áp LM317 42 Hình 3.6: Sơ đồ nguyên lý IC LM317 43 Hình 3.7: Sơ đồ ổn áp dùng LM317 43 Hình 3.8: Khối phân áp 47 Hình 3.9: Sơ đồ nguyên lý hoàn chỉnh cho mạch nguồn 48 Hình 3.10: Sơ đồ nguyên lý Board Arduino Uno R3 48 Hình 3.11: Sơ đồ nguyên lý khối cảm biến đo nhịp tim AD8232 49 Hình 3.12: Giao diện phần mềm thu thập hiển thị tín hiệu điện tim 50 Hình 4.1: Phần cứng sản phẩm 51 Hình 4.2: Kết nối với máy tính 52 Hình 4.3: Dạng sóng đo hiển thị phần mềm 52 Hình 5.1: Máy đo dạng sóng mini 53 Bảng Trang Bảng 2.1: Biên độ sóng thành phần tín hiệu ECG 11 Bảng 2.2: Khoảng thời gian sóng tín hiệu ECG 11 Bảng 2.3: Thông số kỹ thuật Arduino Uno R3 20 ix an TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách, tài liệu nghiên cứu tham khảo [1] Giáo sư Trần Đỗ Trinh, “Hướng Dẫn Đọc Điện Tim”, ĐH Y Dược Huế, 2008 [2] Trần Thanh Tuấn, “Bài giảng Điện Tâm Đồ Cơ Bản”, ĐH Y Dược Tp HCM, 2014 [3] Trần Thu Hà, “Giáo Trình Điện Tử Cơ Bản”, NXB ĐH Quốc Gia, 2013 [4] Nguyễn Trung Tín, “Hướng Dẫn Sử Dụng Cơ Bản Arduino”, Học Viện Hàng Không Việt Nam, 2014 [5] Karli Watson, “Beginning Visual C# 2012 Programming”, Wrox, 2012 Trang web tham khảo [6] “AD8232 Heart Rate Monitor Hookup Guide”, Learn.sparkfun.com tutorial https://learn.sparkfun.com/tutorials/ad8232-heart-rate-monitor-hookupguide?_ga=2.220620571.226270561.1516552418-388225961.1509605206 [7] “C# (WinForms) - Vẽ đồ thị theo thời gian thực từ Arduino”, Cộng đồng Arduino Việt Nam - Arduino.vn http://arduino.vn/tutorial/1378-c-winforms-ve-do-thi-theo-thoi-gian-thuc-tu-arduino BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC PHỤ LỤC HƯỚNG DẪN SỬ DỤNG SẢN PHẨM Bước 1: Kết nối hệ thống với máy tính qua cổng Mini USB tích hợp sẵn, cổng ngồi nhiệm vụ giao tiếp với máy tính cịn đóng vai trò nguồn điện cung cấp cho hệ thống, đảm bảo yêu cầu nhỏ gọn, kết nối đơn giản Bước 2: Đặt điện cực lên thể vị trí sau: - Điện cực màu xanh đặt phía bên phải bụng thay cho chuyển đạo chân phải - Điện cực màu đỏ đặt tim, chếch qua phải để thay cho chuyển đạo tay phải - Điện cực màu vàng đặt tim, chếch qua trái thay cho chuyển đạo tay trái Bước 3: Mở phần mềm điều khiển máy tính Bước 4: Chọn cổng COM Bước 5: Nhấn nút CONNECT để kết nối với board Arduino Bước 6: Khi có tín hiệu báo kết nối, nhấn nút RUN để bắt đầu chạy, lúc tín hiệu đo hiển thị máy tính dạng điện tâm đồ Trong q trình đo người dùng dừng chương trình lúc cách nhấn nút PAUSE, nhấn nút CLEAR để xóa liệu kết nối, nhấn SAVE để lưu lại liệu vào file Excel, nhấn EXIT để khỏi chương trình BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC  CODE ARDUINO int state = 0; long time_now = 0; long time_start = 0; void setup() { Serial.begin(9600); pinMode(11, INPUT); pinMode(10, INPUT); } void loop() { if(Serial.available()) { char temp = Serial.read(); if(temp == '0') state = 0; if(temp == '1') state = 1; if(temp == '2') state = 2; } switch(state) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC case 0: break; case 1: time_now = time_now + millis(); if((digitalRead(10) == 1)||(digitalRead(11) == 1)) { Serial.print(time_now); Serial.print("|"); Serial.println('!'); } else { Serial.print(time_now); Serial.print("|"); Serial.println(analogRead(A0)); } delay(1); break; case 2: time_now = 0; state = 0; break; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC  CODE WINDOWS FORM using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.IO.Ports; using System.Xml; using ZedGraph; namespace GraphRealTime { public partial class Form1 : Form { string SDatas = String.Empty; string SRealTime = String.Empty; int status = 0; double realtime = 0; double datas = 0; public Form1() { InitializeComponent(); } Private void Form1_Load(object sender, EventArgs e) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC comboBox1.DataSource = SerialPort.GetPortNames(); comboBox1.Text = Properties.Settings.Default.ComName; GraphPane myPane = zedGraphControl1.GraphPane; myPane.Title.Text = "ĐIỆN TÂM ĐỒ"; myPane.XAxis.Title.Text = "Thời gian (s)"; myPane.YAxis.Title.Text = "Biên độ"; RollingPointPairList list = new RollingPointPairList(60000); LineItem curve = myPane.AddCurve("Tín hiệu điện tim", list, Color.Red, SymbolType.None); myPane.XAxis.Scale.Min = 0; myPane.XAxis.Scale.Max = 5; myPane.XAxis.Scale.MinorStep = 0.1; myPane.XAxis.Scale.MajorStep = 1; myPane.YAxis.Scale.Min = 0; myPane.YAxis.Scale.Max = 800; myPane.AxisChange(); } Private void timer1_Tick(object sender, EventArgs e) { if (!serialPort1.IsOpen) { progressBar1.Value = 0; } else if (serialPort1.IsOpen) { progressBar1.Value = 100; Draw(); Data_Listview(); status = 0; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC Private void SaveSetting() { Properties.Settings.Default.ComName = comboBox1.Text; Properties.Settings.Default.Save(); } Private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { string[] arrList = serialPort1.ReadLine().Split('|'); SRealTime = arrList[0]; SDatas = arrList[1]; double.TryParse(SDatas, out datas); double.TryParse(SRealTime, out realtime); realtime = realtime / 10000000.0; status = 1; } catch { return; } } Private void Data_Listview() { if (status == 0) return; else { ListViewItem item = new ListViewItem(realtime.ToString()); item.SubItems.Add(datas.ToString()); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC listView1.Items.Add(item); listView1.Items[listView1.Items.Count - 1].EnsureVisible(); } } Private void Draw() { if (zedGraphControl1.GraphPane.CurveList.Count xScale.Max - xScale.MajorStep) { xScale.Max = realtime + xScale.MajorStep; xScale.Min = xScale.Max - 5; } if (datas > yScale.Max - yScale.MajorStep) { yScale.Max = datas + yScale.MajorStep; } else if (datas < yScale.Min + yScale.MajorStep) { yScale.Min = datas - yScale.MajorStep; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC } zedGraphControl1.AxisChange(); zedGraphControl1.Invalidate(); zedGraphControl1.Refresh(); } private void ClearZedGraph() { zedGraphControl1.GraphPane.CurveList.Clear(); zedGraphControl1.GraphPane.GraphObjList.Clear(); zedGraphControl1.AxisChange(); zedGraphControl1.Invalidate(); GraphPane myPane = zedGraphControl1.GraphPane; myPane.Title.Text = "ĐIỆN TÂM ĐỒ"; myPane.XAxis.Title.Text = "Thời gian (s)"; myPane.YAxis.Title.Text = "Biên độ"; RollingPointPairList list = new RollingPointPairList(60000); LineItem curve = myPane.AddCurve("Tín hiệu điện tim", list, Color.Red, SymbolType.None); myPane.XAxis.Scale.Min = 0; myPane.XAxis.Scale.Max = 5; myPane.XAxis.Scale.MinorStep = 0.1; myPane.XAxis.Scale.MajorStep = 1; myPane.YAxis.Scale.Min = 0; myPane.YAxis.Scale.Max = 800; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC zedGraphControl1.AxisChange(); } Private void ResetValue() { realtime = 0; datas = 0; SDatas = String.Empty; SRealTime = String.Empty; status = 0; } private void SaveToExcel() { Microsoft.Office.Interop.Excel.Application xla = new Microsoft.Office.Interop.Excel.Application(); xla.Visible = true; Microsoft.Office.Interop.Excel.Workbook wb = xla.Workbooks.Add(Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet); Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)xla.ActiveSheet; Microsoft.Office.Interop.Excel.Range rg = (Microsoft.Office.Interop.Excel.Range)ws.get_Range("A1", "B1"); ws.Cells[1, 1] = "Time (s)"; ws.Cells[1, 2] = "Heart Rate"; rg.Columns.AutoFit(); int i = 2; int j = 1; foreach (ListViewItem comp in listView1.Items) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC ws.Cells[i, j] = comp.Text.ToString(); foreach (ListViewItem.ListViewSubItem drv in comp.SubItems) { ws.Cells[i, j] = drv.Text.ToString(); j++; } j = 1; i++; } } private void btExit_Click_1(object sender, EventArgs e) { DialogResult traloi; traloi = MessageBox.Show("Bạn có muốn thốt?", "Thốt", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (traloi == DialogResult.OK) { Application.Exit(); } } private void btSave_Click_1(object sender, EventArgs e) { DialogResult traloi; traloi = MessageBox.Show("Bạn có muốn lưu số liệu?", "Lưu", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (traloi == DialogResult.OK) { SaveToExcel(); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC private void btPause_Click_1(object sender, EventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("0"); } else MessageBox.Show("Bạn dừng chưa kết nối với thiết bị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } private void btClear_Click_1(object sender, EventArgs e) { if (serialPort1.IsOpen) { DialogResult traloi; traloi = MessageBox.Show("Bạn có muốn xóa?", "Xóa liệu", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (traloi == DialogResult.OK) { if (serialPort1.IsOpen) { serialPort1.Write("2"); listView1.Items.Clear(); ClearZedGraph(); ResetValue(); } else MessageBox.Show("Bạn dừng chưa kết nối với thiết bị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC else MessageBox.Show("Bạn khơng thể xóa chưa kết nối với thiết bị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } private void btRun_Click_1(object sender, EventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("1"); } else MessageBox.Show("Bạn chạy chưa kết nối với thiết bị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } private void btConnect_Click_1(object sender, EventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("2"); serialPort1.Close(); btConnect.Text = "CONNECT"; btExit.Enabled = true; SaveSetting(); } else { serialPort1.PortName = comboBox1.Text; serialPort1.BaudRate = 9600; try { serialPort1.Open(); btConnect.Text = "DISCONNECT"; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an PHỤ LỤC btExit.Enabled = false; } catch { MessageBox.Show("Không thể mở cổng" + serialPort1.PortName, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an an

Ngày đăng: 27/12/2023, 03:38

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN