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

Thiết kế và chế tạo cánh tay robot 4 bậc tự do phân loại sản phẩm trên băng tải sử dụng công nghệ xử lí ảnh

69 52 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 2,05 MB

Nội dung

Hệ thống phân loại sản phẩm bằng cánh tay robot ứng dụng công nghệ xử lí ảnh Sản phẩm với các màu sắc khác nhau nằm trên băng tải động khi đến vùng xử lí Quá trình phân loại sản phẩm sẽ thực hiện dựa trên việc thu thập thông tin về màu sắc hình dạng và góc lệch của sản phẩm thông qua hệ thống camera Camera lấy dữ liệu qua phân tích và tính toán của máy tính Xuất tín hiệu để điều khiển cánh tay robot thực hiện công việc phân loại Các sản phẩm được phân loại theo màu sắc được phân chia vào các khay đúng theo yêu cầu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ ĐỀ TÀI: Thiết kế chế tạo cánh tay robot bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh Người hướng dẫn: ThS NGUYỄN ĐẮC LỰC Sinh viên thực hiện: NGUYỄN VĂN SƠN PHẠM PHÚ VỸ Số thẻ sinh viên : 101140197 101140210 Lớp: 14CDT2 Đà Nẵng - 2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Thông tin chung: Họ tên sinh viên: Nguyễn Văn Sơn-Phạm Phú Vỹ Lớp: 14CDT2 Số thẻ SV: 101140197-101140210 Tên đề tài: Thiết kế chế tạo cánh tay robot bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh Người hướng dẫn: Nguyễn Đắc Lực Học hàm/ học vị: Thạc sĩ II Nhận xét, đánh giá đồ án tốt nghiệp: Về tính cấp thiết, tính mới, khả ứng dụng đề tài: (điểm tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về kết giải nội dung nhiệm vụ yêu cầu đồ án: (điểm tối đa 4đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về hình thức, cấu trúc, bố cục đồ án tốt nghiệp: (điểm tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Đề tài có giá trị khoa học/ có báo/ giải vấn đề đặt doanh nghiệp nhà trường: (điểm tối đa 1đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………… ……………………………………………………………………………………… III Tinh thần, thái độ làm việc sinh viên: (điểm tối đa 1đ) ……………………………………………………………………………………… IV Đánh giá: Điểm đánh giá: …… /10 (lấy đến số lẻ thập phân) Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ Đà Nẵng, ngày ☐ Không bảo vệ tháng Người hướng dẫn năm 201 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: Nguyễn Văn Sơn-Phạm Phú Vỹ Lớp: 14 CDT2 Số thẻ SV: 101140197-101140210 Tên đề tài: Thiết kế chế tạo cánh tay robot bậc tự phân loại sản phẩm băng tải sử dụng công nghệ xử lí ảnh Người phản biện…………………… ……………………………………… ……………………………………… ……………………………………… Nhận xét, đánh giá đồ án tốt nghiệp: TT Các tiêu chí đánh giá 1a Điểm Điểm đánh tối đa giá Sinh viên có phương pháp nghiên cứu phù hợp, giải 80 đủ nhiệm vụ đồ án giao Tính (nội dung ĐATN có phần so với ĐATN trước đây) 15 Đề tài có giá trị khoa học, cơng nghệ; ứng dụng thực tiễn 1b Kỹ giải vấn đề; hiểu, vận dụng kiến thức bản, sở, chuyên ngành vấn đề nghiên cứu 50 Chất lượng nội dung ĐATN (thuyết minh, vẽ, chương trình, mơ hình,…) 1c Có kỹ vận dụng thành thạo phần mềm ứng dụng vấn đề nghiên cứu; Có kỹ đọc, hiểu tài liệu tiếng nước ứng 15 dụng vấn đề nghiên cứu; - Có kỹ làm việc nhóm; Kỹ viết: 2a tích 2b Thuyết minh đồ án khơng có lỗi tả, in ấn, định dạng Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc 20 15 Tổng điểm đánh giá theo thang 100: Quy thang 10 (lấy đến số lẻ) Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………… ………………………………………………… …………………………………… Câu hỏi đề nghị sinh viên trả lời buổi bảo vệ: ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không bảo vệ Đà Nẵng, ngày tháng 12 năm 2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TT Họ tên sinh viên Nguyễn Văn Sơn Số thẻ SV 101140197 Lớp 14CDT2 Ngành Cơ điện tử Phạm Phú Vỹ 101140210 14CDT2 Cơ điện tử Tên đề tài đồ án:Thiết kế chế tạo mơ hình cánh tay Robot bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: …………………………………… …………………………………………… …… ………………………………………………………………………………………… … ………………………………….… ……………………… ……………………… Nội dung phần thuyết minh tính tốn a Phần chung Họ tên STT Nguyễn Văn Sơn Phạm Phú Vỹ Nội dung Tìm hiểu số số cấu thực tế để đưa ý tưởng tốt Tìm hiểu ngun lí hoạt động , lựa chọn cấu phù hợp Tìm hiểu tài liệu phần mềm liên quan Hoàn thiện thuyết minh b Phần riêng STT Họ tên Nội dung Tìm hiểu linh kiện điện tử, Lập trình hệ Nguyễn Văn Sơn thống Phạm Phú Vỹ Thiết kế hệ thống phần mềm solidworks, tính tốn phần động học Các vẽ, đồ thị a Phần chung Họ tên STT Nội dung Bản vẽ Nguyễn Văn Sơn Phạm Phú Vỹ Bản vẽ tổng thể Bản vẽ sơ đồ động A0 b Phần riêng STT Họ tên Nguyễn Văn Sơn Nội dung Bản vẽ Bản vẽ sơ đồ mạch điện Bản vẽ chi tiết A0 Bản vẽ lắp Phạm Phú Vỹ Lưu đồ thuật toán Họ tên người hướng dẫn: Ths.Nguyễn Đắc Lực Ngày giao nhiệm vụ đồ án: 25./08./2019 Ngày hoàn thành đồ án: 14./12./2019 Đà Nẵng, ngày 14 tháng 12 năm 2019 Trưởng Bộ môn …………………… Người hướng dẫn CAM ĐOAN Chúng xin cam đoan: Những nội dung đồ án thực hướng dẫn trực tiếp Thầy Ths Nguyễn Đắc Lực Mọi tham khảo dùng đồ án trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian dối, chúng tơi xin chịu hồn tồn trách nhiệm Nhóm Sinh viên thực Nguyễn Văn Sơn Phạm Phú Vỹ i MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP CAM ĐOAN i MỤC LỤC ii LỜI NÓI ĐẦU TÓM TẮT CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Phân tích đề tài 1.3 Tính cấp thiết đề tài 1.4 Cấu trúc đề tài CHƯƠNG THIẾT KẾ HỆ THỐNG CƠ KHÍ 2.1 Thiết kế cánh tay Robot 2.1.1 Phân tích lựa chọn phương án 2.1.2 Tính chọn động cho robot 2.1.3 Mô 3D cánh tay robot 11 2.1.4 Chọn vật liệu cho thân robot 12 2.1.5 Thiết kế phận truyền chuyển động cho khớp robot 12 2.2 Thiết kế hệ thống băng tải 14 2.2.1 Giới thiệu 14 2.2.2 Nguyên lí hoạt động 15 2.2.3 Tính tốn chọn thiết bị cho băng tải 15 2.2.4 Lựa chọn tính tốn băng tải 17 2.3 Thiết kế khay chứa sản phẩm 20 2.4 Sơ đồ động hệ thống 21 CHƯƠNG THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 23 3.1 Sơ đồ khối hệ thống 23 3.2 Vi điều khiển Arduno 23 3.2.1 Tổng quan 23 3.2.2 Thông số kĩ thuật ARDUINO MICRO 24 3.2.3 I/O Pins 24 3.3 Module LM2596 25 3.4 Khối nguồn 12V 26 3.5 Sơ đồ mạch điện 27 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 28 ii 4.1 Tính tốn động học cánh tay robot 28 4.1.1 Phương trình động học thuận 28 4.1.2 Phương trình động học nghịch 30 4.2 Xử lí ảnh 31 4.2.1 Tổng quan xử lí ảnh 31 4.2.2 Phần mềm Visual 33 4.2.2.1 Cấu trúc liệu ứng dụng 33 4.2.2.2 Cấu trúc liệu ứng dụng 34 4.2.2.3 Các thông số ảnh 34 4.3 Lưu đồ thuật toán Visual xử lí ảnh 37 KẾT LUẬN 39 TÀI LIỆU THAM KHẢO 42 PHỤ LỤC 43 I.CODE ARDUINO 43 II.CODE VISUAL 46 iii Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh PHỤ LỤC I.CODE ARDUINO #include #define BTAI A0 #define BOM #define LDR A6 unsigned long tg; int s2 = 90; int s3 = 90; int s4 = 90; int s1 = 90; int a, b, c; // bien luu goc alpa vaf beta int k; int A[12]; int b2, b3, b4; int mau; Servo SV1, SV2, SV3, SV4; #include "CANHTAY.h" //alpha 90 ung 45 do; beta 90 ung 85 // 18.57 ms / 1mm void setup() { pinMode(BTAI, OUTPUT); pinMode(BOM, OUTPUT); SV2 attach(10); sv2(100,10); SV3 attach(11); sv3(100,10); SV4 attach(12); SV1 attach(9); //digitalWrite(BTAI,1); delay(1000); CHOGAP() ; Serial.begin(9600); //while(1){Serial.println(analogRead(LDR));} } void loop() { digitalWrite(BTAI, 1); while (analogRead(LDR) > 900) {} tg = millis(); while (analogRead(LDR) < 950) {} int dodai = millis() - tg; delay(460); digitalWrite(BTAI, 0); // dung btai delay(1000); Serial.println("A"); delay(1000); digitalWrite(BTAI, 1); // chay btai int thoigian = (3600 - (dodai / 2)); tg = millis(); int dichuyen = 0; while (millis() - tg < thoigian) { SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 43 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh if (Serial.available()) { XULYDL(); a = b2 + 43 ; b = b3 + 15 ; c = b4 ; if (dichuyen == 0) { CBGAP(a, b, c); dichuyen = 1; } } } digitalWrite(BTAI, 0); delay(1000); GAP(a, b, c); digitalWrite(BTAI, 1); if (mau == 1) { THAVAT1(); mau = 0; CHOGAP(); } if (mau == 2) { THAVAT2(); mau = 0; CHOGAP(); } if (mau == 3) { THAVAT3(); mau = 0; CHOGAP(); } } void XULYDL(){ k = 0; while (Serial.available() > 0) { for (k = 0; k < 12; k++) { int inChar = Serial.read(); byte z = (byte)inChar; A[k] = cdoi(z) ; delay(5); } } mau = A[0]; b2 = A[1] * 100 + A[2] * 10 + A[3] ; b3 = A[4] * 100 + A[5] * 10 + A[6] ; b4 = A[7] * 100 + A[8] * 10 + A[9] ; } void GAP(int alpha, int beta, int ceta) { digitalWrite(BOM, 1); delay(200); sv2(alpha, 20); delay(200); sv2(110, 20); } void CBGAP(int alpha, int beta, int ceta) { sv2(alpha + 15, 10); sv3(beta, 10); sv4(ceta, 10); } void CHOGAP() { sv3(120, 10); sv2(115, 10); sv1(50, 10); sv4(90, 10); sv3(110, 20); sv4(90, 20); sv2(110, 20); } void THAVAT1() SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 44 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh { sv1(135, 10); sv4(80, 10); sv3(90, 10); sv2(90, 10); delay(500); digitalWrite(BOM, 0); delay(500); } void THAVAT2() { sv1(150, 10); sv4(90, 10); sv3(93, 10); sv2(90, 10); delay(500); digitalWrite(BOM, 0); delay(500); } void THAVAT3() { sv1(165, 10); sv4(105, 10); sv3(98, 10); sv2(90, 10); delay(500); digitalWrite(BOM, 0); delay(500); } byte cdoi(byte z) { switch (z) { case 48: return 0; break; case 49: return 1; break; case 50: return 2; break; case 51: return 3; break; case 52: return 4; break; case 53: return 5; break; case 54: return 6; break; case 55: return 7; break; case 56: return 8; break; case 57: return 9; break; } } SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 45 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh II.CODE VISUAL using Emgu.CV; using Emgu.CV.Structure; 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.Ports; namespace capture_amazing { public partial class Form1 : Form { Capture capture; string toado_a = ""; string toado_b = ""; string gocnghien = ""; string mau = ""; string data_out = "", data_in = ""; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 46 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh var image = capture.QueryFrame().ToImage(); var bmp = image.Bitmap; pictureBox1.Image = bmp; //pictureBox2.Image = chuyen_nhiphan(bmp); pictureBox2.Image = chuyen_nhiphan(bmp); //toado = tinh_toado_tam(chuyen_nhiphan(bmp)).ToString(); int toado_tam = tinh_toado_tam(chuyen_nhiphan(bmp)) - 10; textBox_mau.Text = toado_tam.ToString(); double a = tinh_an_pha(toado_tam); toado_a = a.ToString(); if (a < 10) { toado_a = "00" + a.ToString(); } else if ((a < 100) && (a >= 10)) { toado_a = "0" + a.ToString(); } textBox_toadoa.Text = toado_a; double b = tinh_be_ta(toado_tam); toado_b = b.ToString(); if (b< 10) { toado_b = "00" + toado_b; } else if (b < 100 && b>= 10) { toado_b = "0" + toado_b; } int t = tinh_gocnghien(chuyen_nhiphan(bmp), bmp); SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 47 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh gocnghien = t.ToString(); if ((t < 10)) { gocnghien = "00" + gocnghien; } if ((t=10)) { gocnghien = "0" + gocnghien; } textBox_send.Text = mau + toado_a + toado_b + gocnghien; if (serialPort1.IsOpen) { serialPort1.Write(textBox_send.Text); } } void hienthi_mau(Bitmap bmp) } double tinh_an_pha(int t) { double x = t; double a = (x * x + 19500) / (300 * Math.Sqrt(x * x + 4225)); double c = Math.Acos(a)*180/Math.PI+ Math.Atan(65/x) * 180 / Math.PI; textBox_c.Text = ((int)c).ToString(); return (int)c; } Double tinh_be_ta(int t) { double x = t; Double b = Math.Acos((25500 - x * x) / 25500)*180/Math.PI; textBox_recieve.Text =((int)b).ToString(); SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 48 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh return (int)b; } Bitmap chuyen_nhiphan(Bitmap bmp1) { Bitmap nhiphan = new Bitmap(bmp1.Width, bmp1.Height); for (int i = 0; i < bmp1.Height; i++) { for (int j = 0; j < bmp1.Width; j++) { Color m = bmp1.GetPixel(j, i); if ((m.G>112|m.B>200|m.R>112)) { nhiphan.SetPixel(j, i, Color.FromArgb(0, 0, 0)); } else nhiphan.SetPixel(j, i, Color.FromArgb(255, 255, 255)); } } return nhiphan; } public int tinh_toado_tam(Bitmap nhiphan) { int b = 0, c = 0, d = 0; Color g; for (int i = 0; i < nhiphan.Width; i++) { for (int j = 0; j < nhiphan.Height; j++) { g = nhiphan.GetPixel(i, j); byte dt = (byte)((g.R + g.G + g.B) / 3); if (dt == 0) { b = i; break; } } SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 49 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh if (b != 0) break; } for (int i = nhiphan.Width - 1; i > 0; i ) { for (int j = nhiphan.Height - 1; j > 0; j ) { g = nhiphan.GetPixel(i, j); byte dt = (byte)((g.R + g.G + g.B) / 3); if (dt == 0) { c = i; break; } } if (c != 0) break; } if ((c != 0) && (b != 0)) { d = (int)((c / + b / 2)*0.12; } return ( d+137); } public int tinh_gocnghien(Bitmap nhiphan, Bitmap bmp) { int xb = 0, yb = 0, xc = 0, yc = 0, xd = 0, yd = 0, xa = 0, ya = 0; Color g; for (int i = 0; i < nhiphan.Width; i++) { for (int j = 0; j < nhiphan.Height; j++) { g = nhiphan.GetPixel(i, j); byte dt = (byte)((g.R + g.G + g.B) / 3); SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 50 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh if (dt == 0) { xb = i; yb = j; break; } } if (xb != 0) break; } for (int i = nhiphan.Width - 1; i > 0; i ) { for (int j = nhiphan.Height - 1; j > 0; j ) { g = nhiphan.GetPixel(i, j); byte dt = (byte)((g.R + g.G + g.B) / 3); if (dt == 0) { xc = i; yc = j; break; } } if (xc != 0) break; } for (int j = 0; j < nhiphan.Height; j++) { for (int i = 0; i < nhiphan.Width; i++) { g = nhiphan.GetPixel(i, j); byte dt = (byte)((g.R + g.G + g.B) / 3); if (dt == 0) { xd = i; SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 51 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh yd = j; break; } } if (xd != 0) break; } xa = xb + xc - xd; ya = yb + yc - yd; int m = (int)(xb + xc) / 2; int n = (int)(xa + xd) / 2; g = bmp.GetPixel(m, n); Color g1, g2; g1 = bmp.GetPixel(m , n+10); g2 = bmp.GetPixel(10,10); textBox_chuan.Text = g.B.ToString(); textBox_red.Text = g.R.ToString(); textBox_green.Text = g.G.ToString(); if ((g.B>200)) { textBox_color.Text = "Blue"; //textBox_chuan.Text = g.B.ToString(); mau = "1"; } if ((g.R>200)&&((g.G)200) && (g.G >150)) { SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 52 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh textBox_color.Text = "Vang"; // textBox_chuan.Text = ((g.G + g1.G + g2.G)/3).ToString(); mau = "3"; } textBox_A.Text = xa.ToString() + "," + ya.ToString(); textBox_B.Text = xb.ToString() + "," + yb.ToString(); textBoxC.Text = xc.ToString() + "," + yc.ToString(); textBoxD.Text = xd.ToString() + "," + yd.ToString(); float BD = (xb - xd) * (xb - xd) + (yb - yd) * (yb - yd); float CD= (xc - xd) * (xc - xd) + (yc - yd) * (yb - yd); float AC = (xc - xa) * (xc - xa) + (yc - ya) * (yc - ya); float AB = (xb - xa) * (xb - xa) + (yb - ya) * (yb - ya); Double AE = Math.Sqrt((xa - xc) * (xa - xc)); Double CE = Math.Sqrt((yc - ya) * (yc - ya); if((BD>CD)&&(AC>AB)) { return (int)(Math.Atan(AE / CE) * 180 / Math.PI); } else { return (int)(Math.Atan(AE / CE) * 180 / Math.PI+90); } } private void Form1_Load(object sender, EventArgs e) { capture = new Capture(); Application.Idle += streaming; string[] port = SerialPort.GetPortNames(); comboBox_com.Items.AddRange(port); } private void streaming(object sender, EventArgs e) { var image = capture.QueryFrame().ToImage(); var bmp1 = image.Bitmap; SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 53 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh pictureBox_camera.Image = bmp1; } private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { } private void label1_Click(object sender, EventArgs e) { } private void button_close_Click(object sender, EventArgs e) { if(serialPort1.IsOpen) { serialPort1.Close(); progressBar1.Value = 0; } } private void button_send_data_Click(object sender, EventArgs e) { if(serialPort1.IsOpen) { data_out = textBox_send.Text; serialPort1.Write(data_out); } } // Nhan() private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { data_in = serialPort1.ReadExisting(); this.Invoke(new EventHandler(ShowData)); } private void ShowData(object sender, EventArgs e) { textBox_recieve.Text = data_in+ textBox_recieve.Text; SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 54 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng công nghệ xử lí ảnh data_in = data_in.Trim(); if (data_in =="A") { textBox_recieve.Text = "A"; var image = capture.QueryFrame().ToImage(); var bmp = image.Bitmap; pictureBox1.Image = bmp; //fun pictureBox2.Image = chuyen_nhiphan(bmp); //toado = tinh_toado_tam(chuyen_nhiphan(bmp)).ToString(); int toado_tam = tinh_toado_tam(chuyen_nhiphan(bmp)) - 10; textBox_mau.Text = toado_tam.ToString(); double a = tinh_an_pha(toado_tam); toado_a = a.ToString(); if (a < 10) { toado_a = "00" + a.ToString() } else if ((a < 100) && (a >= 10)) { toado_a = "0" + a.ToString(); } textBox_toadoa.Text = toado_a; double b = tinh_be_ta(toado_tam); toado_b = b.ToString(); if (b < 10) { toado_b = "00" + toado_b; } else if (b < 100 && b >= 10) { toado_b = "0" + toado_b; SVTH:Nguyễn Văn Sơn Phạm Phú Vỹ - 14CDT2 GVHD:Ths.Nguyễn Đắc Lực 55 Thiết kế chế tạo cánh tay bậc tự phân loại sản phẩm băng tải sử dụng cơng nghệ xử lí ảnh } int t = tinh_gocnghien(chuyen_nhiphan(bmp), bmp); gocnghien = t.ToString(); if(t=0)&&(t

Ngày đăng: 25/04/2021, 13:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w