Mục lục:

Máy tính cơ bản ESP32 với đầu ra VGA: 7 bước
Máy tính cơ bản ESP32 với đầu ra VGA: 7 bước

Video: Máy tính cơ bản ESP32 với đầu ra VGA: 7 bước

Video: Máy tính cơ bản ESP32 với đầu ra VGA: 7 bước
Video: ZORK on esp32 – with VGA display and ps2 keyboard 2024, Tháng bảy
Anonim
Image
Image
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

Trong Tài liệu hướng dẫn này, tôi sẽ trình bày cách xây dựng một chiếc PC phong cách cổ điển đơn giản được thực hiện với một ESP32 duy nhất và một vài thành phần khác.

PC này chạy Tiny Basic, một phương ngữ đơn giản của BASIC và tạo ra đầu ra cho màn hình VGA.

Độ phân giải là 640x350 pixel, cho phép ký tự asci 80x25 với 8 màu. Bàn phím PS2 có thể được kết nối và sử dụng để viết mã, cho phép bộ nhớ lên đến 14059 byte.

Các chân I / O của ESP32 có thể được điều khiển trực tiếp bằng các lệnh BASIC chuyên dụng.

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

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. 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. Ví dụ, trong phần mô tả của video này, bạn có thể tìm thấy ba mô hình khác có giá dưới 5 đô la.

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. 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 mới nhất (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

Khi thao tác trước đó hoàn tất, bạn cần định cấu hình ESP32 của mình trong IDE Arduino. Đ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.json

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 đúng cổng USB 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. [cập nhật tháng 7 năm 2019] Bạn cần và phiên bản cũ của libray này: bạn có thể tải xuống tệp zip src.old.zip ở cuối bước này, giải nén và đổi tên thư mục thành "src" trong

Thư mục "… / arduino-1.8.9 / Library".

Khi bạn đã thực hiện các thao tác này, bạn có thể chuyển sang bước tiếp theo và tải lên TinyBasic đã sửa đổi theo bước tiếp theo.

Bước 2: Tải mã cơ bản nhỏ lên ESP32

Tải lên mã cơ bản nhỏ lên ESP32
Tải lên mã cơ bản nhỏ lên ESP32
Tải lên mã cơ bản nhỏ lên ESP32
Tải lên mã cơ bản nhỏ lên ESP32

Tải xuống ESP32_TinyBasicPlus_PS2_FabLab_beta.ino ở cuối bước này.

Mở nó bằng Arduino IDE và tải nó lên ESP32 thô 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.

Bước thuận tiện: nếu bạn muốn kiểm tra TinyBasic trước khi kết nối bàn phím VGA và PS2, bạn đã có thể thực hiện với máy khách SSH và telnet. Tôi sử dụng PuTTY.

Bạn có thể xem nó trông như thế nào trong các hình ảnh ở bước này.

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 cổng PS2

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

Bạn cần một đầu nối nữ bàn phím PS2.

Bạn có thể lấy một chiếc từ bo mạch chủ PC cũ, chỉ cần bán nó bằng súng nhiệt. Trong hình minh họa ở bước này, bạn có thể tìm thấy chức năng của các chân cần thiết của đầu nối PS2.

Kết nối là:

  • Dữ liệu bàn phím đến ESP32 GPIO chân 32
  • Bàn phím IRQ (đồng hồ) đến chân ESP32 GPIO 33
  • Bạn cũng cần kết nối chân 5V và chân GND.

Bước 5: Lập trình với Tiny Basic

Lập trình với Tiny Basic
Lập trình với Tiny Basic
Lập trình với Tiny Basic
Lập trình với Tiny Basic

Tại thời điểm này, nếu bạn có thể kết nối màn hình VGA và bàn phím PS2 và ESP32 với nguồn điện.

Hình ảnh hiển thị ở đây sẽ xuất hiện trên màn hình. Bây giờ bạn có thể chơi một chút với các lệnh Tiny Basic.

Ví dụ, hãy thử Hello, Word! vòng lặp vô hạn:

10 bản in "Hello, World!"

20 goto 10

chạy

Bạn có thể thay đổi bốn màu khác nhau bằng cách nhấn nút esc và dừng vòng lặp bằng ctrl + c

Lưu ý rằng nếu bạn mắc lỗi đánh máy, bạn không thể hủy nó! Hoặc tốt hơn, bạn có thể hủy bỏ nhưng sau đó sửa lỗi chính tả không được công nhận. Bạn cần viết lại toàn bộ dòng lệnh.

Bây giờ bạn có thể thử một cái gì đó phức tạp hơn, chẳng hạn như điều khiển nhấp nháy của đèn LED với một chương trình cơ bản. Ví dụ, kết nối cực dương LED (chân dài) với chân 13 của ESP32 GPIO và cực âm với GND.

Sau đó viết:

Mới

10 i = 1000

20 in tôi

Tôi chậm trễ 30

40 dwrite 13, cao

Tôi chậm trễ 50

60 dwrite 13, thấp

70 i = i * 9/10

80 nếu tôi> 0 goto 20

90 cuối

chạy

Bạn có thể xem kết quả trong video được nhúng trong Tài liệu hướng dẫn này.

Bước 6: Kết nối thẻ nhớ SD

Kết nối thẻ nhớ SD
Kết nối thẻ nhớ SD
Kết nối thẻ nhớ SD
Kết nối thẻ nhớ SD

Một chiếc PC cổ điển, dù ít và yếu đến đâu, cũng không thể hoàn thiện nếu bạn không thể lưu trữ vĩnh viễn các chương trình của mình.

Trong bước này, tôi sẽ hướng dẫn cách kết nối thẻ nhớ SD, nhưng thật không may, hiện tại (tôi hy vọng chỉ là lúc này), việc lưu trữ các chương trình không hoạt động!

BTW, tôi đã sử dụng bộ chuyển đổi thẻ nhớ microSD sang SD và tôi đã hàn 8 chân hình chữ L như trong hình ở bước này.

Sau đó, tôi kết nối các chân của bộ điều hợp SD với ESP32 theo hình ảnh thứ hai, tức là tôi đã kết nối các chân ESP32 GPIO 5, 18, 19, 23 tương ứng với SC, clock, MISO, MOSO, cộng với 3,3V và hai GND.

Tôi cũng đã làm theo các hướng dẫn và ví dụ được tìm thấy ở đây và với mã ví dụ SD_test.ino, tôi có thể ghi trên thẻ nhớ microSD 2 GBytes của mình.

Vì vậy, nếu ai đó tìm thấy giải pháp, vui lòng thông báo cho tôi càng sớm càng tốt vào email của tôi [email protected] và tôi sẽ hoàn thành Bài hướng dẫn này.

Bước 7: Lời cảm ơn

Sự nhìn nhận
Sự nhìn nhận

Tôi muốn bày tỏ 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 tại đây.

cũng cảm ơn các tác giả của Tiny Basic:

  • Mike Field
  • Scott Lawrence
  • Brian O'Dell

Cuối cùng, nếu bạn thích dự án này, vui lòng viết bình luận hoặc chia sẻ hình ảnh về thiết bị bạn xây dựng… và trên hết, hãy bình chọn cho nó trong cuộc thi Arduino!

Đề xuất: