Xây dựng dự án: Chấm điểm thi đấu võ thuật trên máy tính.

Liên hệ QC
Tôi thấy có một điểm cần lưu ý mà bạn chưa đề cập đến. Đó là thời gian hiệu lực của một lần cho điểm. Theo bạn mô tả thì VĐV được điểm khi ít nhất ba trọng tài bấm nút cho 1VĐV. Nhưng thực tế các trọng tài không thể bấm nút cùng lúc vì vậy cần có thời gian hiệu lực của một lần bấm nút. Tránh trường hợp TT1 và TT2 bấm nút ở đợt tấn công thứ 1, TT3 bấm nút ở đợt tấn công thứ 2 nhưng hệ thống vẫn tính điểm. Thời gian hiệu lực này phải cân nhắc sao cho các trọng tài đủ thời gian cho điểm mà không dài hơn thời gian giữa hai đợt tấn công.
 
Tôi thấy có một điểm cần lưu ý mà bạn chưa đề cập đến. Đó là thời gian hiệu lực của một lần cho điểm. Theo bạn mô tả thì VĐV được điểm khi ít nhất ba trọng tài bấm nút cho 1VĐV. Nhưng thực tế các trọng tài không thể bấm nút cùng lúc vì vậy cần có thời gian hiệu lực của một lần bấm nút. Tránh trường hợp TT1 và TT2 bấm nút ở đợt tấn công thứ 1, TT3 bấm nút ở đợt tấn công thứ 2 nhưng hệ thống vẫn tính điểm. Thời gian hiệu lực này phải cân nhắc sao cho các trọng tài đủ thời gian cho điểm mà không dài hơn thời gian giữa hai đợt tấn công.

Vâng, đúng vậy ạ. Vấn đề này em cũng đã nghĩ đến nhưng không biết phải phân tích và nói sao cho diễn đạt hết ý của nó. Mà đây là yếu tố rất quan trọng trong việc cho điểm của hệ thống để nếu có viết code thì cũng phải dựa trên yếu tố này để đảm bảo tính đúng điểm.
Do vậy cần cho 1 khoảng thời gian chờ nhất định trong 1 lần bấm nút cho điểm của trọng tài. Trong khoảng 2 giây gì đó sẽ tính cộng xem có bao nhiêu trọng tài cho điểm để căn cứ tính điểm cho vđv, sau 2 giây sẽ sang sự kiện tiếp theo. Có lẽ là như vậy, vì em cũng chưa thể chắc chắn được khoảng thời gian hiệu lực là 2 giây, vì có nhiều trường hợp Vđv tấn công rất nhanh giữa 2 đợt, thời gian cách nhau chỉ khoảng 1giây thôi mà 2 đợt đều công nhận điểm. Nên cái này đang còn phải tổng hợp ý kiến chuyên môn của các thầy có kinh nghiệm trong nghề võ để tính toán hợp lý anh ạ.
Em cảm ơn anh đã nói vấn đề rất quan trọng này.
 
Mọi người có ai giúp đỡ viết bảng chấm điểm không ạ? Hoặc có góp ý thêm hướng nào cho dự án này không ạ?
 
Mọi người có ai giúp đỡ viết bảng chấm điểm không ạ? Hoặc có góp ý thêm hướng nào cho dự án này không ạ?
thangteo đã viết:
Nên cái này đang còn phải tổng hợp ý kiến chuyên môn của các thầy có kinh nghiệm trong nghề võ để tính toán hợp lý anh ạ
Mọi người đang đợi bạn đưa ra được ý kiến từ chuyên môn của các thầy/ trọng tài đó.
 
Mọi người đang đợi bạn đưa ra được ý kiến từ chuyên môn của các thầy/ trọng tài đó.

Dạ vâng, vấn đề hỏi các thầy là vấn đề về khoảng thời gian hiệu lực khi bấm nút cho điểm 1 lần. Như em cũng đã nói là nó khoảng 2 giây gì đó, nên việc viết lập trình em nhờ các anh làm theo khái quát chung, có thể viết code là 2 giây, sau này có thông tin chính xác thì trong code đó mình chỉ cần thay số giây chính xác vào số giây cũ là được. Ý em là vậy, nhờ các bác xây dựng tổng quan Bảng chấm điểm trước ạ.
 
Dạ vâng, vấn đề hỏi các thầy là vấn đề về khoảng thời gian hiệu lực khi bấm nút cho điểm 1 lần. Như em cũng đã nói là nó khoảng 2 giây gì đó, nên việc viết lập trình em nhờ các anh làm theo khái quát chung, có thể viết code là 2 giây, sau này có thông tin chính xác thì trong code đó mình chỉ cần thay số giây chính xác vào số giây cũ là được. Ý em là vậy, nhờ các bác xây dựng tổng quan Bảng chấm điểm trước ạ.
Ta cần hiểu 2 giây bắt đầu từ khi nào? Làm sao để phân biệt được lượt bấm của trọng tài sau 2 giây thì không được tính trong lượt đó hay hiểu là của 1 lượt mới. Hoặc trong lúc hồi hộp, trọng tài nhấn đúp hoặc nhấn 3 lần (hoặc có thể xảy ra trong trường hợp phần cứng xử lý việc "debound" của nút bấm không tốt) thì sẽ xử lý thế nào.
Có khi nào tay cầm của trọng tài ngoài 2 nút chọn xanh đỏ, còn 1 nút xác nhận (như kiểu nút Enter) không?
 
Ta cần hiểu 2 giây bắt đầu từ khi nào? Làm sao để phân biệt được lượt bấm của trọng tài sau 2 giây thì không được tính trong lượt đó hay hiểu là của 1 lượt mới. Hoặc trong lúc hồi hộp, trọng tài nhấn đúp hoặc nhấn 3 lần (hoặc có thể xảy ra trong trường hợp phần cứng xử lý việc "debound" của nút bấm không tốt) thì sẽ xử lý thế nào.
Có khi nào tay cầm của trọng tài ngoài 2 nút chọn xanh đỏ, còn 1 nút xác nhận (như kiểu nút Enter) không?

Vâng, cũng đang trên phương diện hoàn thiện các yếu tố. Ta hiểu và quy định rằng 2 giây tính từ lúc trọng tài đầu tiên bấm nút. Trường hợp hồi hộp thì cũng có thể xảy ra nhưng đó là hiếm vì thường khi trọng tài chính công bố quyết định cho điểm thì các trọng tài mới bấm nút.
 
Vâng, cũng đang trên phương diện hoàn thiện các yếu tố. Ta hiểu và quy định rằng 2 giây tính từ lúc trọng tài đầu tiên bấm nút. Trường hợp hồi hộp thì cũng có thể xảy ra nhưng đó là hiếm vì thường khi trọng tài chính công bố quyết định cho điểm thì các trọng tài mới bấm nút.
Vậy làm sao để bạn phân biệt được một trọng tài bấm nút chậm sau 2 giây này với lượt bấm chấm điểm kế tiếp đầu tiên sau đó. Trọng tài chính có nút bấm nào không, như kiểu nút bấm "bắt đầu cho phép chấm điểm"? Các trọng tài thành phần có màn hình, kiểu như progress, chờ chấm không? Vì nếu chỉ đơn thuần cứ block 2 giây thì không ổn.
 
Vậy làm sao để bạn phân biệt được một trọng tài bấm nút chậm sau 2 giây này với lượt bấm chấm điểm kế tiếp đầu tiên sau đó. Trọng tài chính có nút bấm nào không, như kiểu nút bấm "bắt đầu cho phép chấm điểm"? Các trọng tài thành phần có màn hình, kiểu như progress, chờ chấm không? Vì nếu chỉ đơn thuần cứ block 2 giây thì không ổn.

Tính từ trọng tài đầu tiên bấm nút mà anh!
 
Tính từ trọng tài đầu tiên bấm nút mà anh!
Này nhé, giả sử 2 thí sinh ra đòn, trọng tài chính ra hiệu có điểm cho đai xanh. Trọng tài viên số 1 bắt đầu bấm nút xanh. Máy tính bắt đầu đếm 2 s, trong 2s này trọng tài số 2 bấm nút xanh, trọng tài số 3 không bấm, trọng tài số 4 bấm nhưng ở 2giây 06. Máy tính ko công nhận điểm cho đai xanh.
Tại giây 03 đai xanh lại ra đòn, trọng tài chính phất cờ, trọng tài viên 1, 2 bấm xanh, 3,4 không bấm.
Tuy nhiên, do hệ thống máy tính làm việc liên tục, nên việc bấm nút tại 2s06 của trọng tài số 4, đã kích hoạt 1 đợt chấm điểm 2s tiếp theo, đồng thời tiếp nhận tiếp 2 tín hiệu từ 2 trọng tài1, 2, do đó đai xanh ghi nhận 1 điểm. Tuy nhiên trên thực tế là ko có điểm.
Câu hỏi bên trên của tôi ý như vậy.
Hoặc có thể tôi đã hình dung 1 trận đấu ko đúng.
 
Này nhé, giả sử 2 thí sinh ra đòn, trọng tài chính ra hiệu có điểm cho đai xanh. Trọng tài viên số 1 bắt đầu bấm nút xanh. Máy tính bắt đầu đếm 2 s, trong 2s này trọng tài số 2 bấm nút xanh, trọng tài số 3 không bấm, trọng tài số 4 bấm nhưng ở 2giây 06. Máy tính ko công nhận điểm cho đai xanh.
Tại giây 03 đai xanh lại ra đòn, trọng tài chính phất cờ, trọng tài viên 1, 2 bấm xanh, 3,4 không bấm.
Tuy nhiên, do hệ thống máy tính làm việc liên tục, nên việc bấm nút tại 2s06 của trọng tài số 4, đã kích hoạt 1 đợt chấm điểm 2s tiếp theo, đồng thời tiếp nhận tiếp 2 tín hiệu từ 2 trọng tài1, 2, do đó đai xanh ghi nhận 1 điểm. Tuy nhiên trên thực tế là ko có điểm.
Câu hỏi bên trên của tôi ý như vậy.
Hoặc có thể tôi đã hình dung 1 trận đấu ko đúng.
Dạ vâng, cụ thể hơn thì việc công nhận 1 điểm thường thì chỉ khi vđv đá vào giáp (ở vùng bụng vđv) của vđv kia và phát ra tiếng kêu ("bộp") rõ ràng. Sau khi nghe tiếng kêu đủ để công nhận điểm thì các trọng tài sẽ bấm nút cho điểm, việc bấm nút này chỉ khoảng trong 1 giây tính từ lúc có tiếng kêu đến lúc trọng tài bấm nút thôi (đây là phần nghiệp vụ chuyên môn của trọng tài, các trọng tài được tập huấn về điều này rất kỹ trước khi giải diễn ra, và là người trong nghề nên em biết vấn đề bấm nút quá chậm sau 2 giây của 1 lần cho điểm là rất ít điều này chưa xảy ra bao giờ, cộng thêm nữa việc một vđv ghi 2 điểm trong quãng thời gian ngắn như vậy là rất hiếm, nếu có trường hợp ghi điểm nhanh như vậy thì các trọng tài sẽ nhận biết và bấm nút 2 lần cho seri 2 điểm đó luôn chứ không bấm tách riêng từng điểm một. (Tức là công nhận 2 điểm luôn vđv)
 
Dạ vâng, cụ thể hơn thì việc công nhận 1 điểm thường thì chỉ khi vđv đá vào giáp (ở vùng bụng vđv) của vđv kia và phát ra tiếng kêu ("bộp") rõ ràng. Sau khi nghe tiếng kêu đủ để công nhận điểm thì các trọng tài sẽ bấm nút cho điểm, việc bấm nút này chỉ khoảng trong 1 giây tính từ lúc có tiếng kêu đến lúc trọng tài bấm nút thôi (đây là phần nghiệp vụ chuyên môn của trọng tài, các trọng tài được tập huấn về điều này rất kỹ trước khi giải diễn ra, và là người trong nghề nên em biết vấn đề bấm nút quá chậm sau 2 giây của 1 lần cho điểm là rất ít điều này chưa xảy ra bao giờ, cộng thêm nữa việc một vđv ghi 2 điểm trong quãng thời gian ngắn như vậy là rất hiếm, nếu có trường hợp ghi điểm nhanh như vậy thì các trọng tài sẽ nhận biết và bấm nút 2 lần cho seri 2 điểm đó luôn chứ không bấm tách riêng từng điểm một. (Tức là công nhận 2 điểm luôn vđv)
Như vậy là phát sinh thêm chức năng trọng tài có thể nhấn liên tục nhiều lần để cho nhiều điểm. Vậy trọng tái 1,2 nhấn 2 cái, 3 nhấn 3 cái, 4 nhấn 4 cái thì tính điểm sao? Do mình ko hiểu rõ luật chấm nên phải hỏi rõ.
Trường hợp tôi đề cập trên, bạn bảo hiếm. Nếu nó xảy ra thì sao, bạn xử lý ntn. Giống như việc trúng xổ số 92 tỷ vậy!
 
Như vậy là phát sinh thêm chức năng trọng tài có thể nhấn liên tục nhiều lần để cho nhiều điểm. Vậy trọng tái 1,2 nhấn 2 cái, 3 nhấn 3 cái, 4 nhấn 4 cái thì tính điểm sao? Do mình ko hiểu rõ luật chấm nên phải hỏi rõ.
Trường hợp tôi đề cập trên, bạn bảo hiếm. Nếu nó xảy ra thì sao, bạn xử lý ntn. Giống như việc trúng xổ số 92 tỷ vậy!
Vâng, ngay từ đầu e nói nguyên tắc bấm nút quy định là vậy mà. Nhấn 1 lần 1 điểm, 2 lần 2 điểm, 3 lần 3 điểm.
Chắc anh đang viết giúp em hả? Thank anh nhiều nhé!
 
Hay là thiết kế tay cầm có 6 nút, 3 nút xanh và 3 nút đỏ trong đó nút xanh 1 là 1 điểm, nút xanh 2 là 2 điểm, nút xanh 3 là 3 điểm. Bên đỏ các nút cũng tương tự như vậy. Vđv được mấy điểm thì nhấn nút điểm tương ứng đó.!
 
Đã xong phần hiển thị. Khi nào rảnh sẽ làm tiếp phần tính điểm.

[video=youtube;4z9nDw6RIaE]https://www.youtube.com/watch?v=4z9nDw6RIaE&feature=youtu.be[/video]
 
Đã xong phần hiển thị. Khi nào rảnh sẽ làm tiếp phần tính điểm.

[video=youtube;4z9nDw6RIaE]https://www.youtube.com/watch?v=4z9nDw6RIaE&feature=youtu.be[/video]

Tuyệt vời quá anh ơi, mới nhìn phần giao diện thôi đã thấy sướng rồi. Thực sự cảm ơn những người tâm huyết như anh. Em cảm ơn anh nhiều lắm ạ.
 
Đã xong phần hiển thị. Khi nào rảnh sẽ làm tiếp phần tính điểm.

[video=youtube;4z9nDw6RIaE]https://www.youtube.com/watch?v=4z9nDw6RIaE&feature=youtu.be[/video]

Sau khi xem qua tools chạy em có 1 chút bổ sung và sửa lại ạ. Đó là phần thời gian lúc nghỉ giữa 2 hiệp:
1. Sau khi thời gian nghỉ hết thì sẽ chuyển sang thời gian thi đấu nhưng thời gian thì đấu không chạy luôn mà chờ ở 2 phút hoặc 3 phút, khi có hiệu lệnh bắt đầu hiệp tiếp theo của trọng tài chính thì thời gian thi đấu mới bắt đầu đếm ngược ở hiệp đó. Phần này có thêm nút hoặc lệnh bắt đầu hiệp tiếp theo cho kỹ thuật viên quản lý phần mềm thực hiện.
2. Ở dưới mục tên và đoàn của 2 VĐV xanh đỏ là 2 mục: Nhắc nhở (ở trên) và Cảnh cáo (ở dưới).
Đây là mục căn cứ số lần nhắc nhở và cảnh cáo để trừ điểm hoặc truất quyền thi đấu của VĐV.
Nguyên tắc như sau:
- Nhắc nhở 3 lần tính là thành 1 lần cảnh cáo. Mỗi lần cảnh cáo trừ 2 điểm.
- Cảnh cáo đến lần thứ 3 => VĐV sẽ bị truất quyền thi đấu và VĐV kia giành chiến thắng
+ Mô tả:
Có thể hiển thị mục Nhắc nhở là ":Lần 1", "Lần 2", "Lần 3". Sau khi nhắc nhở lần 3 thì ở dưới mục Cảnh cáo hiển thị Lần 1, ... Lần 2, đến lần cảnh cáo thứ 3 ("Lần 3") sẽ => Hiển thị truất quyền thi đấu ở mục điểm của VĐV đó.
VD: Form cham diem chuan copy.jpg
Em cảm ơn ạ.
 
Lần chỉnh sửa cuối:
Tôi có đề xuất nguyên tắc làm việc của nút bấm trọng tài và giao tiếp với excel như sau:
- Mỗi trọng tài sẽ có 2 nút bấm gồm: nút màu xanh ( đai xanh), nút màu đỏ (đai đỏ).
- Bo mạch arduino có nhiệm vụ nhận tín hiệu bật tắt từ nút bấm, tổng hợp vào gửi liên tục các thông điệp đến máy tính qua giao tiếp serial (cổng com).
- Mỗi thông điệp arduino gửi đi là 1 bộ 3 số abc, trong đó
a: thứ tự trọng tài (1,2,3,4).
b: thứ tự nút bấm (0,1) với 0 là đai đỏ, 1 là đai xanh.
c: số lần bấm trong 1 lượt chấm điểm.
Ví dụ: trong 1 lượt chấm trọng tài 2 bấm 3 lần cho đai xanh, khi đó thông điệp gửi đi là 213.
(Việc trọng tài 2 bấm 3 lần tương đương với 3 thông điệp, 211, 212, 213, cho từng lần bấm), việc xử lý lấy thông điệp lần bấm cuối cùng trong 1 phiên chấm điểm excel có thể làm được.
- Thời gian chấm điểm là 2s (có thể thay đổi), là thời gian excel "mở cổng" tiếp nhận thông điệp gửi về. Tôi đề xuất tiếp sau 2s chấm này sẽ có 2s treo, tức excel không tiếp nhận thông điệp nào cả (mặc dù arduino có thể phát sinh thông điệp và gửi liên tục, tránh ghi nhận điểm trong trường hợp trọng tài bấm nút sau 2s chấm).
- Việc xử lý thời gian, cộng điểm, hiển thị ... sẽ thực hiện bởi excel.
- Giao diện excel được có 2 forrm, 1 để hiển giao diện bạn đã nêu, 1 để admin sử dụng để thay đổi dữ liệu hiển thị và cài đặt các thông số kết nối.
- Nguyên tắc chấm điểm:
+ Tối thiểu phải 3 trọng tài chấm và,
+ Điểm số ghi nhận là số bé nhất (min) của lần bấm cuối cùng 3 trọng tài. Và lớn nhất trong các số bé nhất tìm được của các bộ 3 trong 4 trọng tài.
Ví dụ: TT1 bấm 102, TT2 bấm 103, TT3 bấm 101, TT4 bấm 102. Điểm số sẽ được ghi nhận cho đai đỏ 2 điểm.
 
Tôi có đề xuất nguyên tắc làm việc của nút bấm trọng tài và giao tiếp với excel như sau:
- Mỗi trọng tài sẽ có 2 nút bấm gồm: nút màu xanh ( đai xanh), nút màu đỏ (đai đỏ).
- Bo mạch arduino có nhiệm vụ nhận tín hiệu bật tắt từ nút bấm, tổng hợp vào gửi liên tục các thông điệp đến máy tính qua giao tiếp serial (cổng com).
- Mỗi thông điệp arduino gửi đi là 1 bộ 3 số abc, trong đó
a: thứ tự trọng tài (1,2,3,4).
b: thứ tự nút bấm (0,1) với 0 là đai đỏ, 1 là đai xanh.
c: số lần bấm trong 1 lượt chấm điểm.
Ví dụ: trong 1 lượt chấm trọng tài 2 bấm 3 lần cho đai xanh, khi đó thông điệp gửi đi là 213.
(Việc trọng tài 2 bấm 3 lần tương đương với 3 thông điệp, 211, 212, 213, cho từng lần bấm), việc xử lý lấy thông điệp lần bấm cuối cùng trong 1 phiên chấm điểm excel có thể làm được.
- Thời gian chấm điểm là 2s (có thể thay đổi), là thời gian excel "mở cổng" tiếp nhận thông điệp gửi về. Tôi đề xuất tiếp sau 2s chấm này sẽ có 2s treo, tức excel không tiếp nhận thông điệp nào cả (mặc dù arduino có thể phát sinh thông điệp và gửi liên tục, tránh ghi nhận điểm trong trường hợp trọng tài bấm nút sau 2s chấm).
- Việc xử lý thời gian, cộng điểm, hiển thị ... sẽ thực hiện bởi excel.
- Giao diện excel được có 2 forrm, 1 để hiển giao diện bạn đã nêu, 1 để admin sử dụng để thay đổi dữ liệu hiển thị và cài đặt các thông số kết nối.
- Nguyên tắc chấm điểm:
+ Tối thiểu phải 3 trọng tài chấm và,
+ Điểm số ghi nhận là số bé nhất (min) của lần bấm cuối cùng 3 trọng tài. Và lớn nhất trong các số bé nhất tìm được của các bộ 3 trong 4 trọng tài.
Ví dụ: TT1 bấm 102, TT2 bấm 103, TT3 bấm 101, TT4 bấm 102. Điểm số sẽ được ghi nhận cho đai đỏ 2 điểm.
Dạ vâng, cảm ơn anh đã đóng góp ý kiến. Qua đây cho e hỏi việc viết code cho Arduino cũng có nhiều cách và còn phải dựa trên nguyên tắc chấm cũng như thiết kế phần cứng đúng không ạ?
Như e đã nói, đây là khởi đầu dự án nên đang thu thập ý kiến đóng góp của các anh những người am hiểu và sau đó tổng hợp lại xây dựng cho hoàn chỉnh. Đọc qua ý kiến của anh em mới thấy việc viết code cũng ko hề đơn giản tý nào. Đây là nguyên tắc chấm của tay cầm 2 nút, em có ý kiến tăng cường cho mỗi tay cầm lên tổng là 6 nút (3 nút xanh và 3 nút đỏ). Theo đó, 3 nút xanh lần lượt tương ứng với 1điểm, 2 điểm và 3 điểm. 3 nút đỏ cũng tương tự như vậy. Khi thực chấm điểm thì vđv được mấy điểm thì trọng tài chỉ việc nhấn nút điểm tương ứng đó. Theo em nghĩ như vậy code viết sẽ được đơn giản hơn.
Chờ các anh cho ý kiến về tay cầm gồm 6 nút ạ.
 
Dạ vâng, cảm ơn anh đã đóng góp ý kiến. Qua đây cho e hỏi việc viết code cho Arduino cũng có nhiều cách và còn phải dựa trên nguyên tắc chấm cũng như thiết kế phần cứng đúng không ạ?
Như e đã nói, đây là khởi đầu dự án nên đang thu thập ý kiến đóng góp của các anh những người am hiểu và sau đó tổng hợp lại xây dựng cho hoàn chỉnh. Đọc qua ý kiến của anh em mới thấy việc viết code cũng ko hề đơn giản tý nào. Đây là nguyên tắc chấm của tay cầm 2 nút, em có ý kiến tăng cường cho mỗi tay cầm lên tổng là 6 nút (3 nút xanh và 3 nút đỏ). Theo đó, 3 nút xanh lần lượt tương ứng với 1điểm, 2 điểm và 3 điểm. 3 nút đỏ cũng tương tự như vậy. Khi thực chấm điểm thì vđv được mấy điểm thì trọng tài chỉ việc nhấn nút điểm tương ứng đó. Theo em nghĩ như vậy code viết sẽ được đơn giản hơn.
Chờ các anh cho ý kiến về tay cầm gồm 6 nút ạ.
Tôi đã nghĩ đến việc 6 nút bạn đề cập, nhưng nó sẽ có những hạn chế:
1. Mỗi trọng tài phải điều khiển 6 nút trong khi vẫn phải theo dõi trận đấu -> gây khó khăn hơn 2 nút.
2. Số nút tăng lên đòi hỏi số dây dẫn kết nối với bo mạch chính nhiều hơn. Nếu 4 trọng tài ở 4 nơi thì lượng dây dẫn kéo dài có vẻ hơi nặng nề. Hoặc nếu muốn sử dụng ít dây dẫn thì cần bổ sung thêm 1 số mạch logic hoặc vi đk cho từng tay cầm.
Còn dùng 2 nút thì có thể hạn chế các điều trên,, nhưng số điểm tuân theo số lần bấm, đòi hỏi các trọng tài phải làm việc thật chính xác
 
Web KT
Back
Top Bottom