Ðăng Nhập

View Full Version : Đề tài Đồng hồ chơi cờ với Picbasic Pro


hatuan296
12-04-2007, 04:09 AM
Mình vừa hoàn thành xong , pót lên đây để chia sẻ với mọi người . Nhất là những bạn dùng ngôn ngữ Picbasic có thêm tư liệu để tham khảo . Đề tài chỉ làm trong 3 ngày , nên chắc chắn có nhiều thiếu xót . mong các bạn cho góp ý để hoàn thiện nha . Cảm ơn nhiều .

đề tài dùng Pic 18f458 , ngôn ngữ lập trình là PicBasic Pro
các linh kiện cần dùng :

. 1 pic 18f458
. 1 xtal 6Mhz
. 2 tụ 30p
. 1 LCD 20x4
. 4 led 7 đoạn đôi
. 8 tranistor D468
. 1 ic 7447
. 9 phím nhấn + 1 điện trở thanh 10 k ( loại 9 chân )
. 3 led đơn + các điện trở ( 330 ôm )
. 1 hộp gói quà ( 15k) :o
. nguồn 6 volt ( lấy 2 cây vợt muỗi cũ tháo ra là có :D )

Sơ đồ mạch mình vẽ bằng Proteus . các bạn xem file đính kèm nha . mình cũng có kèm theo 1 đoạn video Mp4 ngắn để minh hoạ cách sử dụng .

mạch in gồm 2 mạch tương đối đơn giản các bạn có thể vẽ bằng tay

sơ lượt : đây là mạch đếm thời gian trong chơi cờ tốc độ . gồm 2 bên , bên A và bên B . Thời gian mỗi bên chơi được đếm bởi 4 led 7 đoạn theo phương pháp quét . khi đánh xong nước cờ của mình , người chơi sẽ bấm 1 nút và thời gian lại bắt đầu đếm cho người bên kia . Nếu người chơi suy nghĩ quá lâu , timer đếm tràn thì người đó sẽ thua , và máy sẽ báo tín hiệu thua cuộc . Thời gian timer có thể được set trước khi chơi . tối thiểu 1 giây . và tối đa 60 giây .( vậy là mỗi bên dư 2 con led 7 đoạn sao ? Không , 2 con led đó sẽ được dùng vào sau này , khi mở rộng chương trình ra thêm nữa . )

Hy vọng các bạn sẽ vui với đề tài này .;)

zip1 : code nạp pic
zip2 : sơ đồ mạch vẽ bằng proteus


mọi góp ý . mong gửii về : h_a_tuan2002@yahoo.com .

hatuan296
12-04-2007, 04:48 AM
file video lớn quá (gần 7 mb ) nên không đưa lên diễn đàn được . mình sẽ cố gắng đưa lên youtube .

http://www.youtube.com/watch?v=iuZFCi5c1GY

falleaf
12-04-2007, 02:01 PM
Đề tài của bạn rất hay. Đề tài này nên được phổ biến rộng rãi, và nên được cải tiến, đóng gói thành một sản phẩm chơi cờ chuyên nghiệp. Nếu có điều kiện, bạn hãy phát triển tiếp sản phẩm này. Nếu cần sự hỗ trợ và tư vấn gì, picvietnam sẽ tư vấn giúp bạn.

Chúc vui.

hatuan296
12-04-2007, 03:42 PM
Cảm ơn anh Felleaf đã góp ý . . Lẽ ra mạch còn có cổng nạp ISCP nữa , vì mạch tương đối nhỏ , lại thêm cái socket gạt chắc không còn chổ cho Bộ Cờ ( cái jump 6 chân màu trắng trắng kế bên port cắm LCD .) nhưng không đưa vào sơ đồ mạch vì chưa nạp được ( lúc được lúc hông . đang hỏi anh nampn cách khắc phục bên luồng programmer .)

Nều có điều kiện và thời gian , dự định của em là mở rộng chương trình ( vì con 18f458 đến 16 kWs mà :D ), chương trình mở rộng là tổng hợp thời gian của từng người chơi và của toàn bộ ván chơi . Mở rộng thêm thời gian timer cho mỗi bên , và có thể là phát 1 bản nhạc khi timer báo tràn ( việc này thì Picbasic Pro có hỗ trợ , đương nhiên là bản nhạc kiểu đơn âm thôi :o )

Còn việc cải tiến , đóng gói để trở thành 1 sản phẩm chơi cờ chuyên nghiệp thì chắc là em không có điều kiện rồi . Chủ yếu em đưa đề tài này lên diễn đàn là chia sẽ thêm tư liệu cho các bạn học PicBasic Pro . Và để học hỏi kinh nghiệm mà thôi . Em rất cảm ơn ý kiến đóng góp chân thành của anh .

hatuan296
16-04-2007, 03:51 AM
Các cao thủ Picbasic Pro đâu cả rồi . Không có ý kiến gì về chương trình hết sao ? :confused:

thaithienanh
16-04-2007, 09:37 PM
em là "thấp thủ" đây em xin có ý kiến được hôn anh :p
em đánh giá cái "pic game" của anh theo 2 mặt :
+ hay: ý tưởng mới lạ, tính chất giải trí (đây là cái mà anh em ta thiếu :p )
+ hổng hay: hổng ai dám làm bởi vì thành phẩm hơi bị đắt, cách thức chơi còn quá đơn giản so với cấu hình phần cứng (ví dụ với ý tưởng trên thì em sẽ làm như sau: chỉ cần 1 pic 16F84, 2 led 7 đoạn, 1 loa ceramic, 4 nút bấm (menu, switch, reset, settime),cách chơi như sau bắt đầu chơi ta ấn menu sau đó ấn settime để thay đổi thời gian (thời gian là bội số của 5), sau đó ấn menu để trở về với cuộc chơi, người thứ nhất sẽ ấn vào switch lúc này đồng hồ sẽ đếm ngược nếu quá t sẽ báo thua, lượt chơi tiếp theo người thứ 2 cũng ấn vào switch lúc này thời gian lại điểm về set sau đó đếm ngược)
Em định phát triển ý tưởng của anh thành một bộ game boy nhưng nắm khoảng 99.9% thất bại nhưng lỡ có thành công thì cũng sẽ pót lên cho anh em cùng chơi, phần cứng như sau:
1 pic 16f877, 1 matrix 2 màu, 7 nút (menu, reset, up, down, left, right, attack) với phần cứng này thì sẽ tương thích được khá nhiều game mà có lẽ em chửa nghĩ ra nhưng đầu tiên sẽ là game cờ nhào.
TÁI BÚT : thấy chưa ai bảo anh đòi ý kiến chi để em ý kiến một hơi hổng ai dám đọc luôn.

hatuan296
17-04-2007, 04:23 AM
Bạn nói rất đúng , đề tài này chủ yếu là chia sẽ ý tưởng , chương trình viết bằng picbasic pro cho anh em có dịp tham khảo và góp ý mà thôi . chứ để kinh doanh thì nắm chắc lỗ vốn rồi . :o . Chi phí cho mạch này vào khoản dưới 150k . À , còn ý tưởng cùa bạn cũng rất hay . Hy vong bạn pót sớm cho anh em có dịp học hỏi nha . nhưng sao lại nắm chắc 99,9 % thất bại vậy ? :confused: . tiện thể cho mình hỏi luôn . cờ nhào là cờ gì vậy bạn ? nó có giống cờ carô không ? ( vì mình thấy bạn dùng led matrix 2 màu :D ) . nếu vậy thì mình sẽ góp ý với bạn là nên mở rộng ra 4 led matrận 8x8 2 màu , chứ nếu chỉ có 1 con thì sẽ không đủ chổ chơi . rất cảm ơn những lời góp ý chân thành của bạn .

thaithienanh
17-04-2007, 07:14 PM
ừ 99.9% tại vì kiến thức của em nông quá ,caro à ừ phù hợp với sinh viên hơn há, thế là xong như vậy là "boong" phần cứng được cố định 4 matrix và phần mềm là caro. Rồi bây giờ ý tưởng đã rõ anh cũng làm luôn nhá chứ chờ em hic "mủa thu là rụng mùa hè lá rơi".

falleaf
17-04-2007, 08:00 PM
Đề tài caro của bạn, nhóm picvietnam đã thử để làm quà tặng. Người chủ trì đề tài này là Đăng, nhưng hiện nay Đăng đã đi Hà Lan, cho nên đề tài bị bỏ ngỏ. Nếu bạn muốn phát triển ý tưởng, bạn có thể liên hệ với Đăng (picvendor).

Chúc vui

hatuan296
18-04-2007, 04:23 AM
đề tài cờ Carô này rất hay . nhưng mình nghĩ là giải thuật sẽ không đơn giản đâu . nhất là phần so sánh các cột , các dòng và cả đường chéo nữa . tìm ra cái nào đủ 5 led sáng ( cùng 1 màu ) thì bên chơi màu đó sẽ thắng . Theo mình , phần điều khiển quét có thể làm được , dữ liệu thì qua các con ghi dịch 74164 , phần đệm nguồn qua Uln2803 là xong . chỉ khó khăn phần kiểm tra 5 led thôi . giải quyết được phần đó là coi như xong . nếu có ý tưởng mong bạn chia sẽ nha .
Nếu được , mình kết hợp luôn phần tính thời gian như mạch kia vào luôn : chỉ thêm 4 led 7 đoạn để tính giây ( cờ này chắc không ai suy nghĩ đến phút đâu nhỉ ? :D ) , vài phím set timer là xong . khỏi cần lcd chi cho rắc rối . :o

à , mà bạn chưa nói cờ nhào là cờ gì mà ? :confused:



.

thaithienanh
18-04-2007, 08:48 PM
Á chắc có lẽ cờ nhào là môn cờ của miền Nam mình nên bạn chưa nghe qua :rolleyes: khó giải thích quá cờ nhào là loại cờ quân này muốn ăn quân kia thì phải nhào qua đầu quân kia, có thể ăn quân liên tiếp nếu như đã nhảy qua đầu 1 quân mà lại nằm đúng vị trí có thể nhảy qua quân tiếp theo, vì thế khi chơi ta phải dàn quân mỗii quân tiên phong thì có 1 quân theo sau bảo vệ làm vượt quá ô nhảy của quân bạn và phải gài đối phuơng vào thế bắt buộc phải ăn quân mình nhưng mình sẽ ăn lại liên tiếp nhiều quân, mình quên mất cái này còn ăn và đi theo đường chéo nữa nên không làm được :p .
Còn về cờ ca rô cách quét led của nó không thể theo cách thông thường được mà phải băm nó ra nhỏ hơn để khiển vì vậy cần phải quét một dề mình đang tìm cách rút gọn đây hix:o.
Có một môn cờ cực hay và phổ biến trên toàn thế giới nữa đó là OTHELO nhưng sự phức tạp của nó thì khỏi kể, chừng nào làm được ca rô rồi luyện thêm vài năm nữa mới mong :D

namqn
18-04-2007, 10:12 PM
Loại cờ em vừa tả thường được gọi là cờ nhảy chứ nhỉ. Bộ cờ nhảy chuẩn có 3 người chơi, nhưng chơi 2 người vẫn được. Còn Othello là một trong những loại cờ yêu thích của anh (trong Windows XP nó chính là Internet Reversi).

Thân,

falleaf
18-04-2007, 10:14 PM
Đề tài đồng hồ bấm giờ cho các môn cờ là một món hay. Nhưng làm chơi cờ, thì chỉ nên chơi các loại cờ "nhí nhảnh" kiểu caro thôi, chứ làm các môn cờ khác thì không nên.

Vd: không nên làm bàn cờ điện tử để chơi cờ tướng, ngoại trừ các bàn cờ thật lớn để chơi ngoài trời dạng trình diễn. Còn nếu làm bàn cờ nhỏ, thì sẽ chẳng ai chơi. Bởi vì người chơi cờ còn có cái gọi là văn hóa chơi cờ.

Tuy vậy, trong một lần hội họp anh em điện tử, có nhắc tới một đề tài là làm cái bàn cờ (không làm quân cờ). Khi đặt quân cờ lên, thì nó ghi nhận nước đi đó. Và ghi lại thành biên bản của nước đi. Cái này tích hợp luôn vào đồng hồ hẹn giờ cuộc thi. Kỳ thủ không cần phải bấm đồng hồ nữa, mà mọi nước đi và mọi biên bản đều sẽ tự động được ghi lại.

Nếu kỳ thủ chạm tay vào cờ, nhấc lên rồi hạ xuống, nó sẽ tự cộng thêm một lỗi kỹ thuật. Phạm 3 lỗi kỹ thuật sẽ bị xử thua... Đó là một thí dụ rất hay.

Hiện nay có lẽ một vài bạn đang cố gắng tìm cách để giải quyết vấn đề vật liệu làm bàn cờ này. Nếu như làm được rẻ tiền, đảm bảo sẽ có rất nhiều người mua, vì phần lập trình và giao tiếp không phải là vấn đề khó khăn gì mấy, cũng chỉ thêm thắt một tí so với cái đồng hồ đếm giờ này mà thôi.

Các bạn thử trao đổi tiếp ý tưởng này nhé.

Chúc vui.

hatuan296
18-04-2007, 10:52 PM
Loại cờ nhào mà bạn nói nghe lạ quá . chắc mình chưa có dịp chơi , :o . Còn cờ Carô thì bạn nói đúng , chắc nó sẽ không quét theo như bình thường được , vì cách bình thường chỉ đơn giản là quét để xuất hình ảnh mà thôi , chứ không có bước kiểm tra . Bạn nói băm nó ra nhỏ hơn nghĩa là sao ? ý bạn nói có phải là dùng 4 VDk để Dk 4 led , thêm 1 VDK trung tâm để làm nhiệm vụ kiểm tra , so kết quả phải không ? nếu có ý tưởng mong bạn chia sẽ nha . Mình cũng rất thích cái vụ này :D

Còn cờ OTHELO như bạn và anh namp nói thì đúng là khó thiệt , mặc dù cách chơi thì đơn giản thật nhỉ ? nhưng để làm được cái đó chắc phải " TU " thêm vài năm nữa quá . :D

thaithienanh
01-05-2007, 06:42 PM
Phuuù pheeèo pheeèo luồng này lâu quá hong ai dzô để đóng bụi, ván nhện tùm lum hết trơn hết trọi à ! :(
Húuuu anh Hà Tuấn 96 còn ghé qua đây không đấy ! hic thật là một khung cảnh hoang tàn quá …
Đề tài chơi cờ Caro vớI PIC như vậy là em đã hoàn thành hì share cho các brothers cùng chơi chung cho vui!
Sau đây là một “bản tự kiểm” của chủ nhân đề tài (hì hì số là lúc ở truờng thường xuyên phảI viết cái nì) :
- Ưu điểm :
+ Giao diện thân thiện (cầm lên là biết chơi liền à bởI vậy mớI gọI là gameboy)
+ Phần cứng đa năng rẻ xiền (thích hợp nhiều loạI game mà nhà sản xuất hứa hẹn “sẽ phát hành”)
+ Dùng ít linh kiện ngoạI vi nên sản phẩm khá gọn.
- Nhược điểm : cái nì thì bao la luôn để em kê khai ra truớc hông thui để các bác “hỏI” cũng vậy à ke ke
+ Đừng vượt quá biên của 4 ma trận nếu gặp sự cố thì bấm lui lạI .
+ Sau mỗI lần định vị là khoảng lặng để PIC thực hiện dò tìm (hình như hơi lâu thì phảI (gãi đầu)).
+ Không nhận biết được các điểm đã định vị nên ai muốn chấp quân thì cứ việc nhấp lên quân đã đi 1 cái nữa
+ Và một vài sự cố mà em chưa liếc thấy (lúc đang làm thấy nhiều lắm mà bây giờ quên hết òi).
- Không biết là U hay là Nhọt :
+ Vị trí con trỏ “chớp chớp” trùng vớI vị trí đốI phương vừa định vị .
- Mở rộng : Lỡ có ai hông ghiền Caro mà cũng làm thử một cái coi chơi thì cũng có thể dùng nó để vẽ những ảnh đẹp há.
-Khuyến mãi :nếu có bạn nào thích làm 1 cái thì post yêu cầu lên đây mình bo mạch cho.
- NỗI buồn chim sáo : hix bỏ công ra làm cái này tớI chừng làm xong mớI phát hiện mình không thể thi công mạch được
vì hiện giờ trong tay em chỉ có 1 pic877a, 2 matrix 2 màu , không panel, không 74154 phảI đợI mua hàng TP mớI có.
-Niềm vui nhân đôi: nếu bác nào làm một cái share cho em cái ảnh là em mãn nguyện rùi.
- Tiền công từ sản xuất game : học được rất nhiều cái hay trong việc lập trình cho PIC.
- Chủ đề game tiếp theo: game vẫn mang tính chất đốI đầu giữa 2 ngườI chơi nhưng thuộc thể loạI hành động kết hợpIQ.
Còn đây là sản phẩm Pic Caro (sơ đồ Proteus):

hatuan296
02-05-2007, 01:33 PM
Phuuù pheeèo pheeèo luồng này lâu quá hong ai dzô để đóng bụi, ván nhện tùm lum hết trơn hết trọi à !
Húuuu anh Hà Tuấn 96 còn ghé qua đây không đấy ! hic thật là một khung cảnh hoang tàn quá



Ngày nào mà không ghé qua . Tại cậu không vào trả lởi câu hỏi của mình thì có .:o

bạn thaithienanh ơi , sao mình nạp file hex vào con pic mà lại chạy không được vậy ? mình có gửi kèm theo hình ( lúc Proteus đang chạy mô phỏng ) .

các phím không có phím nào có tác dụng hết . ngoại trừ phím Reset . bạn xem lại nhé .

À, bạn chưa trả lời câu hỏi đợt trước của mình : đó là giải thuật kiểm tra thắng trận . làm sao Pic có thể dò ra người thắng trận được ? ( được 5 ô sáng cùng màu liên tiếp , đường ngang cũng như đường chéo )

thaithienanh
02-05-2007, 07:16 PM
aha níu được anh Tuấn dzìa rùi :D
Vậy ra anh chưa biết chơi gameboy hả :D cái này lúc khởi động sẽ xuất hiện trên matrix chữ "PIC Caro" sau đó thì anh phải ấn phím start để bắt đầu chuộc chơi.

thaithienanh
02-05-2007, 07:35 PM
giải thuật là ta chia việc test ra cho 2 người chơi (test riêng quân xanh và đỏ), như vậy ta phải làm ra 4 vòng lặp (tét dọc, ngang, chéo lên , chéo xuống) để Test 256 điểm ành bằng câu lệnh bit_test, sau mỗi lần test ta sẽ xét nếu như là bit đó bằng 1 vậy thì biến đếm sẽ tăng lên một nếu bằng 0 thì biến đếm sẽ ngay lập tức reset về 0, nếu như ở dọc và ngang thì ta có thể dễ dàng tìm ra cách test nhưng đối với đường chéo em phải ngồi ngắm mãi cái matrix mới phát hiện chúng có 1 điểm chung là vị trí các bit sẽ bằng +17 (đối với chéo xuống, và +15 đối với chéo lên vậy là ta có thể khai thác vòng lặp theo hướng này và đã thành công. (Nếu như trong ccs mà có khai báo được mảng biến thì mọi chuyện trở nên rất đơn giản nhưng không được vậy)
Nếu anh có ý tưởng về chiến thuật test kiểu khác thì có thể nâng cấp cho đề tài này, hoặc bắt tay vào làm game khác hấp xì dẫn hơn để lôi kéo các thành viên khác vào hâm nóng luồng đề tài mở này vui lắm chớ bộ há.

thaithienanh
27-06-2007, 12:57 AM
:o Nơi đây vắng teo không một bóng nguời :o

Phuuuuuuù (ho) khụ khụ khụ, úi trời ơi sao bụi nhiều đến thế này :eek:, hic phải đem chổi và nước vào quét dọn lau chùi lại cái phòng này trứoc cái đã :rolleyes:

Thế là xong "sạch bóng vết dầu mỡ" mời các anh em vào nhà chơi ạ :p

Hí hí chuẩn bị ra lò game Othelo, anh em nào có hứng thú thì nếu không có gì thay đổi ngày mai chắc sẽ có đồ chơi ;) game đang trong công đoạn cuối cùng là test lỗi (total error report lại sau :D)

Game này xem như hoàn thành trong vòng 3 hôm dùng để tặng cho các anh em trên diễn đàn (đặc biệt là anh Namq, "chị nuôi", Picvendor, anh F, Hatuan...:D) nhân ngày sinh nhật của em (hình như hơi trễ một tí tì ti tại bận một số việc :p)

thaithienanh
27-06-2007, 09:06 PM
Như vậy là công đoạn test lỗi đã xong ;)

*Một vài điểm về sản phẩm game Othelo ::)

- Tuy tác giả đã rất cố gắng "lường" hết các tình huống xảy ra khi PIC xử lý các luật chơi nhưng có lẽ cũng chưa lường hết đâu, nên cũng có thể có những sai sót tí ti nào đó hay cũng có thể to đùng bằng "cái bánh xe bò" cũng mong các anh em bỏ qua :D

- Do thời gian có hạn nên sản phẩm chưa thật sự hoàn hảo, sản phẩm có thể sẽ phát triển đầy đủ hơn như : giao tiếp giữa hai nguời chơi theo chuẩn hồng ngoại, vài hình ảnh giới thiệu và chúc mừng, đếm số điểm mà hai bên đạt đuợc ,.... :p

*Ưu nhược điểm ::rolleyes:

+Ưu điểm::p

- Phải nói đây là một game khá hoàn hảo : khống chế cả nguời chơi nếu nuớc định đi là vi phạm luật (hết đường đi thì nguời chơi phải ấn nút "Bo_luot" ;)

- Game hoạt động rất hoàn chỉnh ,xử lý tình huống rất nhanh và chuẩn xác "nếu như" người chơi đứng cố tình vi phạm luật :D (vì có lẽ tác giả cũng chưa lường ra hết nữa:confused:)

- Cũng như game Caro thì game Othelo với một giao diện cực kỳ thân thiện với nguời chơi, có thể nhìn vào là biết dùng nên em không hướng dẫn cụ thể cho mệt (phẻ) :D

- Theo như em biết thì hình như hong có ai làm phần cứng của Caro bởi hơi đắt thì phải :( , nên ở phiên bản game Othelo này đã dùng một phần cứng khác cực kỳ "rẻ xiền thấy là muốn làm liền" :p , nhưng nếu lỡ có ai đã làm phần cứng trứoc thì nói với em để em chuyển Othelo này qua phần cứng truớc, như đã bảo phần cứng đó có thể chơi đuợc tất cả các thể loại game do em viết mà ;)

+ Nhược điểm ::(

- Kỳ thực thì lúc test lỗi em vẫn chưa tìm thấy :p

- Còn thiếu vài chức năng trong game (cũng không cần thiết lắm) :p

hì hì so với trò Caro quá cổ điển game này hay ơi là hay đoá mời anh em chơi thử rồi sẽ thấy thích :D , game còn có tên khác là Reversi, trong win cũng có game này với tên là Internet Reversi, mong rằng game nhỏ này sẽ giúp các anh em có được một "game bỏ túi" để giải trí sau những ngày học tập mệt nhọc :D

Đây là game Othelo mời anh em tham khảo (phần cứng thì anh em chỉnh lại 1 chút nhé tác giả chỉ chú trọng đến phần hoạt động thui) :o

namqn
27-06-2007, 09:24 PM
Cám ơn em nhé! Anh có đề nghị là em chụp thêm cái sơ đồ mạch thành .jpg hay .gif rồi đưa vào file .zip luôn, vì không phải ai cũng dùng OrCAD (ít nhất là anh không dùng nó).

Thân,

thaithienanh
27-06-2007, 09:55 PM
Cái này em dùng Proteus vẽ nguyên lý cho mấy anh em thử trước :)

Còn đây là hai cái hình khai cuộc, và tàn cuộc :)

Chúc anh em vui :)