Mục lục:

Arduino Basic PC với đầu ra TV: 5 bước (có hình ảnh)
Arduino Basic PC với đầu ra TV: 5 bước (có hình ảnh)

Video: Arduino Basic PC với đầu ra TV: 5 bước (có hình ảnh)

Video: Arduino Basic PC với đầu ra TV: 5 bước (có hình ảnh)
Video: [Arduino basic #11] Đọc giá trị từ serial monitor 2024, Tháng sáu
Anonim
Image
Image
Máy tính cơ bản Arduino với đầu ra TV
Máy tính cơ bản Arduino với đầu ra TV
Máy tính cơ bản Arduino với đầu ra TV
Máy tính cơ bản Arduino với đầu ra TV
Máy tính cơ bản Arduino với đầu ra TV
Máy tính cơ bản Arduino với đầu ra TV

Trong Tài liệu hướng dẫn này, tôi sẽ 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à một vài thành phần khác.

Bạn có thể nhập các biến và chương trình BASIC bằng bàn phím PS2 và đầu ra được hiển thị trên màn hình với văn bản 47 cột x 29 hàng ký tự 8x8 pixel (B&W), độ phân giải tương tự hoặc tốt hơn Commodore 64, bằng 40 x 25 ký tự.

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.

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 video nhờ thư viện MRETV tuyệt vời.

Ý tưởng sử dụng một hoặc nhiều Arduino để tạo ra một PC kiểu cũ chạy phương ngữ Basic không phải là mới, nhưng cho đến nay vẫn có một số hạn chế mạnh trong độ phân giải đầu ra. 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, có độ phân giải thấp hơn nhiều. 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ốt, 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à MRETV hoạt động cho người lớn tuổi - và khác - Arduino IDE.

Đầu tiên hãy tải xuống IDE 1.6.4 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.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 tính khả thi 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 = 2400

Ở đâ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

Kết nối Bàn phím PS2 với Arduino Chính
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;
  • tất nhiên 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ể 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.

Bước 3: Tải lên Thư viện MRETV trên Arduino thứ hai và kết hợp mọi thứ lại với nhau

Tải lên Thư viện MRETV trên Arduino thứ hai và kết hợp mọi thứ lại với nhau
Tải lên Thư viện MRETV trên Arduino thứ hai và kết hợp mọi thứ lại với nhau

Điểm mấu chốt của dự án này là sự tồn tại của thư viện MRETV tuyệt vời. Có một Hướng dẫn chuyên dụng, nơi nó được mô tả chi tiết.

Nó chỉ sử dụng hai điện trở và hai điốt để tạo video toàn màn hình, với độ phân giải văn bản là 47 x 29 của 8x8 ký tự. Như đã nói trong phần giới thiệu, "việc tạo video đã được thực hiện trước đây, nhưng không phải như thế này. Sê-ri FULL DUPLEX vẫn khả dụng trong khi tạo video". Điều này cho phép lấy dữ liệu từ Arduino "chính" và hiển thị chúng trên màn hình. Trong thực tế, Arduino "nô lệ" thứ hai này được sử dụng làm giao diện đồ họa!

Vì MRETV hoạt động cho IDE 1.6.6, hãy tải xuống từ trang web chính thức của Arduino. Một lần nữa, 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 đó tải xuống thư viện MRETV từ liên kết này.

Giải nén nó và lưu thư mục "MRETV" trong: arduino-1.6.6 / thư viện

Cuối cùng tải xuống TVtext_slave.rar ở cuối trang này, giải nén nó và tải lên trong nô lệ Arduino của bạn.

Nếu không có thông báo lỗi, bạn có thể kết nối đầu nối RCA. Bạn cần hai điốt và điện trở 1 kOhm và 300 Ohm, như được hiển thị trong sơ đồ trong trang này.

Lúc này bạn có thể kết nối mọi thứ với nhau.

Danh sách đầy đủ các vật liệu là:

  • hai Arduino Uno Rev. 3 hoặc hai Arduino Nano 3.x (ATmega328)
  • hai điện trở 1 kOhm
  • một điện trở 300 Ohm
  • hai điốt 1n4148 (x2) hoặc điốt chuyển mạch silicon tương tự
  • hai đầu cắm RCA cái (một cho video, một - facultative - cho âm thanh)
  • một đầu nối PS2 cái
  • một breadboard và dây điện

Arduino chính gửi dữ liệu đến máng phụ bằng cáp màu cam, tức là chân chủ 1 (Tx) đến chân phụ 2 (Rx). Nếu bạn cần tải lên lại một số mã, bạn nên ngắt kết nối cáp này trước.

Sau đó kết nối arduino nô lệ với nguồn điện 5V, cáp RCA với TV và bàn phím với PS2, và bây giờ bạn sẽ thấy mã trên TV của mình!

Các chức năng của phương ngữ Cơ bản này được mô tả chi tiết trong trang chủ của nó (xem liên kết ở bước 2). Với các lệnh "esave" và "eload", bạn có thể lưu một chương trình Cơ bản trong EEPROM. Chương trình này được chạy theo mặc định mỗi khi bạn đặt lại Arduino chính. Để xóa nó, bạn có thể sử dụng lệnh "eformat".

Một trong những tính năng quan trọng nhất của chương trình này là bạn vẫn có thể điều khiển I / O Arduino chính bằng các lệnh Cơ bản chuyên dụng, chẳng hạn như

  • Chân DWRITE, giá trị - đặt chân có giá trị (HIGH, HI, LOW, LO)
  • Chân AWRITE, giá trị - đặt chân có giá trị tương tự (pwm) 0..255
  • DREAD (pin) - lấy giá trị của pin
  • AREAD (analogPin) - lấy giá trị của chân analog

Vì vậy, bạn có thể viết một chương trình trong Basic để điều khiển một số phần cứng, lưu nó trong EEPROM và sau đó chạy nó tự động chỉ cần đặt lại Arduino.

Bước 4: Tùy chọn: Sử dụng PCB

Tùy chọn: Sử dụng PCB
Tùy chọn: Sử dụng PCB
Tùy chọn: Sử dụng PCB
Tùy chọn: Sử dụng PCB
Tùy chọn: Sử dụng PCB
Tùy chọn: Sử dụng PCB

Bạn cũng có thể xây dựng PC 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 mình.

Bạn có thể sử dụng hai dải tiêu đề cái có 15 lỗ cho đầu ra video Arduino, trong khi đối với dải chính, tôi khuyên bạn nên sử dụng bốn dải. Bằng cách này, bạn có thể sử dụng những cái bên ngoài để chèn địa chỉ liên hệ của các thành phần dự án của 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.

Cuối cùng, trong tệp.rar, bạn có thể tìm thấy các mặt nạ để khắc một bảng coppered.

Bước 5: Nhận xét và Lời cảm ơn cuối cùng

Dự án này không thể được thực hiện nếu không có thư viện MRETV. Vì vậy, sự thừa nhận chính của tôi dành cho tác giả của anh ấy, người sử dụng từ viết tắt Mr E.

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.

Đối với tất cả những người quan tâm đến dự án này: việc xây dựng nó có vẻ dễ dàng hơn ngay từ cái nhìn đầu tiên. Vấn đề chính của tôi là với khả năng tương thích của Arduino IDE. Nếu bạn gặp khó khăn, đừng ngần ngại đưa ra gợi ý 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: