Chương 1: TỔNG QUAN Chương 2: LabVIEW Chương 3: Kit MyRIO Chương 4: XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH Chương 5: HỆ THỐNG NHẬN DẠNG CỬ CHỈ ĐIỀU KHIỂN THIẾT BỊ Chương 6: KẾT QUẢ VÀ NHẬN XÉT Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 2 do an Chương 2: LabVIEW 2. Tổng quan về LabVIEW LabView là một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa kỳ, là môi trường ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh giữa con người, thuật toán và các thiết bị. LabView dùng trong hầu hết các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều Hình 2. Biểu tượng khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y sinh ở các nước đặc biệt là Mỹ, Hàn quốc, LabVIEW Nhật Bản.
LabView được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal. Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, giúp cho các kỹ sư tổng quát hơn về toàn bộ chương trình, dễ dàng lập trình, biên dịch và kiểm thử. LabVIEW còn giúp các kỹ sư chuyển ý tưởng của họ thành hiện thực, giảm thời gian kiểm tra và cung cấp những hiểu biết sâu hơn về dữ liệu mà họ thu thập được. Cài đặt và giao diện Hướng dẫn cài đặt LabVIEW sẽ được kèm theo ở phụ lục 1.Hướng dẫn chi tiết bằng hình ảnh cách cài đặt và kích hoạt bản quyền.
Chuẩn bị Trước khi cài đặt LabVIEW cần chuẩn bị: Một hệ thống hay máy tính đáp ứng các yêu cầu cần thiết để cài đặt LabVIEW. Phiên bản phần mềm LabVIEW phù hợp với Hệ điều hành (Windows 32bit hoặc 64 bit). Key bản quyền để kích hoạt phần mềm sau khi cài đặt. Yêu cầu máy tính cài LabVIEW Một hệ thống nhúng hay một máy tính để cài đặt và chạy ổn định chương trình LabVIEW cần đảm bảo các yêu cầu về cấu hình nhất định.
Yêu cầu về cấu hình được đề cập đến ở phụ lục 1. Ngôn ngữ lập trình đồ hoạ - LabVIEW LabVIEW được xem là một ngôn ngữ lập trình đồ hoạ, khác với các ngôn ngữ lập trình truyền thống như C, Java, Pascal,… LabVIEW sử dụng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo. Một ví dụ đơn giản để cho thấy sự khác biệt giữa một chương trình C và chương trình LabVIEW. Cộng 2 số nguyên: C code: #include <stdio.h> void main() { int a = 5,b = 7; scanf(“%d”,&a); scanf(“%d”,&b); printf("%d + %d = %d \n", a, b, a + b); } LabVIEW code: Hình 2.
Cộng 2 số nguyên sử dụng LabVIEW Theo ví dụ trên, khi cộng 2 số nguyên nếu dùng C code chúng ta phải khai báo, nhận giá trị, tính toán, hiển thị để hoàn thành chương trình. 4 do an Khi sử dụng LabVIEW chỉ cần phân sử dụng các hàm nhập xuất dữ liệu và tính toán, các biến đã được khai báo khi được kéo vào cửa sổ. Thuận lợi khi sử dụng LabVIEW, lập trình viên sẽ lập trình nhanh hơn, dễ dàng trong kiểm tra và có cái nhìn tổng quát hơn về chương trình. Môi trường lập trình Khi tạo một VI mới sẽ xuất hiện 2 cửa sổ đó là Front panel và Block diagram Front panel Front panel là nơi để thiết kế giao diện cho toàn bộ hệ thống, là một cửa sổ giao diện người dùng có thể tương tác, quan sát kết quả hiển thị từ các thiết bị ảo … các thành phần của Front Panel được thể hiện trong hình 2.
Ví dụ về front panel - Palette controls chứa các controls và indicators được sử dụng để tạo ra giao diện người dùng trên front panel. Truy cập vào Controls Palette từ cửa sổ front panel bằng cách chọn View »Controls Palette hoặc click chuột phải vào bất kỳ không gian trống trong cửa sổ front panel. - Controls thường là tay nắm, nút ấn, quay số, thanh trượt, và chuỗi. Nó là công cụ mô phỏng thiết bị đầu vào và cung cấp dữ liệu cho sơ đồ khối của VI 5 do an - Indicators thường là các đồ thị, biểu đồ, đèn LED, và chuỗi trạng thái.
Indicator là công cụ mô phỏng thiết bị đầu ra và hiển thị dữ liệu mà sơ đồ khối tạo ra. Block Diagram Đối tượng sơ đồ khối bao gồm thiết bị đầu cuối, subVIs, nút, hàm chức năng, các hằng số, cấu trúc và dây kết nối, trong đó dữ liệu được truyền giữa các đối tượng khác nhau trong sơ đồ khối. - Function palette chứa VI, hàm chức năng và các hằng số để sử dụng tạo ra block diagram. Truy cập vào Funciton palette từ Block Diagram bằng cách cách chọn View »Function Palette hoặc click chuột phải vào bất kỳ không gian trống trong cửa sổ block diagram.
Ví dụ về Block Diagram 2. Lập trình và biên dịch Để lập trình trên LabVIEW cần lập trình 2 phần: - Thiết kế giao diện trên Front Panel. Để thiết kế giao diện trên Front Panel, người lập trình cần chọn các Control hoặc Indicator cần thiết cho giao diện, kéo thả đến vị trí cần thiết sao cho bố cục đẹp mắt. - Lập trình xử lý trên Block Diagram.
Từ những Control và Indicator được thiết kế ở cửa sổ Front Panel, người lập trình cần phải liên kết chúng với các hành để tạo thành giải thuật cho chương trình. 6 do an Trong khi lập trình với các hàm, người lập trình cần bổ sung thêm các biến về hằng số, control hoặc indicator mới theo yêu cầu của hàm. Chương trình báo lỗi thông qua biểu tượng mũi tên trắng trên thanh công cụ, khi mũi tên không liền khối thì chương trình của bạn đã bị lỗi về cú pháp như: thiếu các biến cho một hàm, sai kiểu dữ liệu liên kết giữa 2 hàm,… nếu không tự tìm được lỗi người lập trình có thể ấn nút mũi tên không liên khối ấy và một bảng thông báo lỗi sẽ hiện ra. Báo lỗi trong LabVIEW Trong hình 2.5 lỗi được thông báo là chưa kết nối điều kiện lặp cho vòng lặp While.
Biên dịch chương trình: Sau khi đã thiết kế giao diện và lập trình giải thuật xử lý xong, đảm bảo không có lỗi về cú pháp, lúc này nút mũi tên trắng trên thanh công cụ là liền một khối, để biên dịch và chạy chương trình người lập trình cần ấn nút mũi tên ấy. Chạy chương trình trong LabVIEW 7 do an 2. Kiểu dữ liệu trong LabVIEW Khi lập trình với LabVIEW cần hiểu rõ hơn về cách quy định kiểu dữ liệu. Một số lỗi chương trình xảy ra do không trùng khớp kiểu dữ liệu giữa các hàm.
Nếu một người lập trình không nắm rõ các kiểu dữ liệu trong LabVIEW thì sẽ khó khăn trong việc tìm control và indicator cho một hàm, gây mất nhiều thời gian để lập trình. Các kiểu dữ liệu sẽ được quy định theo màu và theo kích thước của đường dây. Một số kiểu dữ liệu trong LabVIEW 2. Vòng lặp Trong LabVIEW có 2 kiểu vòng lặp là for loop và while loop.
While Loop: Một vòng lặp while là một câu lệnh điều khiển luồng dữ liệu mà dùng để thực thi một khối mã subdiagram nhiều lần cho đến một điều kiện nhất định được đáp ứng Boolean. Đầu tiên, vòng lặp thực thi mã trong subdiagram và 8 do an sau đó các điều kiện dừng được đánh giá được đánh giá. Không giống như một vòng lặp for, một vòng lặp while không có một tập hợp số đếm lặp; do đó, một vòng lặp whilesẽ thực hiện vô thời hạn nếu điều kiện dừng không bao giờ xảy ra. Vòng lặp While For Loop: Một vòng lặp for là một câu lệnh điều khiển luồng dữ liệu mà dùng để thực thi một khối mã subdiagram một số lần nhất định, một số đếm được cung cấp cho vòng lặp for để thiết đặt số lần lặp, vòng lặp for sẽ thực thi khối mã subdiagram theo đúng số lần đã thiết đặt và không cần điều kiện lặp cho mỗi lần lặp.
Vòng lặp For Các vòng lặp được sử dụng bằng cách kéo thả các hàm tại Function palette. 9 do an Hình 2. Cấu trúc điều kiện Trong LabVIEW chỉ tồn tại cấu trúc điều kiện Case, cấu trúc if sẽ được hình thành nếu điều kiện lựa chọn của cấu trúc case là kiểu boolean. Case Structure: chứa một hay nhiều các subdiagrams hoặc cấu trúc case khác, một trong số đó sẽ được thực thi khi cấu trúc case được thực thi.
Cấu trúc case có một giá trị xác định trường hợp cần thực thi. 10 do an Hình 2. Cấu trúc Case Các giá trị lựa chọn có thể là một trong các kiểu sau: Boolean Integer Enum String Error Cluster 2. Kết hợp C với LabVIEW National Instruments cũng hỗ trợ một số công cụ lập trình C để lập trình cho Kit MyRIO, nhưng nếu người lập trình muốn sử dụng code C cho chương trình viết bằng LabVIEW thì có thể sử dụng call dll library.
11 do an Hình 2. Hàm Call Library Function Node trong LabVIEW Với hàm này các người lập trình có thể kế thừa các hàm được viết bằng C và tạo cho riêng mình một hàm trong LabVIEW. Tạo Project MyRIO Để lập trình cho Kit MyRIO, người lập trình cần tạo đúng project cho Kit. Chọn myRIO project từ màn hình khởi động LabVIEW hoặc chọn FileCreate Project myRIO project.
Sau đó đặt tên, đường dẫn lưu, cách kết nối cho Kit MyRIO, nhấn Finish để hoàn thành một project cho Kit. MyRIO project Để đảm bảo tạo được một myRIO project, thì Kit MyRIO phải được kết nối với máy tính theo một trong 2 cách là dùng cable USB hay kết nối không dây qua Wifi. 12 do an Chương 3: MyRIO Kit 3. Tổng quan về MyRIO Kit Được National Instrument giới thiệu năm 2013 NI myRIO là một nền tảng phần cứng/phần mềm mang tính cách mạng cung cấp cho sinh viên khả năng "làm kỹ thuật" và thiết kế hệ thống thực tế một cách nhanh chóng hơn bao giờ hết.
được hoàn thành với công nghệ Zynq mới nhất từ Xilinx tích hợp hệ thống trên một chip (SoC). NI myRIO có một bộ vi xử lý dual-core ARM ®™ Cortex-A9 và một FPGA với 28.000 tế bào lập trình logic, 10 đầu vào analog, 6 đầu ra analog, kênh I/O audio, và lên đến 40 lines số input/output (DIO). Được thiết kế và giá cả phù hợp cho người sử dụng học tập, NI myRIO Hình 3.1 Kit myRIO cũng bao gồm onboard WiFi, một cảm biến gia tốc ba trục, và một số đèn LED, kèm theo các yếu tố hình thức. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Kit NI myRIO bằng ngôn ngữ LabVIEW hoặc hoặc một số ngôn ngữ khác như C, C++.