Thiết kế và chế tạo máy đo độ ồn dựa trên cảm biến âm microphone electret (design and make a sound level meter by using a transducer electret microphone)

113 59 0
Thiết kế và chế tạo máy đo độ ồn dựa trên cảm biến âm microphone electret (design and make a sound level meter by using a transducer electret microphone)

Đ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

ĐẠI HỌC QUỐC GIA TP HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN TRỌNG LIÊM THIẾT KẾ VÀ CHẾ TẠO MÁY ĐO ĐỘ ỒN TRÊN CƠ SỞ CẢM BIẾN ÂM – MICROPHONE ELECTRET (Design and make a sound level meter by using a transducerelectret microphone) Chuyên ngành: Vật Lý Kỹ Thuật Mã số: 11124635 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 08 năm 2014 Luận văn thạc sỹ Vật lý kỹ thuật 2014 Cơng trình hồn thành tại: Trƣờng Đại Học Bách Khoa - ĐHQGHCM Cán hướng dẫn khoa học: Lý Anh Tú, Tiến Sỹ Lê Cao Đăng, Thạc Sỹ (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG TP HCM, ngày tháng năm 2014 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG HVTH: Nguyễn Trọng Liêm – 11124635 TRƢỞNG KHOA T-2 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 ĐẠI HỌC QUỐC GIA TP.HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Trọng Liêm Ngày, tháng, năm sinh: Chuyên ngành: MSHV: 31-10-1983 11124635 Nơi sinh: Bình Định Vật Lý Kỹ Thuật Mã số : I TÊN ĐỀ TÀI: Thiết kế chế tạo máy đo độ ồn dựa cảm biến âm microphone electret NHIỆM VỤ VÀ NỘI DUNG: - Tổng quan lý thuyết âm học độ ồn - Tổng quan lý thuyết cảm biến âm - Thiết kế chế tạo máy đo độ ồn - Kết đánh giá II NGÀY GIAO NHIỆM VỤ : 10-02-2014 III NGÀY HOÀN THÀNH NHIỆM VỤ: 04-08-2014 IV.CÁN BỘ HƢỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS LÝ ANH TÚ, Th.S LÊ CAO ĐĂNG Tp HCM, ngày 04 tháng 08 năm 2014 CÁN BỘ HƢỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) TRƢỞNG KHOA….……… (Họ tên chữ ký) HVTH: Nguyễn Trọng Liêm – 11124635 T-3 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 LỜI CẢM ƠN Tôi xin chân thành cảm ơn hướng dẫn, dạy giúp đỡ tận tình thầy giảng dạy sau đại học - Trường đại học Bách khoa thành phố Hồ Chí Minh Tơi xin đặc biệt cảm ơn thầy Lý Anh Tú, thầy Lê Cao Đăng, giảng viên môn Vật lý kỹ thuật y sinh tận tình hướng dẫn truyền đạt kiến thức kinh nghiệm q báu giúp tơi có đầy đủ kiến thức nghị lực để hoàn thành luận văn Đồng thời kiến thức kinh nghiệm hữu ích cho sau sống Và xin cảm ơn bạn bè, đồng nghiệp người thân gia đình tin u cho tơi sức mạnh tinh thần, vật chất trình học tập nghiên cứu Mặc dù cố gắng nhiều việc thực luận văn, song tránh khỏi thiếu sót, mong đóng góp ý kiến quý Thầy Cô bạn Tp.HCM, ngày 04 tháng năm 2014 Học viên Nguyễn Trọng Liêm HVTH: Nguyễn Trọng Liêm – 11124635 T-4 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 TÓM TẮT LUẬN VĂN Nội dung luận văn trình bày sơ lược âm học, tìm hiểu cảm biến âm - microphone electrets, thiết kế chế tạo máy đo cường độ âm Do mục tiêu luận văn nghiên cứu hai phần Thứ nghiên cứu đầu vào lĩnh vực đo âm: cảm biến âm hay microphone electret đặc tính microphone Đây microphone phổ biến ngày nhờ khả lọc có độ xác cao Thứ hai ứng dụng microphone thiết kế chế tạo máy đo độ ồn Luận văn đạt kết yêu cầu đề chế tạo máy đo độ ồn Tuy nhiên kết chưa đạt mong muốn, độ xác máy đo chưa cao, sai lệch khoảng ±3 dB so với độ lệch ± dB máy đo khác thị trường Đó nhược điểm máy đo Sự khiếm khuyết nhỏ khắc phục cách tối ưu mạch khuếch đại sau microphone Một nhược điểm nhỏ khác máy đo dùng linh kiện xuyên lỗ nên làm tăng kích thước mạch điện Bên cạnh máy có ưu điểm đáng kể mạch sử dụng vi xử lý gọn, tốc độ xử lý cao (vi xử lý có tốc độ lên đến 16MHz) nên có khả đo độ ồn tần số cao 10 kHz (và tùy thuộc vào đáp ứng microphone) Ưu điểm thứ mạch có khả kết nối máy tính lưu liệu theo thời gian thực Ưu điểm cuối cựng l giỏ thnh ch bng ẳ n ẵ giỏ máy đo phổ thông khác thị trường HVTH: Nguyễn Trọng Liêm – 11124635 T-5 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 ABSTRACT The main contents of the thesis are to present acoustic fundamental, way to design and how to calculate and make a sound pressure level Via the speech, principle of sound sensor (electret microphone) also is presented Thereby, target main of the thesis includes two parts, first is to study how a sound sensor, microphone electret works and its features This is very popular microphone due to ability to filter, high accuracy, light and compact Second task is to implement the sensor to design and produce a sound pressure level This thesis has achieved the required result set is to create a noise measurement However, the result hasn’t achieved as good as originally expected, the meter accuracy is not good enough, an offset of ±3 dB compared to ±1 dB of other sound meters on market This defect is minor and can be overcome by optimizing the microphone’s amplifier later on Another disadvantage of the device is using viahole components that increase size of the circuit Besides, there are some significant advantages of the tool as circuit uses compact, high-speed processor (speed up to 16 MHz) and be capable of measuring noise at frequency higher than 10 kHz (and depend on response of microphone as well) Second advantage is capable of connecting to personal computer and log data in real time Last thing is its price much cheaper from one-fourth to one-half compared to common sound meter device HVTH: Nguyễn Trọng Liêm – 11124635 T-6 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn thầy TS Lý Anh Tú Các số liệu kết luận văn trung thực chưa cơng bố cơng trình Học viên Nguyễn Trọng Liêm HVTH: Nguyễn Trọng Liêm – 11124635 T-7 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 MỤC LỤC PHẦN 1: TỔNG QUAN CHƢƠNG 1: ÂM HỌC VÀ TIẾNG ỒN 11 I Tổng quan âm học 11 Âm học 11 Âm tiếng ồn 11 Lược sử âm học 12 Những đặc tính sóng âm 13 Nguồn âm vá sóng âm tương ứng 14 Các tượng âm học 15 Các phương trình sóng âm .17 II Khái niệm độ ồn 21 Năng lượng âm .21 Công suất âm 21 Cường độ âm 22 III Tiếng ồn ngƣời 23 Tai người 23 Tương quan tai âm 25 Ảnh hưởng tiếng ồn đến tâm lý 25 Bênh tai 26 Nguyên lý đo độ ồn .28 Các phương pháp đo độ ồn .29 Ưu nhược điểm 29 Máy đo độ ồn Việt Nam 30 CHƢƠNG 2: CẢM BIẾN ÂM 31 I Microphone electret 31 II Cấu tạo nguyên lý microphone 32 Cấu tạo 32 Nguyên lý hoạt động .32 III Thông số quan trọng microphone 34 Độ nhạy microphone 34 HVTH: Nguyễn Trọng Liêm – 11124635 T-8 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 Tần số đỉnh .35 Delta LF – roll off 35 Delta peak .36 Đáp ứng tần số 36 PHẦN 2: THIẾT KẾ MÁY ĐO ĐỘ ỒN CHƢƠNG 3: LINH KIỆN CHÍNH DÙNG CHO THIẾT KẾ 39 I Microphone electret .39 Kích thước microphone 39 Đáp ứng số microphone .41 Đặc tính nhiễu microphone 41 II Vi xử lý dùng cho máy đo độ ồn ATMEGA bit 42 Cấu trúc ATmega8159 43 Bộ nhớ chương trình .45 Ngắt AVR 46 Chuyển đổi ADC AVR 49 III Giao tiếp RS-232 51 Giao tiếp 51 Ưu điểm giao diện nối tiếp RS232 51 Những đặc điểm cần lưu ý chuẩn RS232 52 Các mức điện áp đường truyền .52 Cổng RS232 PC .53 Quá trình liệu .54 Sơ đồ ghép nối RS232 55 Phần mền giao tiếp 56 CHƢƠNG 4: THIẾT KẾ PHẦN CỨNG 57 Sơ đồ khối máy đo 57 Sơ đồ nguyên lý máy đo 58 Nguyên lý đo độ ồn .58 Mạch mô phần mềm proteus 8.0 60 Giao diện với máy tính qua cổng COM 61 HVTH: Nguyễn Trọng Liêm – 11124635 T-9 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 Các thông số máy đo 62 Hiệu chuẩn 63 CHƢƠNG 5: THIẾT KẾ CHƢƠNG TRÌNH 64 Giải thuật giao diện 64 Giải thuật cho vi xử lý 66 CHƢƠNG 6: KẾT QUẢ ĐO VÀ ĐÁNH GIÁ KẾT QUẢ 69 Kết đo đạc 69 Đánh giá kết đo 70 CHƢƠNG 7: KẾT LUẬN 73 Kết đạt .73 Hướng phát triển .73 Tài liệu tham khảo 75 Phụ lục 76 A Danh mục linh kiện .73 B Sơ đồ mạch in 77 C Code nạp cho vi xử lý 79 D Code giao diện kết nối máy tính 94 E Mạch thực tế cách dùng 111 LÝ LỊCH TRÍCH NGANG .113 HVTH: Nguyễn Trọng Liêm – 11124635 T-10 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 btExportGraph.Enabled = false; //btXoa.Enabled = false; checkPause.Enabled = false; dataGridView1.RowHeadersVisible = true; dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; txtSampling.Text = sosanh_dem.ToString(); progressBar1.Minimum = 0; txtCounter.Text = counter.ToString(); aboutToolStripMenuItem.Visible = false; timer1.Enabled = true; KhoiTaoZedGraph(); } //================== privatevoid KhoiTaoZedGraph() { // khởi động chạy biểu đồ myPane = zedGraphControl1.GraphPane; // Khai báo sửa dụng Graph loại GraphPane; // Các thông tin cho đồ thị myPane.Title.Text = "Biểu Đồ Độ Ồn Đo Được"; myPane.XAxis.Title.Text = "Thời Gian (s)"; myPane.YAxis.Title.Text = "dB"; //Màu cho biểu đồ zedGraphControl1.GraphPane.Chart.Fill = newFill(Color.DarkSlateBlue, Color.DarkBlue, 90.0f); //màu cho tát // Định nghĩa list để vẽ đồ thị Để bạn hiểu rõ chế làm việc khai báo list điểm đường đồ thị list = newRollingPointPairList(1000000); // dòng định nghĩa curve để vẽ curve = myPane.AddCurve("Dạng Sóng", list, Color.Yellow, SymbolType.None); // Color màu đỏ, đặc trưng cho đường // SymbolType kiểu biểu thị đồ thị : điểm, đường tròn, tam giác Color màu Xanh, đặc trưng cho đường // ví dụ khoảng cách 50ms lần timer1.Interval = 1; // Định thị cho trục thời gian (Trục X) myPane.XAxis.Scale.Min = 0; // Min = 0; myPane.XAxis.Scale.Max = 200; // Mã = 30; myPane.XAxis.Scale.MinorStep = 1; // Đơn vị chia nhỏ myPane.XAxis.Scale.MajorStep = 10; // Đơn vị chia lớn myPane.YAxis.Scale.Min = 0; myPane.YAxis.Scale.Max = 140; myPane.YAxis.Scale.MinorStep = 2; myPane.YAxis.Scale.MajorStep = 10; // Gọi hàm xác định cỡ trục zedGraphControl1.AxisChange(); HVTH: Nguyễn Trọng Liêm – 11124635 T-99 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 // Khởi động timer vị trí ban đầu tickStart = Environment.TickCount; } //============================================================= // Sự kiện nhấn nút Kết Nối //int check = 0; privatevoid btKetNoi_Click(object sender, EventArgs e) { try { pause_time = false; P.Open(); if (P.IsOpen) { P.Write((cbDelay.SelectedIndex + 1).ToString()); } // Hiện thị Status status.ForeColor = Color.DarkMagenta; status.Text = "Đang kết nối với cổng " + cbCom.SelectedItem.ToString(); btNgat.Enabled = true; btKetNoi.Enabled = false; btUpdate.Enabled = false; cbCom.Enabled = false; cbRate.Enabled = false; btDeleteGraph.Enabled = true; btExportGraph.Enabled = true; ketnoi = true; checkPause.Enabled = true; txtSampling.Text = sosanh_dem.ToString(); btSamLing.Enabled = false; txtSampling.ReadOnly = true; //timer1.Enabled = true; //if (check == 0) { tickStart = Environment.TickCount; check = 1; } if (P.IsOpen) { P.Write("a"); } } catch (Exception ex) { status.ForeColor = Color.Red; MessageBox.Show("Khơng Kết Nối Được, Vui Lịng Kiểm Tra Cổng "+ cbCom.SelectedItem.ToString(), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); btNgat.Enabled = false; btKetNoi.Enabled = true; } } //============================================================= HVTH: Nguyễn Trọng Liêm – 11124635 T-100 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 //Sự kiện nhấn nút ngắt kết nối privatevoid btNgat_Click(object sender, EventArgs e) { pause_time = true; NgatKetNoi(); } //==================================== //Chương trình Ngắt Kết Noí publicvoid NgatKetNoi() { if (P.IsOpen) { P.Write("b"); P.Close(); } status.ForeColor = Color.DarkMagenta; status.Text = "Đã ngắt kết nối"; ketnoi = false; checkPause.Enabled = false; checkPause.Checked = false; btKetNoi.Enabled = true; btNgat.Enabled = false; btUpdate.Enabled = true; cbCom.Enabled = true; cbRate.Enabled = true; btExport.Enabled = true; btXoa.Enabled = true; btSamLing.Enabled = true; txtSampling.ReadOnly = false; txtadc.Text = ""; } //============================================================= //Không cần quan tâm đến privatevoid aboutToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm = newForm2(); frm.ShowDialog(); } //============================================================ //Sự kiện thoát privatevoid thoátToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult kq = MessageBox.Show("Bạn muốn chương trình?", "Thoát", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (kq == DialogResult.Yes) { if (P.IsOpen) { P.Write("b"); P.Close(); HVTH: Nguyễn Trọng Liêm – 11124635 T-101 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 } this.Close(); } } //================================================ privatevoid Form1_FormClosing(Object sender, FormClosingEventArgs e) { if (P.IsOpen) { P.Write("b"); P.Close(); } } //=========================== //Sự kiện Update COM privatevoid btUpdate_Click(object sender, EventArgs e) { cbCom.Items.Clear(); string[] ports = SerialPort.GetPortNames(); cbCom.Items.AddRange(ports); cbCom.SelectedIndex = 0; } //========================================== //Chương trình xuất liệu Excel privatevoid ExportDataGridView_Excel(DataGridView dataGridView1, string file_name, string sheet_name, string title_name) { progressBar1.Maximum = dataGridView1.Rows.Count; Excel.ApplicationClass xlApp; Excel.Worksheet xlSheet; Excel.Workbook xlBook; //doi tuong Trống để thêm vào xlApp sau lưu lại sau object missValue = System.Reflection.Missing.Value; //khoi tao doi tuong Com Excel moi xlApp = new Excel.ApplicationClass(); xlBook = xlApp.Workbooks.Add(missValue); //su dung Sheet dau tien de thao tac xlSheet = (Excel.Worksheet)xlBook.Worksheets.get_Item(1); xlSheet.Name = sheet_name; //không cho ứng dụng Excel lên để tránh gây máy xlApp.Visible = false; xlApp.DisplayAlerts = false; string path = file_name; // -// Tạo title Excel.Range title = xlSheet.get_Range("A2", "C1"); title.MergeCells = true; title.Value2 = title_name; title.Font.Bold = true; HVTH: Nguyễn Trọng Liêm – 11124635 T-102 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 title.Font.Name = "Tahoma"; title.Font.Size = "24"; title.RowHeight = 20; title.Interior.ColorIndex = 25;//20=xanh dương nhat, 25=xanh dương dam, 30=nau,24-tim nhat nhat,23=xanh duong tuoi,22=cam,21=tim dam,15=den nhat title.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; title.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter; //set mau chu header title.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Magenta); //thiet lap thuoc tinh cho cac Header Excel.Range header = xlSheet.get_Range("A3", "C3"); header.Font.Name = "Tahoma"; header.Font.Bold = true; header.Font.Size = 14; header.Interior.ColorIndex = 20; header.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; header.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter; header.RowHeight = 30; // Kẻ viền header header.Borders.LineStyle = Excel.Constants.xlSolid; //Freeze Top Row : Cố định dòng Excel Excel.Range myCell = (Excel.Range)xlSheet.Cells[4, 1]; myCell.Activate(); myCell.Application.ActiveWindow.FreezePanes = true; // storing header part in Excel for (cot = 0; cot < dataGridView1.Columns.Count; cot++) { xlSheet.Cells[3, cot + 1] = dataGridView1.Columns[cot].HeaderText; } // storing Each row and column value to excel sheet for (hang = 0; hang < dataGridView1.Rows.Count; hang++) // dataGridView1.Rows.Count-2 neu dòng cuối sai giá trị neen khoong laays { for (cot = 0; cot < dataGridView1.Columns.Count; cot++)// khong lay gia tri cua cot cuoi cung dataGridView1 dataGridView1.Columns.Count - { progressBar1.Value = hang + 1; //dien gia tri vao cell xlSheet.Cells[hang + 4, cot + 1] = dataGridView1.Rows[hang].Cells[cot].Value; //autofit độ rộng cho cột ((Excel.Range)xlSheet.Cells[hang + 4, cot + 1]).EntireColumn.AutoFit(); //Canh le cho cac hang ((Excel.Range)xlSheet.Cells[hang + 4, cot + 1]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //font HVTH: Nguyễn Trọng Liêm – 11124635 T-103 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 ((Excel.Range)xlSheet.Cells[hang + 4, cot + 1]).Font.Name = "Tahoma"; //Size ((Excel.Range)xlSheet.Cells[hang + 4, cot + 1]).Font.Size = 12; //Ke duong vien ((Excel.Range)xlSheet.Cells[hang + 4, cot + 1]).Borders.LineStyle = Excel.Constants.xlSolid; } } // -//save file xlBook.SaveAs(path, Excel.XlFileFormat.xlWorkbookNormal, missValue, missValue, missValue, missValue, Excel.XlSaveAsAccessMode.xlExclusive, missValue, missValue, missValue, missValue, missValue); xlBook.Close(true, missValue, missValue); xlApp.Quit(); // release cac doi tuong COM releaseObject(xlSheet); releaseObject(xlBook); releaseObject(xlApp); } //=============================== staticpublicvoid releaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; thrownewException("Exception Occured while releasing object " + ex.ToString()); } finally { GC.Collect(); } } //========================= //Chương trình Xuất file ảnh đồ thị privatevoid ExportGraph() { //create Bitmap recipient Bitmap bm = newBitmap(1, 1); //measure the chart to size the bitmap using (Graphics g = Graphics.FromImage(bm)) this.zedGraphControl1.GraphPane.AxisChange(g); //save the file of the chart on disk (PNG format) this.zedGraphControl1.GraphPane.GetImage().Save("D:\\Noise Level_" + file_thoigian+".png", System.Drawing.Imaging.ImageFormat.Png); HVTH: Nguyễn Trọng Liêm – 11124635 T-104 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 } //============================================= privatevoid btExportGraph_Click(object sender, EventArgs e) { // Hiện thị Status progressBar1.Value = progressBar1.Minimum; status.ForeColor = Color.Red; status.Text = "Đang xuất file excel Vui lòng chờ hoàn thành!"; ExportGraph(); status.ForeColor = Color.DarkMagenta; status.Text = "Đã xuất file ảnh đồ thị ổ " + "D:\\Noise Level_" + file_thoigian + ".png"; progressBar1.Value = progressBar1.Maximum; } //============================ //Sự kiện nhấn nút Export Excel privatevoid btExport_Click(object sender, EventArgs e) { if (dataGridView1.Rows.Count > 0) { if (ketnoi == true) checkPause.Checked = true; Export(); //} } else MessageBox.Show("Chưa Có Dữ Liệu", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } //============================= publicvoid Export() { // Hiện thị Status status.ForeColor = Color.Red; status.Text = "Đang xuất file excel Vui lòng chờ hoàn thành!"; ExportDataGridView_Excel(dataGridView1, "D:\\Noise Level_" + file_thoigian, "Data", "Noise Level Meter"); status.ForeColor = Color.DarkMagenta; status.Text = "Đã xuất file excel ổ " + "D:\\Noise Level_" + file_thoigian; } //================================================= //Sự kiện nhấn nút xóa privatevoid btXoa_Click(object sender, EventArgs e) { if (dataGridView1.Rows.Count > 0) { HVTH: Nguyễn Trọng Liêm – 11124635 T-105 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 DialogResult kq = MessageBox.Show("Bạn muốn xóa tất liệu!", "Cảnh Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (kq == DialogResult.Yes) { if (ketnoi == true) checkPause.Checked = true; status.ForeColor = Color.Red; status.Text = "Đang xóa liệu Vui lòng chờ xóa xong!"; //btExport.Enabled = false; Remove_DataGridView(); //btXoa.Enabled = false; txtadc.Text = ""; counter = 0; txtSampling.Text = sosanh_dem.ToString(); txtCounter.Text = counter.ToString(); status.ForeColor=Color.DarkMagenta; status.Text = "Xóa liệu thành cơng!"; } } else { MessageBox.Show("Chưa Có Dữ Liệu", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } //============================================ //Chương trình xóa liệu publicvoid Remove_DataGridView() { progressBar1.Maximum = dataGridView1.Rows.Count; while (dataGridView1.Rows.Count >= 1) { dataGridView1.Rows.RemoveAt(dataGridView1.Rows.Count - 1); if (dataGridView1.Rows.Count > 1) progressBar1.Value = dataGridView1.Rows.Count - 1; } progressBar1.Value = 0; } //=============================== //Sự kiện lấy mẫu privatevoid btSamLing_Click(object sender, EventArgs e) { if (txtSampling.Text != sosanh_dem.ToString()) { bool kiemtra; int tam; kiemtra = Int32.TryParse(txtSampling.Text, out tam); if (kiemtra == false || tam < || tam > 2000000000) { HVTH: Nguyễn Trọng Liêm – 11124635 T-106 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 MessageBox.Show("Giá Trị Nhập Phải Nằm Trong Khoảng [2 - 2000000000]", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); txtSampling.Text = sosanh_dem.ToString(); } else { DialogResult kq = MessageBox.Show("Bạn Muốn Cập Nhật Số Lượng Lấy Mẫu Tối Đa Là: " + tam.ToString()+" Mẫu", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (kq == DialogResult.Yes) { sosanh_dem = tam; txtSampling.Text = tam.ToString(); progressBar1.Minimum = 0; //giam so dong dataGridView1 progressBar1.Maximum = dataGridView1.Rows.Count; while (dataGridView1.Rows.Count > sosanh_dem) { dataGridView1.Rows.RemoveAt(dataGridView1.Rows.Count - 1); counter ; if (dataGridView1.Rows.Count > 1) progressBar1.Value = dataGridView1.Rows.Count - 1; } progressBar1.Value = 0; txtCounter.Text = counter.ToString(); txtSampling.Text = sosanh_dem.ToString(); } else { txtSampling.Text = sosanh_dem.ToString(); } } } } //================================ //Sự kiện tạm dừng nhận liệu privatevoid checkPause_CheckedChanged(object sender, EventArgs e) { txtSampling.Text = sosanh_dem.ToString(); if (checkPause.Checked == true) { checkPause.ForeColor = Color.Red; bien_pause = false; btSamLing.Enabled = true; txtSampling.ReadOnly = false; txtadc.Text = ""; if (P.IsOpen) { HVTH: Nguyễn Trọng Liêm – 11124635 T-107 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 P.Write("b"); } status.ForeColor = Color.DarkMagenta; status.Text = "Tạm dừng nhận liệu"; } else { btSamLing.Enabled = false; txtSampling.ReadOnly = true; checkPause.ForeColor = Color.Blue; bien_pause = true; btExportGraph.Enabled = true; btSamLing.Enabled = false; txtSampling.ReadOnly = true; txtadc.Text = ""; if (P.IsOpen) { P.Write("a"); } status.ForeColor = Color.DarkMagenta; status.Text = "Đang kết nối với cổng " + cbCom.SelectedItem.ToString(); } } //////////////////////////////////////////////////////////////// //Sự kiện mở thư mục chứa file Excel lưu liệu privatevoid openToolStripMenuItem_Click(object sender, EventArgs e) { string Path = "D:\\"; // tên đường dẫn tơi thư mục bạn muốn mở Process.Start(@"D:\", Path); } //====================================== // Để tiện cho việc sử dụng xây dựng hàm draw phục vụ cho việc vẽ đồ thị publicvoid DrawChart(double setpoint1, double setpoint2) // Ở ví dụ có đường { if (zedGraphControl1.GraphPane.CurveList.Count xScale.Max - xScale.MajorStep) { // Nếu ko muốn dịch chuyển mà chạy : xScale.Min = 0; if (btCompactScroll.Text == "Compact") { xScale.Max = time + xScale.MajorStep; xScale.Min = xScale.Max - 200.0; } else { xScale.Max = time + xScale.MajorStep; xScale.Min = 0; } } // Vẽ đồ thị zedGraphControl1.AxisChange(); // Force a redraw zedGraphControl1.Invalidate(); } //================================= //================================= privatevoid btCompactScroll_Click(object sender, EventArgs e) { if (btCompactScroll.Text == "Compact") btCompactScroll.Text = "Scroll"; else btCompactScroll.Text = "Compact"; } //=============================== //Đồng hồ thời gian HVTH: Nguyễn Trọng Liêm – 11124635 T-109 GVHD: TS Lý Anh Tú ThS Lê Cao Đăng Luận văn thạc sỹ Vật lý kỹ thuật 2014 privatevoid timer1_Tick(object sender, EventArgs e) { thoigian = DateTime.Now.ToString("dd/MM/yyyy_HH:mm:ss:fff"); file_thoigian = DateTime.Now.ToString("dd-MM-yyyy_HH-mm-ss"); textBox1.Text = DateTime.Now.ToString("HH:mm:ss"); } privatevoid btDeleteGraph_Click(object sender, EventArgs e) { if (zedGraphControl1.GraphPane.CurveList.Count

Ngày đăng: 01/02/2021, 00:08

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan