Mục lục:

Cần điều khiển và trò chơi điện tử ESP32 VGA: 6 bước (có hình ảnh)
Cần điều khiển và trò chơi điện tử ESP32 VGA: 6 bước (có hình ảnh)

Video: Cần điều khiển và trò chơi điện tử ESP32 VGA: 6 bước (có hình ảnh)

Video: Cần điều khiển và trò chơi điện tử ESP32 VGA: 6 bước (có hình ảnh)
Video: Nhờ chị Google Biến ĐT thành PC chất 2024, Tháng bảy
Anonim
Image
Image
Cần điều khiển và trò chơi điện tử ESP32 VGA
Cần điều khiển và trò chơi điện tử ESP32 VGA
Cần điều khiển và trò chơi điện tử ESP32 VGA
Cần điều khiển và trò chơi điện tử ESP32 VGA

Trong phần hướng dẫn này, tôi sẽ chỉ cách tái tạo bốn trò chơi arcade như trò chơi - Tetris - Snake - Breakout - Bomber - bằng cách sử dụng ESP32, với đầu ra cho màn hình VGA.

Độ phân giải là 320 x 200 pixel, có 8 màu. Trước đây tôi đã thực hiện một phiên bản với Arduino Uno (xem tại đây), nhưng độ phân giải chỉ là 120 x 60 pixel, 4 màu và bộ nhớ Arduino gần như đầy. Nhờ hiệu suất cao hơn của ESP32, cả độ phân giải và khả năng chơi đều cao hơn. Hơn nữa, vẫn còn rất nhiều bộ nhớ có sẵn, do đó, việc thêm các trò chơi mới trong tương lai sẽ rất đơn giản.

Tôi cũng sẽ hiển thị nóng để kết nối máng cần điều khiển đơn giản với cáp RS232. Tôi đang sử dụng cùng một sơ đồ chân của Commodore 64 một.

Dự án này được thực hiện nhờ thư viện VGA ESP32 tuyệt vời do Fabrizio Di Vittorio viết. Xem tại đây để biết thêm chi tiết.

Bước 1: Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA

Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA
Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA
Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA
Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA
Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA
Bo mạch ESP32, Cài đặt Arduino IDE và Cấu hình Thư viện VGA

Trước hết, bạn cần mua bản sửa đổi ESP32 1 hoặc cao hơn. Có nhiều phiên bản có sẵn, nhưng tôi khuyên bạn nên chọn một phiên bản có nhiều chân cắm, tốt nhất là một mô hình như trong hình này, với 38 chân. Tôi đang sử dụng phiên bản này, nhưng tôi nghĩ rằng nhiều phiên bản khác cũng tốt. Trên ebay, bạn có thể tìm thấy mô hình này với giá ít hơn 7 Euro, bao gồm cả giao hàng.

Khi bạn nhận được bảng, bạn cần phải tiến hành ba bước phụ sau:

  1. Cài đặt Arduino IDE cuối cùng
  2. Định cấu hình ESP32 trong IDE và
  3. Tải xuống và cài đặt thư viện VGA

Bước phụ 1. Có nhiều phương pháp khác nhau để lập trình ESP32, nhưng ở đây bạn cần sử dụng Arduino IDE (nhân tiện, tôi đang sử dụng phiên bản 1.8.9). Để cài đặt nó, bạn có thể truy cập trang Arduino IDE và làm theo hướng dẫn.

Bước phụ 2. Sau khi hoàn tất thao tác trước đó, bạn cần phải định cấu hình ESP32 của mình trong Arduino IDE. Điều này không phải là tầm thường, vì ESP32 chưa (chưa?) Có nguồn gốc trong đó. Bạn có thể làm theo hướng dẫn này hoặc các bước sau.

1) mở Arduino IDE

2) mở cửa sổ tùy chọn, Tệp / Tùy chọn, hoặc nhấn "Ctrl + dấu phẩy"

3) đi tới “URL của Trình quản lý Hội đồng Quản trị bổ sung”, sao chép và dán văn bản sau:

https://dl.espressif.com/dl/package_esp32_index.js…

và nhấp vào nút OK.

4) Quản lý hội đồng mở. Đi tới Công cụ / Bảng / Quản lý bảng…

5) Tìm kiếm ESP32 và nhấn nút cài đặt cho “Hệ thống ESP32 của Espressif”:

6) Tại thời điểm này, khi bạn kết nối lần đầu tiên với ESP32, bạn nên chọn đúng kiểu máy trong danh sách dài các bo mạch ESP32 có sẵn (xem hình ở bước này). Trong trường hợp nghi ngờ về mô hình, chỉ cần chọn mô hình chung, tức là mô hình đầu tiên. Nó làm việc cho tôi.

7) hệ thống cũng nên chọn cổng USB (COM) phù hợp và Tốc độ tải lên (thông thường là 921600). Tại thời điểm này, kết nối giữa PC của bạn và bo mạch ESP32 sẽ được thiết lập.

Bước phụ 3: Cuối cùng bạn phải cài đặt thư viện VGA FabGL. Nhấp vào đây để tải xuống tệp nén hoàn chỉnh. Giải nén nó và sao chép thư mục kết quả (FabGL-master) trong thư mục thư viện Arduino IDE, trông giống như sau:

"… / Arduino-1.8.12 / thư viện".

Bước 2: Tải lên "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"

Tải xuống ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip ở cuối bước này. Giải nén và mở nó bằng Arduino IDE, sau đó tải nó lên ESP32 của bạn. Nếu bạn không có thông báo lỗi nào, thì mã này đã được chạy và bạn chỉ cần kết nối cổng VGA và các nút (hoặc phím điều khiển).

Bước 3: Kết nối cổng VGA

Kết nối cổng VGA
Kết nối cổng VGA

Bạn cần những phần sau:

  • Đầu nối DSUB15, tức là đầu nối VGA cái hoặc cáp VGA bị cắt.
  • ba điện trở 270 Ohm.

Kết nối chân ESP32 GPIO 2, 15 và 21 với VGA Red, Green và Blue tương ứng thông qua các điện trở 270 Ohm.

Kết nối VGA Hsync và Vsync với ESP32 GPIO chân 17 và 4 tương ứng.

Kết nối các chân kết nối DSUB15 5, 6, 7, 8 và 10 với ESP32 GND.

Để biết định nghĩa chân kết nối VGA DSUB15, hãy xem hình ảnh trong bước này. NB, đây là mặt hàn của đầu nối cái.

Bước 4: Kết nối bốn nút

Kết nối bốn nút
Kết nối bốn nút
Kết nối bốn nút
Kết nối bốn nút
Kết nối bốn nút
Kết nối bốn nút

Nếu bạn không có cần điều khiển C64, bạn có thể kết nối bốn nút theo bước này. Nếu bạn có cần điều khiển, bạn có thể bỏ qua bước này và chuyển sang bước tiếp theo, nhưng bạn vẫn có thể kết nối cả hai nút và cần điều khiển (dù sao thì chúng cũng "song song").

Sơ đồ trong bước này cho thấy cách kết nối một nút duy nhất (Thường mở) từ + 5V đến chân ESP32.

Lưu ý rằng bạn cũng cần kết nối chân ESP đã cho với máng GND một điện trở từ 1 đến 5 kOhm. Theo cách này, khi nút được nhả (mở), chân ESP ở chính xác không Volts. Cụ thể hơn, bạn cần kết nối bốn nút theo thứ tự sau:

  • Ghim 12 sang nút Phải
  • Nút ghim 25 trở lên
  • Ghim 14 vào nút Trái
  • Ghim 35 xuống nút Xuống

Bước 5: Kết nối Joystick

Kết nối Cần điều khiển
Kết nối Cần điều khiển
Kết nối Cần điều khiển
Kết nối Cần điều khiển
Kết nối Cần điều khiển
Kết nối Cần điều khiển

Cần điều khiển C64 có sơ đồ chân được hiển thị trong hình đầu tiên của bước này. Để kết nối nó với ESP32, bạn cần một đầu nối DSUB nam 9 chân (tức là một ổ cắm), như trong hình thứ hai. Tôi đã loại bỏ một cái với các chân tiếp xúc khỏi một bảng điện tử cũ. Bạn có thể sử dụng súng nhiệt để loại bỏ nó (nhưng hãy làm nó ngoài trời!).

Bạn cần kết nối các chân theo thứ tự số trong các hình này. Lưu ý rằng giản đồ đề cập đến phía cần điều khiển, do đó nó đại diện cho kết nối của phích cắm cái của nó. Ổ cắm (đực) để kết nối với ESP32 có các chân có bố trí "gương". Trong trường hợp nghi ngờ, hãy nhớ rằng số pin luôn được thông báo trên các đầu nối nam và nữ, như trong hình thứ ba.

Nếu bạn chỉ muốn điều khiển các trò chơi bằng cần điều khiển, hãy kết nối chân chung của nó (9) với ESP32 + 5V và chân của cần điều khiển 1, 2, 3, 4 và 6 với các chân cho ESP theo danh sách sau.

  • Nút ESP chân 12 sang nút Phải (chân 4 RS232)
  • Chân ESP 14 đến nút Trái (RS232 pin 3)
  • Nút ESP chân 35 đến nút Xuống (RS232 pin 2)
  • Nút ESP chân 25 đến nút Lên (RS232 pin 1 và 6, tức là lửa cần điều khiển)

NB các chân ESP 12, 14, 25 và 35 cũng phải được kết nối với máng GND một điện trở 1 đến 5 kOhm. Bằng cách này khi nút được nhả (mở), chân ESP ở chính xác không Volts.

Cần điều khiển NB2 Vị trí LÊN và nút lửa được kết nối với nhau với chân ESP 25-

Tôi đã kết nối bốn nút trên bảng PC, theo cách này tôi không cần phím điều khiển để chơi (mặc dù với phím điều khiển thì vui hơn nhiều). Một lần nữa, chân 9 của RS232 phải được kết nối với +5 V và các chân cần điều khiển chỉ song song với các nút.

Bước 6: Kết luận và công nhận

Kết luận và Lời cảm ơn
Kết luận và Lời cảm ơn

Nếu mọi thứ hoạt động bình thường, chỉ cần kết nối màn hình VGA và bạn sẽ có thể thưởng thức một số trò chơi kiểu cũ!

Bạn cũng có thể vẽ một bộ Mandelbrot với độ phân giải 640 x 350 pixel, chỉ để kiểm tra khả năng của thư viện VGA.

Lưu ý rằng mã được viết theo cách mà các trò chơi khác có thể dễ dàng thêm vào trong tương lai (ESP32 có rất nhiều dung lượng!). Tôi dự án này có đủ lãi, tôi có thể làm điều đó…

Cuối cùng, tôi muốn bày tỏ những chiếc xe tăng của mình với Fabrizio Di Vittorio vì thư viện VGA ESP32 tuyệt vời của anh ấy. Để biết thêm chi tiết, ví dụ và… Space Invaders, hãy truy cập trang web của anh ấy.

Đề xuất: