You are on page 1of 53

ĐỒ ÁN TỐT NGHIỆP

ÁO GIÁP THÔNG MINH TRONG THI


ĐẤU VÕ THUẬT
DANH MỤC CÁC TỪ VIẾT TẮT

ASK Amplitude Shift Keying


CPU Central Processing Unit
GUI Graphical User Interface
LED Light Emitting Diode
MVS Microsorf Visual Studio
OOK On / Of Keying
PIC Programmable Intelligent Computer
RF Radio Frequence
SAW Surface Accoutic Wave
UART Universal Asynchronous Receiver-Transmitter
WSN Wireless Sensor Network
ĐỒ ÁN TỐT NGHIỆP
Trang 1/51

CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI

1.1 Giới thiệu chung

Trong những năm gần đây, rất nhiều mạng cảm nhận không dây đã và đang
được phát triển và triển khai cho nhiều các ứng dụng khác nhau như: theo dõi sự
thay đổi của môi trường, khí hậu, giám sát các mặt trận quân sự, phát hiện và do
thám việc tấn công bằng hạt nhân, sinh học và hoá học, chuẩn đoán sự hỏng hóc của
máy móc, thiết bị, theo dấu và giám sát các bác sỹ, bệnh nhân cũng như quản lý
thuốc trong các bệnh viên, theo dõi và điều khiển giao thông, các phương tiện xe
cộ...
Nhưng quần áo thông minh vẫn là xu thế, không chỉ đơn thuần là gắn các thiết bị
vào cổ tay, mặt, tai, chân. Quần áo thông minh có thể theo dõi nhịp tim, theo dõi
cảm xúc và thậm chí trả tiền cà phê sáng mà không cần dùng qua điện thoại.
Tình hình nghiên cứu ngoài nước
Hiện nay, trên thế giới lĩnh vực IOTs phát triển rất nhanh và gần như bao phủ
hết các lĩnh vực trong đời sống. Các sản phẩm, các công trình nghiên cứu ứng
dụng công nghệ cảm biến không dây ngày càng nhiều. Đặc biệt trong vài năm gần
đây cho ra đời rất nhiều dòng sản phẩm về quần áo thông minh liên quan đến sức
khỏe và đời sống con người.
Những công nghệ được kỳ vọng từ năm 2015 đến nay:
 Áo POLAR TEAM PRO
Nhà sản xuất đồng hồ thể thao GPS lần đầu tiên bước vào thế giới quần áo
thông minh với chiếc áo nén thông minh được thiết kế cho các vận động viên
nghiêm túc.
Với các điểm chụp nhịp tim ở mặt trước và túi ở mặt sau cho cảm biến GPS,
người dùng sẽ có thể theo dõi chuyển động và đo nhịp tim theo thời gian
thực. Tích hợp với hệ thống Team Pro của Polar có nghĩa là bạn có thể phát dữ

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 2/51

liệu đào tạo trực tiếp, cho phép vận động viên và huấn luyện viên theo dõi tình
trạng và mức độ thể lực.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 3/51

 Quần LUMO
Từ các nhà sản xuất máy theo dõi tư thế Lumo Lift, những chiếc quần short và
capris chạy thông minh này trong một cảm biến có thể theo dõi một loạt các số
liệu bao gồm nhịp, thời gian tiếp xúc mặt đất, xoay xương chậu và chiều dài sải
chân. Thiết bị chạy thông minh hỗ trợ huấn luyện theo thời gian thực, với phản hồi
được gửi qua tai nghe của bạn để giúp cải thiện hình thức chạy và giảm khả năng
chấn thương.
Không có thay đổi nào ở mặt trước pin, mang lại cho bạn một tháng ấn tượng
sau một lần sạc. Nếu bạn không muốn mua quần short, cũng có cảm biến Lumo
Run có thể làm thông minh bộ dụng cụ chạy hiện tại của bạn.
 Spinali Design bikini thông minh
Công ty công nghệ thời trang Pháp này đã bận rộn tạo ra quần áo kết nối, bao
gồm quần jean, váy và bikini.
Bộ sưu tập áo tắm Neviano UV Protect được trang bị cảm biến chống nước kiểu
huy chương có thể tháo rời nhằm mục đích ngăn bạn ở quá lâu dưới ánh mặt trời.
Khi bạn đã nhập loại da của mình vào ứng dụng điện thoại thông minh iOS
hoặc Android đồng hành, nó sẽ liên tục theo dõi nhiệt độ trong suốt cả ngày và sẽ
gửi cảnh báo khi đến lúc bôi thêm kem chống nắng hoặc vào trong bóng râm.
Hướng nghiên cứu đề tài
Mặc dù đã có khá nhiều công nghệ áp dụng vào quần áo nhưng vẫn có rất ít
nghiên cứu nào hướng về lĩnh vực võ thuật. Chính vì nhìn thấy được vấn đề nên đề
tài nghiên cứu áp dụng lên áo giáp trong võ thuật mang tên “ Áo giáp thông minh
cho thi đấu võ thuật “
Với khả năng cảm nhận không dây, linh hoạt và mô hình khá nhỏ gọn thì “Áo
giáp thông minh cho thi đấu võ” là một đề tài rất có ít cho nền võ thuật nước nhà.
Áo giáp thông minh cho thi đấu võ dựa trên cảm nhận không dây. Trên áo giáp
có các node cảm nhận được lập trình tính điểm. Khi đánh vào vị trí điểm trên áo
giáp, tín hiệu sẽ gởi điểm về hiển thị trên bảng led 7 đoạn. Nguyên lý này cũng dễ
sử dụng và giá thành áo đấu cũng thấp.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 4/51

Ngoài ra, còn sử dụng PL2303 để truyền dữ liệu và lưu về máy tính qua Visual
studio 2012 . Giúp dễ dàng xác định được số điểm đã thi đấu của các đấu sĩ.

1.2 Lý do chọn đề tài

Do Việt Nam chưa chú trọng và ứng dụng công nghệ nhiều về vấn đề thể thao
cho nên ít có những sản phẩm công nghệ nghiên cứu về lĩnh vực này.
Bên cạnh đó, với sự phát triển về lĩnh vực thể thao hiện nay kết hợp cùng với
công nghệ hiện đại có thể là xu hướng phát triển cần được nghiên cứu trong thời
gian sắp tới nhằm mục đích phát triển cho các vận động viên thể thao nói riêng và
nền công nghệ Việt Nam nói chung.
Từ những yêu cầu thực tế đó, cùng với sự tìm hiểu về công nghệ truyền dẫn vô
tuyến và khai thác thông tin thể thao,đề tài “Áo giáo thông minh cho thi đấu võ
thuật” nhằm tạo nên thiết bị áo có khả năng theo dõi và lưu trữ tỷ số trận đấu của
đấu sĩ trực tiếp tại sàn đấu và trên máy tính.

1.3 Mục tiêu của đề tài

Để hoàn thành sản phẩm một cách hoàn thiện nhất, đặt ra những mục tiêu như
sau:
– Tự thiết kế và xây dựng mô hình áo giáp có khả năng tính điểm trong thi
đấu.
– Hiểu về phần mềm lập trình và lập trình cho vi điều khiển PIC.
– Hiểu được nguyên lí hoạt động Module RF 315 và PT2272 M4
– Hiểu hoạt động của PL2303 và cách gởi dữ liệu về máy tính.
– Tạo giao diện qua Visual studio 2012 để tiếp nhận dữ liệu và lưu về máy
tính
Có thể, hệ thống được thiết kế chưa hoàn chỉnh và hiện đại, tuy nhiên đây là
những ý niệm, nguyên lý cơ bản ban đầu về một hệ thống giám sát và điều khiển
không dây, từ đó mở ra khả năng hoàn thiện ý tưởng, phát triển hệ thống tốt hơn,
hoàn chỉnh hơn, ứng dụng vào những mục đích khác trong cuộc sống.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 5/51

1.4 Tính cấp thiết của đề tài

Hiện nay, hầu hết các thiết bị công nghệ ứng dụng trên nhiều lĩnh vực: giáo dục,
y khoa, sản xuất,… Nhưng về lĩnh vực thể thao là rất ít. Đặc biệc là về võ thuật, hầu
như chưa có công nghệ nào ứng dụng cho thi đấu võ. Một trận đấu võ cần ban giám
khảo đơn thuần là để chấm điểm cho trận đấu. Nhưng không chắc rằng đó là số
điểm chính xác vì do chấm bằng mắt thường có thể sai lệch rất nhiều.
Nên sẽ cần thiết có một thiết bị có khả năng tính toán, lưu trữ và cập nhật liên
tục điểm số của trận đấu.

1.5 Đối tượng nghiên cứu

Đề tài được nghiên cứu, thực hiện nhằm mục đích ứng dụng kiến thức đã học
vào việc giải quyết yêu cầu thực tế, cụ thể là tìm hiểu truyền dẫn RF, thiết kế hệ
thống tính toán, thống kê kết quả và lưu trữ điểm số trong khoảng thời gian thi đấu.
Với quy mô nghiên cứu nhỏ, mang tính thực nghiệm, đề tài này chủ yếu tập
trung thiết kế, xây dựng mô hình thông qua việc ứng dụng RF 315Mhz, giao diện
Visual Studio và PIC16F877A.

1.6 Giới hạn đề tài

Tuy sản phẩm có khả năng trao đổi và truyền tải thông tin, dữ liệu một cách hiệu
quả, tiện lợi thông qua RF 315Mhz. Nhưng nó vẫn chưa có khả năng tự giải quyết
vấn đề mà cần sự tương tác trực tiếp giữa người với thiết bị hay giữa người với
người.
Bên cạnh đó, vì là mạch do sinh viên thực hiện nên sản phẩm có những giới hạn
nhất định như sau:
Không tập trung vào tính thương mại của sản phẩm
Phần cứng sử dụng các module có sẵn trên thị trường

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 6/51

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1 Tổng quan môn võ Karate

2.1.1 Khái niệm và lịch sử hình thành Karate

 Khái niệm
Là một môn võ thuật truyền thống của vùng Okinawa(Nhật Bản). Karate có
tiếng là nghệ thuật chiến đấu với các đòn đặc trưng như đấm, đá, cú đánh cùi chỏ,
đầu gối và các kỹ thuật đánh bằng bàn tay mở. Trong Karate còn có các kỹ thuật
đấm móc, các kỹ thuật đấm đá liên hoàn, các đòn khóa, chặn, né, quật ngã và những
miếng đánh vào chỗ hiểm. Để tăng sức cho các động tác tấn đỡ, Karate sử dụng kỹ
thuật xoay hông hay kỹ thuật kime, để tập trung lực năng lượng toàn cơ thể vào thời
điểm tác động của cú đánh.
 Lịch sử hình thành
Những nghiên cứu gần đây cho thấy Karate được phát triển trên cơ sở tổng hợp
các phương thức chiến đấu của người Ryukyu với các môn võ thuật ở phía
Nam Trung Quốc nhằm chống lại ách đô hộ hà khắc mà giới cai trị Nhật Bản áp đặt
lên dân bản xứ bấy giờ. Tuy nhiên, xuất xứ chính xác của môn võ này còn chưa
được xác định, bởi không tìm được thư tịch cổ nào của Vương quốc Lưu Cầu xưa
ghi chép về môn võ này. Người ta chỉ có thể đưa ra được những giả thiết về nguồn
gốc của Karate.
– Xuất phát từ các điệu múa vùng nông thôn Lưu Cầu, một môn võ (người
Ryukyu gọi là dei và viết bằng chữ Hán 手 ) hình thành và phát triển
thành Todei (唐手). Đây là giả thiết do Asato Anko đưa ra.
– Do tập đoàn người Hoa từ Phúc Kiến di cư sang Okinawa và định cư tại
thôn Kuninda ở Naha và truyền các môn võ thuật Trung Quốc tới đây. Vì
thế mà có tên gọi là tote (唐手) với chữ to (唐 - Đường) chỉ Trung Quốc,
còn te ( 手 - Thủ) nghĩa là "võ", tức các môn võ thuật có gốc từ Trung
Hoa.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 7/51

– Theo con đường thương mại tới Okinawa. Vương quốc Lưu Cầu xưa có
quan hệ thương mại rộng rãi với Trung Quốc và các quốc gia Đông Nam
Á. Các môn võ thuật có thể từ các miền đất khác theo các thuyền buôn và
truyền tới Okinawa.
– Bắt nguồn từ môn vật của Okinawa có tên là shima.

2.1.2 Tiêu chuẩn và cách tính điểm trong thi đấu Karate

 Tiêu chuẩn điểm


Thi đấu Karate sẽ có 6 qui định ăn điểm:
– Đòn thế đẹp : đòn thế đúng với kỹ thuật karate
– Tinh thần thể thao
– Sức mạnh
– Ý chí phòng thủ
– Đúng thời điểm
– Cư ly chuẩn
 Cách tính điểm
– 3 điểm : Các đòn đá vào mặt, các đòn quật ngã đối phương.
– 2 điểm : Các đòn đá vào bụng và lưng.
– 1 điểm : Các đòn đánh vào 2 cạnh sườn.

2.2 Tổng quan RF 315Mhz

2.2.1 Khái niệm

Đây là tín hiệu sóng vô tuyến có tần số 315Mhz ( Radio Frequency 315Mhz ).


Hz là đơn vị đo của tần số hay chu kỳ sóng, như vậy 433Mhz có nghĩa là 315 000
000 chu kỳ trong mỗi giây.

2.2.2 Các khối chức năng của một hệ thống liên lạc sóng vô tuyến RF

Có 3 kiểu liên lạc phổ biến :


– Simplex ( Đơn công )

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 8/51

Hình 2-1 : Phương thức truyền đơn công


Do mỗi đầu chỉ sử dụng 1 anten nên vừa phát, vừa thu hoặc chỉ để phát hay thu
– Half-duplex ( Bán song công )

Hình 2-2 : Phương thức bán song công


Với phương thức half-duplex thì mỗi bên đều có khối phát Tx và khối thu Rx và
đều cần thêm cái chuyển mạch ví dụ như nút bấm để nói trên bộ đàm.
– Full-duplex (Song công )

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 9/51

Hình 2-3 : Phương thức truyền song công


Phương thức full-duplex (song công) thì mạch điện bên trong hơi phức tạp hơn
một tí. Cần có bộ điều hướng anten gọi là circulator. Bộ này có chức năng vừa đưa
tín hiệu của bộ phát Tx lên anten để  bức xạ ra không gian vừa lấy tín hiệu thu về và
đưa vào bộ thu Rx mà không lẫn vào nhau.

2.3 Tổng quan về Visual studio

Là môi trường phát triển tích hợp chính IDE được phát triển từ Microsoft. Đây
là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc
phát triển phần mềm.
– Các môi trường phát triển hợp nhất thường bao gồm:
+ Một trình soạn thảo mã (source code editor): dùng để viết mã.
+ Trình biên dịch (compiler) và/hoặc trình thông dịch (interpreter).
+ Công cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch)
mã nguồn, thực hiện liên kết (linking), và có thể chạy chương trình
một cách tự động.
+ Trình gỡ lỗi (debugger): hỗ trợ dò tìm lỗi.
+ Ngoài ra, còn có thể bao gồm hệ thống quản lí phiên bản và các công
cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ
họa (GUI).

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 10/51

+ Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt
lớp (class browser), trình quản lí đối tượng (object inspector), lược đồ
phân cấp lớp (class hierarchy diagram),… để sử dụng trong việc phát
triển phần mềm theo hướng đối tượng.
– Trong đề tài này ta dùng MVS để xây dựng giao diện đồ họa (GUI) để hiển
thị và lưu trữ điểm số của trận đấu. Chức năng này được gọi là WinForms
Designer
WinForms Designer: đây là công cụ tạo giao diện đồ họa dùng WinForms. Điểm
đặc biệt ở đây là giao diện sinh động, dễ nắm bắt. Nó bao gồm các phím bấm, thanh
tác vụ, hay các box đa dạng (textbox, list box, grid view…). Có thể di chuyển, kéo
ra, nhúng thả chúng một cách dễ dàng.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 11/51

CHƯƠNG 3. THIẾT KẾ VÀ PHƯƠNG PHÁP THỰC HIỆN

3.1 Sơ đồ khối

Hình 3-1: Sơ đồ khối của hệ thống


Hệ thống hoạt động theo sơ đồ hình 2-1 và hoạt động theo nguyên lý sau:
Khối phát sẽ nhận và gởi tín hiệu về phía thu. Sau khi nhận được tín hiệu phía
thu sẽ xử lí tín hiệu và truyền về khối điều khiển. Nhiệm vụ của khối điều khiển lúc
này là tiếp nhận thông tin và phân tích dữ liệu vừa nhận sau đó xuất ra khối hiển thị
và lưu trữ.

3.1.1 Khối Phát

Nhiệm vụ: nhận dữ liệu, đọc và phân tích dữ liệu. Sau đó gửi về phía thu qua
đường truyền vô tuyến sóng RF
Với nhiệm vụ phải truyền vô tuyến qua sóng RF vì thế lựa chọn Module IC
PT2262 ở phía phát với những đặc điểm phù hợp, cụ thể như sau :
Module phát PT2262 (Tx) được thiết kế để sử dụng cùng với module thu
PT2272-M4 (Rx). Khi được sử dụng cùng nhau, chúng là một tập hợp các module
không dây hoạt động ở mức 433 MHz và sử dụng bộ mã hóa và giải mã điều khiển
từ xa của IC Technology Technology PT2262 & PT2272. Chúng cung cấp một cách
dễ dàng để điều khiển từ xa mà không cần vi điều khiển.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 12/51

Hình 3-2 : Module Phát RF 315Mhz


Khung truyền dữ liệu :
– Gửi 3 byte 0xFF
– Truyền 1 bit star có tốc độ 4ms để bắt đầu mã hóa và chuyển dữ liệu
– Gửi dữ liệu cần truyền ở trong mảng
– Truyền 1 bit stop có tốc độ 6ms để kết thúc quá trình
Các thông số kỹ thuật bộ phát :
– Điện áp làm việc : 3-12V DC
– Dòng làm việc : 9-40mA
– Kiểu cộng hưởng : SAW
– Kiểu điều chế : ASK
– Công suất phát : 14dBm
– Sai số tần số tối đa : 150Khz
– Tốc độ truyền tin : 10Kb/s

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 13/51

3.1.2 Khối thu

Nhiệm vụ : thu thập dữ liệu từ phía phát đồng thời kết nối và truyền dữ liệu vừa
nhận được đến khối điều khiển.
Do Module phát PT2272-M4 (Rx) được thiết kế để sử dụng cùng với module thu
PT2262 (Tx) cho nên để thực hiện được ta dùng Module IC PT2272-M4 với những
đặc điểm phù hợp như sau:
IC PT2262 & PT2272 cung cấp một cách dễ dàng để điều khiển từ xa mà không cần
vi điều khiển.Vì khi được sử dụng cùng nhau, chúng là một tập hợp các module
không dây hoạt động ở mức 433 MHz và sử dụng bộ mã hóa và giải mã điều khiển
từ xa của IC PT2262 & PT2272. 

Hình 3-3 : Module Thu RF 315Mhz


Khung nhận dữ liệu bên thu:
– Kiểm tra 3 byte 0xFF
– Kiểm tra có 1 bit star có tốc độ 4ms để bắt đầu mã hóa và chuyển dữ liệu
– Nhận dữ liệu cần truyền ở trong mảng
– Kiểm tra có 1 bit stop có tốc độ 6ms để kết thúc quá trình
Các thông số bộ thu :

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 14/51

– Điện áp làm việc : 5V DC ( Sai số 0.5V )


– Dòng làm việc tối đa : 5.5 mA
– Kiểu làm việc: OOK / ASK
– Băng thông: 2Mhz
– Tốc độ truyền tin : 9.6 Kb/s

3.1.3 Khối điều khiển

– Khối điều khiển có hai nhiệm vụ. Thứ nhất là nhận tín hiệu từ các node trên áo
để tính điểm và hiển thị ra bảng điểm. Thứ hai là gởi giá trị từ PL2303.

Hình 3-4: Sơ đồ nguyên lý của khối điều khiển chính


– Có rất nhiều vi điều khiển mà chúng ta có thể sử dụng để làm linh kiện chính
cho trung tâm điều khiển như họ vi điều khiển AMCC, họ vi điều khiển Atmel,
họ vi điều khiển microchip, … Trong đề tài này chọn vi điều khiển
PIC16F877Avì nó được sử dụng phổ biến, dễ lập trình và gần gũi.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 15/51

Hình 3-5 : Sơ đồ chân PIC16F877A

3.1.4 Khối hiển thị và lưu trữ

Nhiệm vụ : Nhiệm vụ: hiển thị kết quả, đồng thời cho phép người dùng thao tác lưu
về máy tính.

3.1.5 Khối nguồn

Cung cấp nguồn cho hệ thống. Vì tất cả module đểu hoạt động với điện áp
từ 3.3V trở lên và dòng điện 3mA trở lên. Nên chọn khối nguồn là 5V sử dụng
chung cho toàn hệ thống.
Đề tài lựa chọn nguồn từ cổng USB Laptop với ngõ ra là 5V và 2.1A cho
khối nguồn. Điều này thuận lợi cho việc cấp nguồn và truyền dữ liệu cho hệ
thống.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 16/51

3.2 Lựa chọn giải pháp

3.2.1 Giải pháp công nghệ

Qua phân tích về đặc điểm của karate, sơ đồ khối hệ thống nên quyết định lựa chọn
giải pháp xây dựng hệ thống giám sát tích hợp nhiều module:
 Hệ thống sử dụng Module RF thu phát RF315Mhz làm khối truyền dẫn
thu phát. Ưu điểm của module là được thiết kế tích hợp dựa trên nền chip
IC PT2262/PT2272-M4 với thiết kế dễ sử dụng, đặc biệt là có thể truyền
sóng vô tuyến RF điều khiển từ xa.
 Hệ thống sử dụng PIC16F877A làm khối điều khiển.
 Sử dụng LCD làm khối hiện thị đồng thời sử dụng chương trình Visual
Studio để tạo giao diện hiển thị , lưu trữ kết nối từ máy tính và vi điều
khiểu qua PL2303.

3.2.2 Giải pháp thiết kế

 Nút nhấn đóng vai trò là thiết bị đầu vào của hệ thống, tín hiệu từ nút
nhấn được đưa vào IC PT2262 qua chân tín hiệu.
 PT2262 là trung tâm nhận và xử lí tín hiệu, nó sẽ nhận tín hiệu phản
hồi từ nút nhấn, xử lí dữ liệu để truyền dữ liệu nhận được vào đến phía
thu của hệ thống
 PT2272-M4 đảm nhận việc nhận dữ liệu từ phía thu sau đó xử lí truyền
tiếp về PIC16F877A.
 Khối điều khiển 16F877A sẽ nhận và phân tích dữ liệu để hiển thị ra
LCD và giao tiếp UART với máy tính thông qua PL2303
 Visual studio là chương trình cuối cùng hiển thị dữ liệu đã nhận và lưu
trữ.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 17/51

3.3 Lưu đồ giải thuật

Hình 3-6: Lưu đồ giải thuật của hệ thống


Module thu phát mình sử dụng loại không có chíp, dữ liệu truyền nhận
được vi điều khiển tạo (bên phát) và thu tín hiệu vào vi điều khiển để tiến hành
giải mã (bên thu). Khi hệ thống bắt đầu ,tín hiệu từ nút nhất được RF phát sẽ gởi
đến RF thu.
Để chống nhiễu tốt cho phần phát và thu hiệu quả thì mình tiến hành mã
hóa dữ liệu
– Bit 1 mã hóa thành 10
– Bit 0 mã hóa thành 01.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 18/51

Điều đó sẽ giảm thiểu sai xót khi truyền nhận dữ liệu nếu trong khoảng
cách truyền nhận xa.
Sau đó, dữ liệu của nút nhấn này được đưa qua RF thu truyền về
PIC16F877A xử lí và hiển thị ra bảng LCD.
Lúc này PIC16F877A sẽ giao tiếp máy tính qua PL2303.Sau đó sử dụng
giao diện phần mềm Visual studial 2012 để hiển thị và lưu trữ điểm số vào máy
tính.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 19/51

CHƯƠNG 4. THI CÔNG PHẦN CỨNG

4.1 Sơ đồ mạch nguyên lí

Hình 4-1: Sơ đồ mạch nguyên lý


 Nguyên lý hoạt động của hệ thống
Khi cấp nguồn cho hệ thống, chờ nút nhận hoạt động, dữ liệu thu thập được
từ nút nhấn được gửi về khối phát (PT 2262). Dữ liệu thu thập được khối phát sẽ
truyền qua sóng vô tuyến về khối thu( PT2272-M4 ). Tiếp theo nữa, dữ liệu thu
thập được sẽ được khối điều khiển ( PIC16F877A ). Nhiệm vụ khối hiển thị và
lưu trữ là truy xuất từ khối điểu khiển để lấy dữ liệu hiển thị ra LCD. Đồng thời
cũng sẽ hiển thị và lưu trữ qua máy tính bằng chương trình Visual Studio 2012.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 20/51

4.2 Sơ đồ mạch PCB

Hình 4-2: Sơ đồ mạch PCB


Dựa vào PCB, ta có sơ đồ mạch in thực tế như sau :

Hình 4-3 Mạch in thực tế

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 21/51

Thi công mạch ta có phần thu và hiển thị của đề tài như sau:

Hình 4-4 Mạch hiển thị hoàn chình


Trong đó:
– Cáp PL2303 lấy nguồn từ máy tình cung cấp cho hệ thông phía thu và cũng
đảm nhận vai trò truyền dữ liệu từ vi điều khiển đến máy tinh
– Khi nhận tín hiệu từ phía phát, PT2272-M4 có nhiệm vụ đọc và phân tích dữ
liệu. Sau đó PIC16F877A sẽ xử liệu và xuất ra LCD.
– Bên cạnh đó PIC16F877A còn giao tiếp với máy tình qua PL2303.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 22/51

4.3 Giao diện Visual Studio

Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình
biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập
trình. Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C+
+), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#)
và F# (như của Visual Studio 2010). Hỗ trợ cho các ngôn ngữ khác như J+
+/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ. Nó cũng hỗ
trợ XML/XSLT, HTML/XHTML, JavaScript và CSS.
Giao diện của Visual studio được thiết kế như sau:

Hình 4-5 : Giao diện hiển thị điểm trên Visual studio

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 23/51

Đầu tiên muốn kết nối từ máy tính ta phải chọn cổng COM phù hợp. Sau
đó, nhấn nút KẾT NỐI để giao tiếp với vi điều khiển. Khi cài đặt hoàn chỉnh lúc
này trận đấu bắt đầu số điểm chung sẽ được hiển thị kèm theo thời gian như hình
để tiện cho việc kiểm soát điểm số công bằng cho đấu sĩ. Song song đó ở 3 ô
textbox sẽ luôn hiển thị liên tục điểm thành phần và điểm tổng.
Kết thúc trận đấu, có nút LƯU ĐIỂM TỔNG để lưu điểm chung cuộc của
trận đấu và nút LƯU ĐIỂM THÀNH PHẦN dùng để lưu tất cả các điểm gồm :
điểm thành phần, điểm tổng và thời gian ghi điểm.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 24/51

CHƯƠNG 5. KẾT LUẬN

Áo giáp hoạt động được là do sự truyền nhận tín hiệu từ bộ RF thu phát
315Mhz lấy tín hiệu điểm từ nút nhấn truyền đến PIC16F877A để hiển thị điểm số
của trận đấu ra LCD. Song song đó điểm số cũng được hiển thị và lưu trữ trên máy
tính qua giao diện phần mềm Visual studio 2012. Máy tính đọc được dữ liệu là do
vi điều khiển 16F877A giao tiếp UART qua PL2303.
 Ưu điểm :
– Bộ phận tính điểm và truyền phát khá ổn định
– Độ nhạy của các node ổn.
– Khán giả có thể theo dõi số điểm qua bản điểm số. Song song đó nếu võ sĩ
có thắc mắc về điểm số cũng đã lưu về máy tính để giải đáp ổn thỏa thắc
mắc.
– Khoảng cách truyền dẫn đủ xa trong khuôn khổ một trận đấu
– Tính điểm tự động không cần lệ thuộc nhiều vào giám khảo. Giải quyết
đơn giản hơn về vấn đề con người.
– Về giá thành tương đối, do linh kiện không quá cao nên chi phí khá ổn.
 Nhược điểm:
– Vẫn còn sử dụng nút nhấn
– Dây điện gắn vào áo khá không phải là một giải pháp hay
– Do truyền dẫn dùng RF 315Mhz nên còn bị hạn chế mở rộng số kênh.
 Hướng phát triển:
– Kết nối với Internet dễ dàng truyền tải thông tin lên Web để khán giả
không trực tiếp xem trận đấu cũng có thể theo dõi được diễn biến trận đấu.
– Áp dụng các cảm biến vào áo. Ví dụ như có thể gắn cảm biến lực,... để tối
ưu hóa áo giáp hơn.
– Tối thiểu đường đi dây trên áo và thiết kế dây như là một tấm lưới. Mục
đích để giảm lực đánh gây ra trên áo.

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 25/51

PHỤ LỤC A

#INCLUDE <16f877a.H>

#FUSES HS // khai bao thach anh ngoai 20M

#USE DELAY(CLOCK=20M)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#define LCD_ENABLE_PIN PIN_b2

#define LCD_RS_PIN PIN_b4

#define LCD_RW_PIN PIN_b3

#define LCD_DATA4 PIN_D7

#define LCD_DATA5 PIN_D6

#define LCD_DATA6 PIN_D5

#define LCD_DATA7 PIN_D4

#INCLUDE <LCD.C>

#define d0 pin_a0

#define d1 pin_a1

#define d2 pin_a2

#define d3 pin_a3

#define d0b pin_c0

#define d1b pin_c1

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 26/51

#define d2b pin_c2

#define d3b pin_c3

#define tang pin_e0

#define chon Pin_e1

#define giam Pin_e2

#define start Pin_a4

UNSIGNED INT8 DIEMA, DIEMB,BDN,tt_mod,tama,tamb;

signed int8 giay,phut;

int1 tt_ss=1;

#int_timer1

void INTERRUPT_TIMER1()

SET_TIMER1(3036);

BDN++;

void phim_chon()

if(input(chon)==0)

delay_ms(20);

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 27/51

if(input(chon)==0)

tt_mod++;

if(tt_mod>2) tt_mod=0;

while(input(chon)==0);

void phim_tang()

if(input(tang)==0)

delay_ms(20);

if(input(tang)==0)

if(tt_mod==1)

phut++;

if(phut>59) phut=0;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 28/51

else if(tt_mod==2)

giay++;

if(giay>59) giay=0;

while(input(tang)==0);

void phim_giam()

if(input(giam)==0)

delay_ms(20);

if(input(giam)==0)

if(tt_mod==1)

phut--;

if(phut<0) phut=59;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 29/51

else if(tt_mod==2)

giay--;

if(giay<0) giay=59;

while(input(giam)==0);

void phim_start()

if(input(start)==0)

delay_ms(20);

if(input(start)==0)

bdn=0;

tt_ss=~tt_ss;

tt_mod=0;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 30/51

while(input(start)==0);

void giaima()

LCD_GOTOXY(1,1);

LCD_PUTC("DA");

LCD_GOTOXY(1,2);

LCD_PUTC(DIEMA/10+0X30);

LCD_PUTC(DIEMA%10+0X30);

LCD_GOTOXY(15,1);

LCD_PUTC("DB");

LCD_GOTOXY(15,2);

LCD_PUTC(DIEMB/10+0X30);

LCD_PUTC(DIEMB%10+0X30);

LCD_GOTOXY(6,1);

LCD_PUTC(phut/10+0X30);

LCD_PUTC(phut%10+0X30);

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 31/51

LCD_PUTC(":");

LCD_PUTC(giay/10+0X30);

LCD_PUTC(giay%10+0X30);

void nhap_nhay()

if(bdn<5)

if(tt_mod==1)

LCD_GOTOXY(6,1);

LCD_PUTC(" ");

else if(tt_mod==2)

LCD_GOTOXY(9,1);

LCD_PUTC(" ");

else giaima();

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 32/51

else giaima();

void nut_so1a() //0001

if((!input(d0))&&(!input(d1))&&(!input(d2))&&(input(d3))) // kiem tra co


nhan so 1

delay_MS(20); // chong doi phim

if((!input(d0))&&(!input(d1))&&(!input(d2))&&(input(d3))) // con nhan


khong

diema=diema+3; // tang diem len 3

tama=3;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(!input(d1))&&(!input(d2))&&(input(d3))); //cho nha


phim

void nut_so2a() //0010

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 33/51

if((!input(d0))&&(!input(d1))&&(input(d2))&&(!input(d3)))

delay_MS(20);

if((!input(d0))&&(!input(d1))&&(input(d2))&&(!input(d3)))

diema=diema+3;

tama=3;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(!input(d1))&&(input(d2))&&(!input(d3)));

void nut_so3a()

if((!input(d0))&&(!input(d1))&&(input(d2))&&(input(d3)))

delay_MS(20);

if((!input(d0))&&(!input(d1))&&(input(d2))&&(input(d3)))

diema = diema +1;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 34/51

tama=1;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(!input(d1))&&(input(d2))&&(input(d3)));

void nut_so4a()

if((!input(d0))&&(input(d1))&&(!input(d2))&&(!input(d3)))

delay_MS(20);

if((!input(d0))&&(input(d1))&&(!input(d2))&&(!input(d3)))

diema = diema + 1;

tama=1;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(input(d1))&&(!input(d2))&&(!input(d3)));

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 35/51

void nut_so5a()

if((!input(d0))&&(input(d1))&&(!input(d2))&&(input(d3)))

delay_MS(20);

if((!input(d0))&&(input(d1))&&(!input(d2))&&(input(d3)))

diema = diema + 4;

tama=4;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(input(d1))&&(!input(d2))&&(input(d3)));

void nut_so6a()

if((!input(d0))&&(input(d1))&&(input(d2))&&(!input(d3)))

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 36/51

delay_MS(20);

if((!input(d0))&&(input(d1))&&(input(d2))&&(!input(d3)))

diema = 0;

tama=0;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0))&&(input(d1))&&(input(d2))&&(!input(d3)));

void nut_so1b() //0001

if((!input(d0b))&&(!input(d1b))&&(!input(d2b))&&(input(d3b))) // kiem tra


co nhan so 1

delay_MS(20); // chong doi phim

if((!input(d0b))&&(!input(d1b))&&(!input(d2b))&&(input(d3b))) // con
nhan khong

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 37/51

diemb=diemb+3; // tang diem len 3

tamb=3;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(!input(d1b))&&(!input(d2b))&&(input(d3b))); //cho
nha phim

void nut_so2b() //0010

if((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(!input(d3b)))

delay_MS(20);

if((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(!input(d3b)))

diemb=diemb+3;

tamb=3;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(!input(d3b)));

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 38/51

void nut_so3b()

if((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(input(d3b)))

delay_MS(20);

if((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(input(d3b)))

diemb = diemb +1;

tamb=1;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(!input(d1b))&&(input(d2b))&&(input(d3b)));

void nut_so4b()

if((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(!input(d3b)))

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 39/51

delay_MS(20);

if((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(!input(d3b)))

diemb = diemb + 1;

tamb=1;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(!input(d3b)));

void nut_so5b()

if((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(input(d3b)))

delay_MS(20);

if((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(input(d3b)))

diemb = diemb + 4;

tamb=4;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 40/51

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(input(d1b))&&(!input(d2b))&&(input(d3b)));

void nut_so6b()

if((!input(d0b))&&(input(d1b))&&(input(d2b))&&(!input(d3b)))

delay_MS(20);

if((!input(d0b))&&(input(d1b))&&(input(d2b))&&(!input(d3b)))

diemb = 0;

tamb=0;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

while((!input(d0b))&&(input(d1b))&&(input(d2b))&&(!input(d3b)));

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 41/51

void setup()

set_tris_a(0xff); // dua tin hieu tu ngoai vao vdk

set_tris_b(0x00);

set_tris_d(0x00);

set_tris_c(0xff);

LCD_INIT();

SETUP_TIMER_1(T1_INTERNAL | T1_DIV_BY_8);

SET_TIMER1(3036);

ENABLE_INTERRUPTS(GLOBAL);

ENABLE_INTERRUPTS(INT_TIMER1);

GIAY=0;

phut=0;

diema=0;

diemb=0;

tt_ss=0;

tama=0;

tamb=0;

tt_mod=0;

printf("Diem A: %02u - %02u vs %02u - Diem B:


%02u.",tama,diema,diemb,tamb);

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 42/51

void main()

setup();

while(true)

IF(BDN<10)

nhap_nhay();

phim_start();

if(tt_ss==0)

phim_chon();

phim_tang();

phim_giam();

else

nut_so1a();

nut_so2a();

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 43/51

nut_so3a();

nut_so4a();

nut_so5a();

nut_so6a();

nut_so1b();

nut_so2b();

nut_so3b();

nut_so4b();

nut_so5b();

nut_so6b();

ELSE

bdn=0;

if(tt_ss==1)

giay--;

if(giay<0)

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 44/51

giay=59;

phut--;

if(phut<0)

phut=0;

giay=0;

tt_ss=0;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 45/51

PHỤ LỤC B

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.IO;

namespace InterfacePC
{
public partial class frmMain : Form
{
#region Quan ly bien
SerialPort UART = new SerialPort();
#endregion
#region Quan ly ham
private void _KhoiTao()
{
try
{
cbxTenCongCom.DataSource = SerialPort.GetPortNames();
if (cbxTenCongCom.Items.Count > 0) //xoa cong com khi
chon
{
cbxTenCongCom.SelectedIndex = 0;
}
}
catch (Exception)
{

}
}
#endregion
#region Quan ly form
public frmMain()
{

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 46/51

InitializeComponent();
}

private void frmMain_Load(object sender, EventArgs e)


{
_KhoiTao();
this.UART.DataReceived += new
System.IO.Ports.SerialDataReceivedEventHandler(this.UART_DataReceived);
Control.CheckForIllegalCrossThreadCalls = false;
}

private void frmMain_Shown(object sender, EventArgs e)


{

private void frmMain_FormClosing(object sender, FormClosingEventArgs e)


{

private void frmMain_KeyDown(object sender, KeyEventArgs e)


{
switch (e.KeyCode)
{
case Keys.Escape:
{
Close();
break;
}
case Keys.Enter:
{
if (txbNhanDuLieu.Focused == true)
{
btnGui_Click(null, null);
}
break;
}
}
}
#endregion

private void btnKetNoi_Click(object sender, EventArgs e)

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 47/51

{
try
{
if (cbxTenCongCom.Text.Trim().Length == 0)
{
MessageBox.Show("VUI LÒNG CHỌN CỔNG COM!");
return;
}

UART.PortName = cbxTenCongCom.Text;
UART.Open();
if (UART.IsOpen == true)
{
btnNgatKetNoi.Enabled = true;
// gbxGuiDuLieu.Enabled = true;
txbNhanDuLieu.Enabled = true;
btnKetNoi.Enabled = false;
}
else
{
btnNgatKetNoi.Enabled = false;
// gbxGuiDuLieu.Enabled = false;
txbNhanDuLieu.Enabled = false;
btnKetNoi.Enabled = true;
}
}
catch (Exception)
{

}
}

private void btnNgatKetNoi_Click(object sender, EventArgs e)


{
try
{
//UART.PortName = cbxTenCongCom.Text;
UART.Close();
if (UART.IsOpen == true)
{
btnNgatKetNoi.Enabled = true;
//gbxGuiDuLieu.Enabled = true;
txbNhanDuLieu.Enabled = true;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 48/51

btnKetNoi.Enabled = false;
}
else
{
btnNgatKetNoi.Enabled = false;
// gbxGuiDuLieu.Enabled = false;
txbNhanDuLieu.Enabled = false;
btnKetNoi.Enabled = true;
}
}
catch (Exception)
{

}
}

private void btnGui_Click(object sender, EventArgs e)


{
if(saveFileDialog1.ShowDialog()==DialogResult.OK)
{
File.WriteAllText(saveFileDialog1.FileName,txbNhanDuLieu.Text);
}

string Tam = "";


string Tam2 = "";
private void UART_DataReceived(object sender,
SerialDataReceivedEventArgs e)
{
try
{
//Tam = UART.ReadExisting();
Tam = UART.ReadTo(".");

var Tach = Tam.Split('-');


txbData1.Text = Tach[0];
txbData2.Text = Tach[1];
txbData3.Text = Tach[2].Replace(".", ""); ;

txbNhanDuLieu.Text += Tam + " - " +


DateTime.Now.ToString("HH:mm:ss") + System.Environment.NewLine;

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 49/51

txbNhanDuLieu.SelectionStart = txbNhanDuLieu.TextLength; // lay


het du lieu
txbNhanDuLieu.ScrollToCaret(); // ket thuc qua trinh nhan
}
catch (Exception)
{

}
}

private void miXoaDuLieu_Click(object sender, EventArgs e)


{
txbNhanDuLieu.ResetText();
}

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)


{

private void cbxTenCongCom_SelectedIndexChanged(object sender,


EventArgs e)
{

private void label1_Click(object sender, EventArgs e)


{

private void txbData1_TextChanged(object sender, EventArgs e)


{

private void txbData2_TextChanged(object sender, EventArgs e)


{

private void txbGuiDuLieu_TextChanged(object sender, EventArgs e)


{

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 50/51

private void txbNhanDuLieu_TextChanged(object sender, EventArgs e)


{

private void btnDiemTong_Click(object sender, EventArgs e)


{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
File.WriteAllText(saveFileDialog1.FileName, txbData2.Text);
}
}
}
}

Áo giáp thông minh cho thi đấu võ thuật


ĐỒ ÁN TỐT NGHIỆP
Trang 51/51

TÀI LIỆU THAM KHẢO

Tiếng Việt:
[1] Nguyễn Đình Phú, “Giáo trình vi điều khiển 16F877” , Đại học Sư Phạm Kỹ
Thuật.
[2] http://arduino.vn/
[3] https://www.stdio.vn/

Tiếng Anh:.
[4] http://www.ebay.com/
[5] http://www.alldatasheet.com/

Áo giáp thông minh cho thi đấu võ thuật

You might also like