Viết chương trình thực thi

Một phần của tài liệu GIAO TIẾP MÁY TÍNH - VĐK SỬ DỤNG C# VÀ VB (Trang 44 - 69)

Bước tiếp theo chúng ta se viết lệnh cho các đối tượng. Để viết code, ta click phải chuột vào form, chọn View Code.

Cửa sổ Project1 Ờ Form (code) hiện ra trong vùng làm việc. Trong trình sổ xuống (General) sẽ chứa tất cả đối tượng mà ta đã thêm bên ngoài giao diện. Click và chọn một đối tượng bất kỳ, ở đây chúng ta sẽ chọn đối tượng labelLED, sẽ xuất hiện 2 dòng code như sau:

Private Sub LabelLED_Click(Index As Integer) // lệnh cần thực thi

End Sub

Hàm này sẽ thực thi những lệnh mà ta viết giữa hai dòng này khi click vào mỗi labelLed.

Ta sẽ thêm dòng lệnh dưới đây vào giữa để hàm thực thi. Kết quả sẽ như sau:

Private Sub LabelLED_Click(Index As Integer)

ShapeLED(Index).FillStyle = 1 - ShapeLED(Index).FillStyle End Sub

Bây giờ chúng ta sẽ nhấn phắm F5 để chạy chương trình, kiểm tra lệnh mình vừa viết ở trên.

Kế đến chúng ta viết lệnh cho các button. Lệnh thực thi cho nút Thoat

Private Sub cmdExit_Click() Beep

End End Sub

Lệnh thực thi cho nút Gui du lieu

Private Sub cmdSend_Click() Dim t As Integer Dim i As Integer t = 0 For i = 0 To 7 t = t + (2 ^ i) * (1 - ShapeLED(i).FillStyle) Next i MSComm1.Output = Chr(t) End Sub

Lệnh thực thi cho nút Stop

Private Sub cmdStop_Click()

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False

cmdStop.Caption = "Start" Else

cmdStop.Caption = "Stop" MSComm1.PortOpen = True

End If End Sub

Chúng ta phải thêm một hàm bên dưới để lúc form khởi động, sẽ tự động mở cổng COM1 và cấu hình cho cổng com truyền dữ liệu.

Private Sub Form_Load() MSComm1.CommPort = 1

MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True

CHƯƠNG 3: SỬ DỤNG VISUAL C# GIAO TIẾP VĐK

Khởi động C#.

Tạo dự án mới: Vào menu File -> New Project Ầ (Hoăc bấm Ctrl + Shift + N) Hộp thoại New Project xuất hiện, chọn vào biểu tượng Window Application.

Sửa tên ứng dụng WindowsApplication1 thành tên chương trình của bạn, vắ dụ như Dkdongco, Donhietdo, .. lưu ý không nên viết có ký tự trống và tiếng việt trong tên này!

Xong bạn Click OK

Các bạn có thể click chuột vào các góc của của sổ From1 và kéo cho nó thay đổi kắch thước vừa ý.

Giờ chúng ta sẽ làm việc với Form1 này.

Bạn Click vào vị trắ bất kì trên form, sau đó qua cửa sổ thuộc tắnh, 2 thuộc tắnh bạn cần quan tâm để chỉnh sửa là Name và Text (adsbygoogle = window.adsbygoogle || []).push({});

Lưu ý: Để thay đổi thuộc tắnh của bất cứ đối tượng nào, việc bắt buộc đầu tiên bạn phải click chuột vào đối tượng đó.

Các bạn có thể đổi sửa thuộc tắnh Name thành frmMain hay bất kắ tên gì, có thể giữ nguyên là Form1

Đối với thuộc tắnh Text, chắnh là dòng chữ hiển thị trên thanh tiêu đề của cửa sổ chương trình, bạn nên đổi thành nội dung đề tài của bạn (VD: Chương trình theo dõi nhiệt độ phòng máy, Ầ), chương trình cho phép bạn nhập liệu tiếng việt.

Tiếp theo bạn đổi tên các file trong của sổ quản lý Project của chương trình như hình bên dưới

- Đối tượng Label, để hiển thị các thông tin như là trường, lớp, tên đề tài, nhóm, thành viên nhóm, Ầ

Trong Cửa sổ Toolbox, bạn tìm đối tượng Label

Click chuột vào đối tượng label sau đó đưa chuột qua của sổ form, Click vào form tại vắ trắ mà bạn muốn đặt label này

Bây giờ ta tiến hành thay đổi các thuộc tắnh của label này.

Click chuột vào label trên form, chứng ta chuyển qua của sổ Thuộc tắnh. Lúc này cửa sổ thuộc tắnh sẽ chứa các thuộc tắnh của label này.

Tương tự như form chắnh lúc nãy 2 thuộc tắnh bạn cần thay đổi đầu tiên là Name và Text

Thuộc tắnh Name bạn thay đổi để khi viết chương trình bạn dễ nhớ khi gọi đối tượng này ra xử lý, ở đây label này hiển thị tên trường nên mình đặt tên cho nó là labelTruong.

Lưu ý:

+ Để hạn chế không bị nhầm lẫn giữa các đối tượng bạn nên thêm tiền tố label trước tên của nó, để biết đối tượng này là loại label, label này để hiển thị Trường. Để dễ nhớ thôi, chứ chương trình sẽ không cho 2 đối tượng trùng tên nhau.

+ Tên đối tượng bạn không được nhập khoảng trắng và không nên nhập tiếng việt

Giờ bạn thay đổi Font chữ, màu chữ, kắch thước chữ. Vẫn Click chuột vào đối tượng label này.

Chuyển qua Cửa sổ Thuộc tắnh

Click vào nút Ầ ở dòng Font, cửa sổ Font hiện ra, bạn chọn các thuộc tắnh font cho vừa ý

Mình chọn Font Tahoma, In đậm, Size 18

Tương tự để bạn thêm các label hiển thị lớp, nhóm, tên để tài, Ầ Bạn có thể Click chuột kéo rê các label đúng vị trắ như ý muốn.

Bước tiếp theo, chúng ta tạo một Nút nhấn để khi bạn click vào nó, form điều khiển sẽ hiện ra đồng thời form chắnh sẽ ẩn đi

- Đối tượng Button: sẽ thực hiện một công việc gì đó khi ta Click vào (theo code ta viết)

Trong cửa sổ Toolbox, tìm dòng có đối tượng Button, Click vào dòng này. Sau đó đưa chuột qua form, click vào vị trắ muốn đặt button tren form.

Ta đã có một nút nhấn trên giao diện chắnh. Bay giờ bạn tiến hành thay đổi các thuộc tắnh cho nó. 2 thuộc tắnh cần thay đổi là Name và Text

Tương tự như đổi thuộc tắnh Name và Text của label bạn sẽ được kết quả như hình dưới

Ngoài ra để nút nhấn của mình thêm phần sinh động, bạn có thể thay đổi font, màu chữ, Ầ hoặc thêm biểu tượng cho nó, bạn tự tìm hiểu thêm nhé, tất cả đều nằm trong cửa sổ thuộc tắnh của button này.

Bây giờ chúng ta tạo một nút nhấn, để khi click vào, chương trình sẽ kết thúc.

Thực hiện tương tự như các bước tạo button ở trên, bạn thay đổi thuộc tắnh Name cho nút nhấn này là buttonExit, màu chữ đỏ (tùy ý), Text là Exit hay Thoát, tùy ý bạn.

Bước kế tiếp, tạo sự kiện đóng chương trình cho buttonExit này. Bạn click đúp vào nút Thoát, cửa sổ viết code hiện ra, bạn gõ lệnh như sau:

private void buttonExit_Click(object sender, EventArgs e)

{ (adsbygoogle = window.adsbygoogle || []).push({});

Application.Exit(); // Thoát ứng dụng }

Để thực hiện bước tiếp theo, chúng ta cần tạo ra một form mới có tên là frmDieuKhien. Vì nút nhấn này khi click vào thì form điều khiển được hiển thị.

Trong cửa sổ Solution Explorer, bạn click phải vào tên chương trình và click vào Windows FromẦ

Hộp thoại Add New Item hiện ra, bạn đặt tên form mới này theo yêu cầu của mình (VD là frmDieuKhien)

Click Ok để tạo form mới.

Giao diện form mới hiện ra trên cửa sổ làm việc. Bước đầu tiên bạn cũng tiến hành đổi tên form, tiêu đề form như đã thực hiện với form chắnh lúc đầu.

Kết quả sau khi thực hiện mình có form điều khiển như hình dưới

Mẹo nhỏ: Để kắch thước 2 form này giống nhau hoàn toàn, trong cửa sổ thuộc tắnh của form chắnh (frmMain) bạn tìm đến dòng Size và copy 2 con số (rộng, cao). Sau đó

cũng tìm đến dòng Size của form điều khiển (frmDieuKhien) dán 2 con số này vào. Enter

Bây giờ chúng sẽ viết lệnh tạo sự kiện để nút nhấn Bảng ĐK sẽ thực hiện khi nhấn vào nó.

Chuyển qua form chắnh (frmMain), Click đúp vào Button Bảng ĐK. Cửa sổ viết code của chương trình hiện ra, bạn viết những lệnh như dưới vào hàm sự kiện của buttonNext, bạn không cần phải quan tâm đến các đoạn code khác.

private void buttonNext_Click(object sender, EventArgs e)

{

fromDieuKhien frmDK = new fromDieuKhien(); // Khởi tạo biến "ựại diện" form ựiều khiển

frmDK.Show(); // Hiện thị form ựiều khiển this.Hide(); // Ẩn form chắnh

}

Bây giờ bạn có thế Bấm phắm F5 để chạy kiểm tra những gì mình vừa làm.

Như vậy chúng ta đã tương tác xong với form chắnh (frmMain) rồi giờ chúng ta sẽ chuyển sang form điều khiển (frmDieuKhien) tạo các đối tượng, viết code cho nó. Bước đầu tiên bạn tạo một button Thoát như ở form chắnh để khi click vào chương trình sẽ thoát.

Click đúp vào nút Thoát để viết code tạo sự kiện cho nó.

private void buttonExit_Click(object sender, EventArgs e) {

Application.Exit(); // Thoát chương trình }

Xong, giờ ta sẽ thêm các đối tượng như cổng nối tiếp, các nút nhấn, listbox chứa tên cổng com, Ầ

- SerialPort: đối tượng để truyền nhận dữ liệu qua công nối tiếp với VĐK Để thêm một serial port, tương tự như đã thực hiện với các đối tượng trên.

Lưu ý: Mình đổi tên cổng nối tiếp này thành port. Các thuộc tắn còn lại bạn hãy để như mặc định.

- Bây giờ chúng ta sẽ thay đổi thuộc tắnh Name và Item cho ListBox này.

+ Bạn đổi Name listBox1 thành listBoxComport.

+ Ở dòng Item, Bạn click vào nút Ầ để thêm danh sách cổng Com cho listBox này hiển thị

- Click OK, kết quả bạn sẽ thấy trên form điều khiển, một danh sách cổng com ta vừa thêm. Lưu ý là tên cổng com không có khoảng trắng, không nhập tiếng việt. Trên mỗi dòng chỉ nhập tên 1 cổng com

- Tiếp theo bạn tạo một button để thực hiện Ngắt kết nối cổng com khi không dùng nữa. Button này có thuộc tắnh Name là buttonDisConnect và thuộc tắnh Text là Ngắt kết nối, font, màu chữ tùy ý.

- Tạo một label để hiển thị tình trạng kết nối cổng com (như là báo lỗi, báo kết nối thành công). Label này có thuộc tắnh Name là labelTinhTrang, thuộc tắnh Text bạn để một khoảng trắng vì ban đầu chưa chạy chương trình thì chưa có thông báo gì. (adsbygoogle = window.adsbygoogle || []).push({});

- Giờ ta tiến hành thêm sự kiện cho nút buttonDisConnect và listBoxComPort Click đúp vào nút Ngắt kết nối và viết code ngắt cổng com như sau:

if (port.IsOpen) // Nếu cổng com ựang mở thì thực hiện lệnh tiếp

theo {

port.Close(); // đóng cổng com ựang mở

labelTinhTrang.ForeColor = Color.Red; // đổi màu chứ labelTinhTrang thành ựỏ

}

Tiếp theo kết nối cổng com khi click chọn cổng com trong danh sách cổng com của listBoxComPort

Click đúp vào danh sách cổng com (listBoxComPort) và viết code kết nối cổng com như sau:

private void listBoxComPort_SelectedIndexChanged(object sender,

EventArgs e) { if (port.IsOpen) port.Close(); port.PortName = listBoxComPort.SelectedItem.ToString(); try { port.Open();

labelTinhTrang.ForeColor = Color.Green; labelTinhTrang.Text = "đã mở cổng " +

listBoxComPort.SelectedItem.ToString() + " thành công !"; } catch {

labelTinhTrang.ForeColor = Color.Red; labelTinhTrang.Text = "Không thể mở cổng " + listBoxComPort.SelectedItem.ToString() + " !";

} }

- Bấm F5 để kiểm tra công việc, thử click vào dach sách cổng com xem kết quả thông báo và Ngắt kết nối.

- Tạo các nút nhấn gửi dữ liệu xuống VĐK điều khiển Role Các bước thực hiện như tạo nút ở trên

- Tiếp theo ta viết một hàm gửi ký tự qua cổng nối tiếp: private void writeChar(string Char)

{

if (port.IsOpen) // Nếu cổng com ựã ựược kết nối mới gửi ký tự {

port.Write(Char); // Gửi một ký tự qua cổng Com }

else // Nếu cổng com chưa kết nối thì hiển thị hộp thoại thông báo {

MessageBox.Show("Vui lòng Kết nối với cổng COM!", "Lỗi gửi dữ liệu",

MessageBoxButtons.OK, MessageBoxIcon.Warning); }

}

- Sau khi viết hàm gửi ký tự bạn có thể Click đúp vào các nút ROLE 1 đến ROLE 8 để tạo sự kiện gửi dữ liệu.

private void buttonRole1_Click(object sender, EventArgs e)

{

writeChar("1"); // Gửi ựi ký tự số 1 }

Ầ Ầ

private void buttonRole8_Click(object sender, EventArgs e) (adsbygoogle = window.adsbygoogle || []).push({});

{

writeChar("8"); // Gửi ựi ký tự số 8 }

- Khi VĐK nhận được những kắ tự này sẽ kiểm tra và xử lý, tùy theo chương trình của bạn.

- Bấm F5 và chạy mô phỏng Proteus và kiểm tra. Trên giao diện bạn bạn COM5, trong mô phỏng Proteus bạn chọn COM4, vì 2 cổng này là com ảo đã được tạo ra và kết nối ảo với nhau nhờ chương trình Virtual Serial Port Driver.

- Để chương trình của bạn luôn hiển thị trên các cửa sổ còn lại, bạn chuyển qua cửa sổ thuộc tắnh của frmMain, tìm đến dòng TopMost đổi thành True, làm tương tự đối với frmDieuKhien

CHƯƠNG 4: CÁC VÍ DỤ GIAO TIẾP MÁY TÍNH VÀ VĐK

4.1 Giao tiếp máy tắnh điều khiển động cơ bước bằng C# 4.1.1 Mô phỏng Proteus

Một phần của tài liệu GIAO TIẾP MÁY TÍNH - VĐK SỬ DỤNG C# VÀ VB (Trang 44 - 69)