
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15




Trong Tài liệu hướng dẫn trước đây của tôi, tôi đã chỉ ra cách xây dựng một máy tính 8-bit cổ điển chạy BASIC, bằng hai Arduino và với tín hiệu đầu ra trong B&W cho màn hình TV.
Bây giờ tôi sẽ hướng dẫn cách xây dựng cùng một máy tính, nhưng với tín hiệu đầu ra có màu cho màn hình VGA!
Bạn có thể nhập các biến và chương trình BASIC bằng bàn phím PS2 và nó tạo ra đầu ra cho màn hình VGA với độ phân giải văn bản 24 cột x 10 hàng ký tự 5x6 pixel, với bốn màu. Bạn có thể thấy nó hoạt động trong video phía trên. Sau đó, chương trình có thể được lưu trên Arduino EEPROM và bạn vẫn có thể điều khiển các chân I / O trực tiếp thông qua các lệnh chuyên dụng Cơ bản.
Dự án này cũng có thể được sử dụng để in các tin nhắn văn bản đơn giản trên màn hình, như thể hiện trong hình thứ ba trong trang này.
Một Arduino là "bậc thầy", và nó chạy Tiny Basic Plus, một triển khai C của Tiny Basic, tập trung vào hỗ trợ cho Arduino. Nó cũng điều khiển bàn phím PS2. Đầu ra sau đó được gửi qua cổng nối tiếp đến Arduino thứ hai tạo ra đầu ra VGA nhờ thư viện VGAx.
Ý tưởng sử dụng một hoặc nhiều Arduino để tạo một PC kiểu cũ chạy phương ngữ Basic không phải là mới nhưng theo tôi biết, không có cái nào trong số chúng có đầu ra màu. Trong một số dự án có sẵn trên mạng, người ta sử dụng màn hình LCD, trong khi ở một số dự án khác, để cho phép sử dụng màn hình, người ta đã sử dụng thư viện TVout, đó là B&W. Hơn nữa, trong nhiều dự án này phải xây dựng các tấm chắn hoặc phần cứng đặc biệt. Ở đây bạn chỉ cần hai Arduino, một vài điện trở và đầu nối cho bàn phím PS2 và màn hình, như trong hình trên.
Bước 1: Xây dựng Arduino Master với bàn phím TinyBasic và PS2
TinyBasic Plus và thư viện VGAx hoạt động cho Arduino IDE 1.6.4.
Đầu tiên hãy tải xuống từ trang web chính thức của Arduino. Nếu bạn có phiên bản mới hơn trên PC của mình, cách tốt nhất là tải xuống ở định dạng.zip và giải nén chúng trên PC của bạn. Nhấp vào liên kết này để tải xuống phiên bản Windows.
Sau đó, bạn cần thư viện PS2keyboard. Bạn có thể tìm thấy nó ở cuối trang này. Chỉ cần giải nén nó và sao chép thư mục PS2keyboard trong: arduino-1.6.4 / Library
Cuối cùng, trong trang này, hãy tải xuống tệp: TinyBasicPlus_PS2_VGAx.ino, giải nén và tải nó lên Arduino của bạn.
Đây là một biến thể của TinyBasic Plus tiêu chuẩn, nơi tôi đã thêm thư viện PS2 và sửa đổi mã để chấp nhận các biến từ nó.
Bạn có thể tìm thêm thông tin chi tiết về TiniBasic Plus và các hướng dẫn tại liên kết này.
Nếu không có vấn đề và sự cố tương thích, Tiny Basic đã chạy. Bạn có thể kiểm tra nó qua màn hình nối tiếp trong PC của mình. Vì mục đích này, tôi sử dụng PuTTY, nhưng nhiều chương trình khác có sẵn.
Bạn phải đặt đúng cổng COM (giống cổng COM bạn tìm thấy trong Arduino IDE) và tốc độ truyền = 4800
Ở đây bạn đã có thể kiểm tra một số chương trình trong Basic chỉ bằng cách gõ chúng bằng bàn phím PC của bạn (NB sau này, tôi sẽ hướng dẫn cách kết nối bàn phím PS2 trực tiếp với Arduino).
Hãy thử ví dụ:
10 IN "Hello, World!"
20 GOTO 10
CHẠY
Sau đó, bạn có thể dừng vòng lặp vô hạn chỉ bằng cách gõ ctrl + c.
Lưu ý rằng sự kết hợp này sẽ không hoạt động đối với bàn phím PS2.
Trong bước tiếp theo, tôi sẽ hướng dẫn cách kết nối bàn phím PS2 với Arduino.
Bước 2: Kết nối Bàn phím PS2 với Arduino chính

Tôi nhận được tất cả thông tin và thư viện từ Tài liệu hướng dẫn này.
Về cơ bản, bạn cần kết nối bốn chân sau:
- bàn phím Dữ liệu đến chân 8 của Arduino,
- bàn phím IRQ (đồng hồ) đến chân 3 của Arduino;
- bạn cũng cần kết nối GND và + 5V.
Tôi nhận được một đầu nối PS2 nữ cũ từ một bo mạch chủ PC bị hỏng. Bạn có thể đơn giản là không bán được 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.
Bước 3: Tải lên Thư viện và Mã VGAx trên Arduino thứ hai và Đặt mọi thứ lại với nhau

Trước tiên, hãy tải xuống mã VGAx-PC.ino ở cuối trang này và sao chép nó trên PC của bạn trong một thư mục có cùng tên.
Tải xuống thư viện VGAx từ liên kết này trên GitHub. Cách dễ nhất là sao chép nó trong thư mục con của phần mềm Arduino có tên là "thư viện", để được nhận ra ngay lập tức.
QUAN TRỌNG: thư viện này hoạt động cho Arduno IDE 1.6.4 nhưng nó không hoàn toàn tương thích với các phiên bản cũ hơn hoặc mới hơn.
Tải lên VGAx-PC.ino trong bảng Arduino thứ hai của bạn (Tôi đã thử nghiệm nó cho phiên bản Nano nhưng Uno cũng sẽ hoạt động).
Một cảnh báo cho bộ nhớ khả dụng thấp là bình thường. Nếu bạn không gặp các lỗi khác, mọi thứ đều ổn và bạn có thể bắt đầu ngay lập tức xây dựng PC 8-bit của riêng mình.
Đối với điều này, bạn cần:
- hai Arduino Uno Rev. 3 hoặc hai Arduino Nano 3.x (ATmega328)
- Đầu nối DSUB15, tức là đầu nối VGA cái hoặc cáp VGA bị cắt.
- điện trở: 2 x 68 Ohm và 2 x 470 Ohm
- một đầu nối PS2 cái
- Dây điện
- facultative: một breadboard hoặc một bảng dải
Sơ đồ được báo cáo ở đầu bước này. Ví dụ về một "bảng điều khiển" đã hoàn thành được hiển thị trong bước giới thiệu.
Sơ đồ tương tự, với độ phân giải cao hơn, được báo cáo trong một tệp nén ở cuối bước này.
Bước 4: Tùy chọn: Sử dụng PCB




Bạn cũng có thể xây dựng PC VGA Cơ bản này bằng cách sử dụng một PCB nhỏ. Bạn có thể lấy cảm hứng từ các hình ảnh trong bước này hoặc thậm chí bạn có thể in bảng của riêng bạn.
Tôi đã sử dụng hai dải tiêu đề cái có 15 lỗ cho đầu ra video Arduino, trong khi đối với bản chính, tôi sử dụng hai dải có lỗ doble. Bằng cách này, tôi có thể sử dụng các cấu phần bên ngoài để chèn địa chỉ liên hệ của các thành phần dự án khác, có thể được điều khiển trực tiếp bằng mã Cơ bản. Tôi cũng thêm vào giữa các dải còn lại, một dải được kết nối thành 5 V và dải còn lại cho GND.
Bước 5: Nhận xét và Lời cảm ơn cuối cùng
Kiến thức chính của tôi thuộc về Sandro Maffiodo hay còn gọi là Smaffer, người tạo ra thư viện VGAx tuyệt vời.
Cũng xin cảm ơn các tác giả của TinyBasic Plus:
- Tiny Basic 68k - Gordon Brandly
- Arduino Basic / Tiny Basic C - Michael Field
- Tiny Basic Plus - Scott Lawrence
Cũng xin cảm ơn "djsadeepa", tác giả của Sách hướng dẫn về kết nối của bàn phím PS2.
Gửi đến tất cả những người quan tâm đến dự án này: nếu bạn gặp khó khăn, đừng ngần ngại hỏi ý kiến trong phần bình luận.
Nếu bạn thành công, vui lòng viết bình luận hoặc chia sẻ hình ảnh của thiết bị bạn chế tạo.
Đề xuất:
Thiết bị máy tính để bàn - Trợ lý máy tính để bàn có thể tùy chỉnh: 7 bước (có hình ảnh)

Thiết bị máy tính để bàn - Trợ lý máy tính để bàn có thể tùy chỉnh: Thiết bị máy tính để bàn là một trợ lý máy tính để bàn cá nhân nhỏ có thể hiển thị nhiều thông tin khác nhau được tải xuống từ internet. Thiết bị này do tôi thiết kế và chế tạo cho CRT 420 - Lớp học Chuyên đề Đặc biệt tại Trường Cao đẳng Berry do Giáo viên hướng dẫn
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: Trong tài liệu có thể hướng dẫn này, tôi sẽ trình bày cách xây dựng một máy tính 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à 640
Tự làm miếng đệm làm mát máy tính xách tay - Hack cuộc sống tuyệt vời với quạt CPU - Ý tưởng sáng tạo - Quạt máy tính: 12 bước (có hình ảnh)

Tự làm miếng đệm làm mát máy tính xách tay | Hack cuộc sống tuyệt vời với quạt CPU | Ý tưởng sáng tạo | Fan máy tính: Bạn cần xem video này cho đến khi kết thúc. để hiểu video
Sử dụng PSP làm cần điều khiển máy tính và sau đó điều khiển máy tính của bạn bằng PSP: 5 bước (với Hình ảnh)

Sử dụng PSP làm cần điều khiển máy tính và sau đó điều khiển máy tính của bạn bằng PSP: Bạn có thể làm nhiều điều thú vị với PSP homebrew và trong bài viết có hướng dẫn này, tôi sẽ hướng dẫn bạn cách sử dụng PSP làm cần điều khiển để chơi trò chơi, nhưng cũng có một chương trình cho phép bạn sử dụng cần điều khiển làm chuột của mình. Đây là trường cũ
Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: 7 bước

Cách biến điện thoại di động LG EnV 2 của bạn thành một Modem quay số di động cho máy tính xách tay (hoặc máy tính để bàn) của bạn: Tất cả chúng ta đều có nhu cầu sử dụng Internet ở những nơi không thể, chẳng hạn như trong ô tô hoặc trong kỳ nghỉ, nơi họ tính một khoản tiền đắt đỏ mỗi giờ để sử dụng wifi của họ. cuối cùng, tôi đã nghĩ ra một cách đơn giản để