» Điện tử »Bảng điều khiển trò chơi thu nhỏ với trò chơi Pong

Bảng điều khiển trò chơi thu nhỏ với trò chơi Pong

Chúc mừng cư dân của trang web của chúng tôi!
Hôm nay chúng tôi có một dự án với một bảng điều khiển trò chơi vi mô, mà bất cứ ai cũng có thể lặp lại.


Vật liệu và thành phần cần thiết:








Hướng dẫn này được lấy từ kênh YouTube AlexGyver. Bộ vi điều khiển cho dự án này cần điều này:


Đây là Attiny85 trong gói DIP, nó sẽ đủ cho chúng tôi. Để không hàn nó, chúng tôi lấy cái gọi là ổ cắm.

Chúng tôi cũng cần một màn hình với Aliexpress, OLED với độ phân giải 128 x 32 pixel.


Ghim cũng có ích.

Các nút chúng tôi sẽ sử dụng ở đây là:

Tất nhiên, bạn có thể lấy bàn phím, nhưng chúng sẽ phải được hoàn thiện, nhưng tôi không thực sự muốn cắt và hàn. Khoang chứa pin thuộc loại này:

Và chúng tôi sẽ lắp ráp bảng điều khiển trò chơi của chúng tôi với một chiếc bánh mì (nếu bạn muốn, bạn có thể tự làm một bảng). Chúng tôi sẽ flash chương trình USBasp, nhưng bất kỳ AVR nào cũng được.

Sơ đồ nối dây Các thành phần sẽ như sau:

Màn hình kết nối với các chân bus I2C của vi điều khiển. Chúng tôi kết nối các nút với các chân miễn phí khác. Đồng thời thêm một công tắc để bật / tắt hệ thống. Và về cơ bản đó là tất cả, nó vẫn còn để kết nối sức mạnh.
Phần sụn được lập trình viên nạp vào vi điều khiển theo sơ đồ sau:
Bảng điều khiển trò chơi thu nhỏ với trò chơi Pong

Bây giờ, hãy bắt đầu lắp ráp và sắp xếp tất cả các yếu tố trên bảng. Hãy thử lắp ráp và xem tất cả trông như thế nào.


Hóa ra khá khổ hạnh. Không tệ. Phần thừa của bánh mì có thể được cưa ra.


Bây giờ chúng tôi sửa tất cả các thành phần chỉ bằng cách hàn chân của họ.



Bây giờ bạn cần kết nối các kết luận theo sơ đồ. Đối với mục đích này, tác giả khuyên bạn nên sử dụng một dây gắn mỏng của Trung Quốc.

Và để thuận tiện, bạn có thể sử dụng sơ đồ kết nối được nhân đôi này.

Những dây này có lớp cách điện mỏng đến mức bạn có thể hàn chúng trực tiếp. Các vật liệu cách nhiệt sẽ tan chảy và dây sẽ được hàn.

Sau đó tiến hành niêm phong ngăn chứa pin và công tắc. Các ngăn cũng phải được cố định thêm bằng súng keo nóng.


Vâng, đó là tất cả, hệ thống được lắp ráp, nó vẫn còn để tải firmware. Chúng tôi sẽ flash riêng biệt Rock đá bằng cách kết nối nó với lập trình viên trên bảng.


Phần sụn, như với tất cả các dự án của tác giả, thuộc phạm vi công cộng và có thể được tải xuống từ. Ngoài ra trên trang dự án, bạn sẽ tìm thấy một sơ đồ và tất cả các thông tin cần thiết khác về dự án này.

Chúng tôi sẽ không tải về chi tiết, nếu có gì đó không rõ ràng, thì bạn luôn có thể xem hướng dẫn chi tiết cho tác giả.
Đối với phần sụn, chỉ cần cài đặt Arduino ide, cài đặt kernel để làm việc với bộ vi điều khiển loạt Attiny, chọn một bảng, chọn một lập trình viên.


Sau đó, chúng tôi chọn tần số 8 hoặc 16 MHz, mở tab Công cụ của chế độ ăn uống, tìm và chọn Bản ghi của Trình tải bản ghi.

Không có bộ tải ở đó, nhưng vi điều khiển sẽ được điều chỉnh theo tần số yêu cầu. Sau đó chọn tab Tải về bản phác thảo - Tải xuống qua chương trình lập trình. Và chúng tôi đợi cho đến khi bản phác thảo được tải vào vi điều khiển.

Bây giờ chúng tôi lấy ra đá đá và đưa nó vào trung tâm của máy chơi game mini.


Như bạn thấy, nó hoạt động! Và bây giờ hãy xem xét kỹ hơn những gì chúng ta có trong phần sụn. ATtiny85 là một vi điều khiển có 512 byte RAM, rất nhỏ. 99% các thư viện để làm việc với màn hình như vậy sử dụng bộ đệm ở bên cạnh vi điều khiển để vẽ lại chính xác hình ảnh, bởi vì màn hình này không thể đọc dữ liệu từ bộ đệm của chính nó và nhân tiện nó ở đó.

Bộ đệm cho màn hình 128 * 32 pixel này sẽ mất 512 byte, nếu chúng ta muốn ghi nhớ trạng thái của từng bit, nghĩa là một pixel.
Ngoài bộ đệm, chúng ta cũng cần lưu trữ dữ liệu khác, vì vậy tùy chọn này chắc chắn không phù hợp với bộ nhớ có kích thước như vậy.

Do đó, người ta đã quyết định hạ độ phân giải màn hình xuống 64 * 16 pixel bằng cách đệm các ô vuông 4 pixel.

Tác giả đã làm việc trực tiếp với màn hình này và quản lý để thực hiện thành công ý tưởng của mình. Một bản phác thảo có thể có ích cho ai đó muốn làm việc với màn hình này bằng Attiny.


Bây giờ liên quan đến chính trò chơi. Nó hoạt động khá đơn giản. Một quả bóng di chuyển trên một bộ đếm thời gian riêng biệt, chuyển động bao gồm xóa một điểm có cùng tọa độ và thêm một điểm mới trong tọa độ mới.

Tính toán tọa độ chỉ đơn giản là bổ sung các giá trị vận tốc cho tọa độ trong hệ thống hiển thị.
Khi quả bóng vượt ra ngoài các bức tường nằm ngang, nó chỉ đơn giản là bật ra khỏi chúng, thay đổi thành phần dọc của tốc độ sang phía đối diện, nghĩa là bằng dấu trừ (-).

Ngoài ra, chương trình sẽ kiểm tra các ranh giới dọc của sân chơi, nếu quả bóng chạm vào vợt (tốt, hoặc bất cứ điều gì bạn gọi nó là chính xác), thì nó nảy và góc nảy là ngẫu nhiên.
Do đó, nếu bóng phá vỡ bức tường phía sau vợt, người chơi đã thua vòng hiện tại và đối thủ nhận được một điểm.

Chuyển động của vợt người chơi được thực hiện theo cách tương tự như chuyển động của quả bóng, nghĩa là vợt cũ bị xóa và một cái mới được rút ra, đã có tọa độ mới. Các tọa độ thay đổi khi bạn nhấp vào nút.
Do đó, nó bật ra nhanh hơn nhiều so với việc làm sạch toàn bộ màn hình và hiển thị lại tất cả các yếu tố.


Bây giờ cho vợt đối thủ. Nó được điều khiển bởi AI (trí tuệ nhân tạo).

Tất nhiên, trí thông minh nhân tạo được nói to, nhưng tuy nhiên trí thông minh này làm một việc rất đơn giản, cụ thể là nó làm cho vợt di chuyển theo hướng quả bóng hiện tại, trong khi cố gắng căn chỉnh tâm của nó dọc theo trục thẳng đứng với tọa độ thẳng đứng của quả bóng. Để thực sự đánh bại một đối thủ như vậy, tác giả đã làm cho anh ta chậm lại, nghĩa là anh ta tính toán bước tiếp theo của mình một lần nữa bằng đồng hồ bấm giờ, và do đó có thể không có thời gian để bắt bóng và do đó đẩy lùi anh ta.

Ngoài ra trong trò chơi thực hiện cơ chế tăng độ phức tạp. Cứ sau 10 điểm có lợi cho người chơi, tốc độ bóng lại tăng lên. Cùng với điều này, tốc độ phản ứng của AI (đối thủ) cũng đang tăng lên.

Kết quả là, đây là một con mèo nhỏ đơn giản như vậy. Không phải là không có gì, trò chơi video này được phát triển đầu tiên, bởi vì ngay cả một lập trình viên mới làm quen cũng có thể viết nó. Nhưng bất chấp sự đơn giản rõ ràng của dự án, sự ồn ào với màn hình Trung Quốc đã mất khoảng 20 giờ thời gian thuần túy từ tác giả. Đồng thời, anh ta không tính đến thời gian viết mã của trò chơi và các quy trình công việc khác liên quan đến gỡ lỗi và thiết lập mạch.



Trong điều này, buzz chính là quá trình lắp ráp, không phải ứng dụng.Phát triển trò chơi, ngay cả những trò chơi đơn giản, có thể thực sự khá thú vị. Đặc biệt là khi bạn cố gắng đẩy chúng vào một vi điều khiển rất nhỏ. Và khi màn hình Trung Quốc chờ bạn quanh góc ...

Đó là tất cả. Cảm ơn bạn đã quan tâm. Hẹn gặp lại

Video của tác giả:
6.5
5.5
5.5

Thêm một bình luận

    • cườinhững nụ cườixaxađược rồikhông biếtyahookhông
      ông chủvết xướcđồ ngốcvângvâng-vânghung hăngbí mật
      xin lỗinhảynhảy2nhảy3ân xágiúp đỡđồ uống
      dừng lạibạn bètốttốt lànhcòingấtlưỡi
      hút thuốcvỗ taycraytuyên bốgiễu cợtdon-t_mentiontải về
      nhiệttôi rấtcười1mdacuộc họpmoskingtiêu cực
      không phảibỏng ngôtrừng phạtđọcsợsợ hãitìm kiếm
      chế nhạocảm ơncái nàyto_cluecựu sinh viêncấp tínhđồng ý
      xấubeeeđen_eyeblum3đỏ mặttự hàobuồn chán
      bị kiểm duyệtdễ chịubí mật2đe dọachiến thắngyusun_bespectacled
      shokrespekthahacó trướcchào mừngkrutoyya_za
      ya_dobryingười trợ giúpne_huliganne_othodifludcấmđóng
1 bình luận
sốt cà chua
thay vì ăn cắp ý tưởng, tốt hơn là đến với chính bạn

Chúng tôi khuyên bạn nên đọc:

Đưa nó cho điện thoại thông minh ...