Mục lục:
- Bước 1: Danh sách vật liệu
- Bước 2: Tải lên Thư viện và Phác thảo
- Bước 3: Kết nối các bộ phận: Đầu nối VGA
- Bước 4: Kết nối các bộ phận: chiết áp và nút
- Bước 5: Kết luận và cảm ơn
Video: ESP8266 VGA Pong: 5 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Trong Tài liệu hướng dẫn này, tôi sẽ hướng dẫn cách xây dựng bản tái tạo trò chơi cổ điển Pong cho màn hình VGA, sử dụng ESP8266 và một số thành phần khác.
Trò chơi này được tạo ra bởi thư viện EspVGAx gần đây được xuất bản trên GitHub bởi Sandro Maffiodo (hay còn gọi là Smaffer) và theo tôi biết, đây là trò chơi đầu tiên khai thác nó.
Thư viện thực hiện độ phân giải 512 x 480 pixel, được lưu trữ trong bộ đệm khung bên trong RAM, yêu cầu 30720 byte. Độ phân giải rất lớn so với Arduino TVout hoặc VGAx (tương ứng 128 x 96 và 120 x 60 pixel). Tôi hy vọng trò chơi này truyền cảm hứng cho các lập trình viên khác phát triển hoặc tái tạo các trò chơi phức tạp hơn.
Bước 1: Danh sách vật liệu
Thư viện EspVGAx yêu cầu một ESP8266 với tất cả GPIO được tiếp xúc, như ESP-12E, NodeMCU-12E hoặc bất kỳ bảng nào hiển thị GPIO5 (D1), GPIO4 (D2) và GPIO13 (D7)
Đặc biệt, tôi đã sử dụng:
- một ESP8266 NodeMCU-12E (liên kết tại đây)
- đầu nối DSUB15 (tức là đầu nối VGA cái)
- một điện trở 330 Ohm
- một điện trở khác (khoảng 1 đến 3 kOhm)
- hai chiết áp 10 kOhm
- một Nút ấn (n.o.)
- hai Điốt (chẳng hạn như 1N4007s)
- một breadboard
- Dây điện
Tôi đã nhận đầu nối DSUB15 từ một bo mạch máy tính VGA cũ. Ngoài ra, bạn cũng có thể cắt cáp VGA cũ và kết nối dây trực tiếp với breadboard.
Bước 2: Tải lên Thư viện và Phác thảo
Có nhiều phương pháp khác nhau để lập trình và ESP8266; Tôi đã sử dụng Arduino IDE để viết Pong và tải lên mã.
Xin lưu ý rằng thư viện EspVGAx hoạt động cho Arduino IDE 1.8.1. Nếu bạn có các phiên bản khác, cách tốt nhất là tải xuống các tệp.zip và giải nén nó trong một thư mục chuyên dụng. Phiên bản Windows có ở đây. Các phiên bản cho hệ điều hành khác có ở đây.
Sau đó, bạn nên tải xuống thư viện EspVGAx từ trang GithHub tại đây (liên kết trực tiếp cho phiên bản zip tại đây) và giải nén nó trong các thư viện thư mục trong phần mềm Arduino.
NB Có một lỗi nhỏ trong tệp espvgax_draw.h. Để sửa nó, chỉ cần thay thế dòng 17:
while (x0% 32) {với while (x0% 32 && sw> 32) {
Cuối cùng, bạn có thể tải xuống ESP8266_Pong.rar ở cuối bước này.
Sau khi giải nén, để tải nó lên ESP8266 của bạn, bạn cần phải định cấu hình Arduino IDE.
Nếu bạn chưa bao giờ làm điều đó, bạn có thể tìm thấy tất cả các hướng dẫn cần thiết trên Tài liệu hướng dẫn này, đặc biệt là trong Bước 2.
Khi mọi thứ đã được định cấu hình, các cài đặt ESP8266 sẽ giống như những gì được hiển thị trong hình trên.
Nếu bạn có thể tải lên mã mà không có lỗi, bạn có thể bắt đầu lắp ráp các bộ phận.
Bước 3: Kết nối các bộ phận: Đầu nối VGA
Đầu tiên tôi kết nối cổng VGA, như trong hình trên. Xin lưu ý rằng bằng cách kết nối ba chân Red, Green và Blue với nhau (tức là chân 1, 2 và 3 trên đầu nối DSUB15), bạn sẽ có hình ảnh B&W trên màn hình của mình. Bạn cũng có thể có sự kết hợp màu sắc khác nhau. Xem chi tiết trên trang Thư viện GitHub.
Hơn nữa, bạn nên kết nối điện trở 330 Ohm giữa các chân RGB và D7 (GPIO13) trên ESP8266. Do đó, điều này đã cho tôi hình ảnh hơi xám trên màn hình của tôi, do đó, sau một vài lần thử, tôi quyết định loại bỏ nó.
Tại thời điểm này, nếu mọi thứ hoạt động bình thường, bạn đã có thể kết nối màn hình và xem màn hình bắt đầu của trò chơi, với biểu ngữ "ESP8266 VGAx Pong".
Bước 4: Kết nối các bộ phận: chiết áp và nút
Nút phải được kết nối giữa 3.3V và chân D0 (GPIO16). Cũng kết nối điện trở 1 đến 3 kOhm từ D0 với mặt đất. Điều này tránh cho D0 ở trạng thái không xác định khi nút đang mở.
Kết nối của hai chiết áp ít tầm thường hơn, vì thực tế là ESP8266 chỉ có một cổng đầu vào tương tự A0 (ADC0)! Bí quyết là kết nối cả hai đầu ra pot.s với cùng một cổng và 'ghép kênh' chúng. Ghép kênh đơn giản có nghĩa là bạn sẽ bật một chiết áp, đọc nó, sau đó tắt nó đi và chuyển sang cái thứ hai.
Nếu bạn muốn tìm hiểu thêm về phương pháp này, bạn có thể đọc Tài liệu hướng dẫn này.
Kết nối một cực chiết áp với GND, cực còn lại với D5 cho chiết áp của người chơi bên trái và D6 cho đầu cực bên phải.
Mỗi chân trung tâm của chiết áp phải kết nối với một điốt riêng lẻ và các mặt khác của điốt phải được kết nối với A0 (ADC0), với cực tính như trong hình trên.
Bước 5: Kết luận và cảm ơn
Tôi biết ơn Sandro Maffiodo - SMAFFER - về tờ báo ESPVGAX. Trò chơi này sẽ không thể thực hiện được nếu không có nó.
Tôi hy vọng có thể huấn luyện này sẽ là nguồn cảm hứng cho các lập trình viên khác để tạo ra các trò chơi arcade cổ điển phức tạp hơn với ESP8266, vốn có ít hạn chế hơn nhiều so với Arduino.
Cuối cùng, tôi đã viết bài Có thể hướng dẫn này để gửi nó cho Cuộc thi Đồ chơi: nếu bạn thích hoặc sao chép nó, hãy dành một chút thời gian để bình chọn nó!
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
MÁY ẢNH UNICORN - Raspberry Pi Zero W NoIR Cấu hình máy ảnh 8MP: 7 bước (có hình ảnh)
UNICORN CAMERA - Raspberry Pi Zero W NoIR Camera 8MP Build: Pi Zero W NoIR Camera 8MP BuildThis hướng dẫn được tạo ra để giúp bất kỳ ai muốn có Camera hồng ngoại hoặc Camera di động thực sự tuyệt vời hoặc Camera Raspberry Pi di động hoặc chỉ muốn giải trí, heheh . Đây là cấu hình và giá cả phải chăng nhất
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc