สารบัญ:

Arduino Basic PC พร้อมเอาต์พุต VGA: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Basic PC พร้อมเอาต์พุต VGA: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Basic PC พร้อมเอาต์พุต VGA: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Basic PC พร้อมเอาต์พุต VGA: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Breadboard Arduino VGA Part 3: Let's build a Terminal 2024, กรกฎาคม
Anonim
Image
Image
Arduino Basic PC พร้อมเอาต์พุต VGA
Arduino Basic PC พร้อมเอาต์พุต VGA
Arduino Basic PC พร้อมเอาต์พุต VGA
Arduino Basic PC พร้อมเอาต์พุต VGA

ใน Instructable ก่อนหน้าของฉัน ฉันได้แสดงวิธีสร้างคอมพิวเตอร์ 8 บิตย้อนยุคที่ใช้ BASIC โดยใช้ Arduino สองตัวและสัญญาณเอาต์พุตใน B&W สำหรับหน้าจอทีวี

ตอนนี้ฉันจะแสดงวิธีสร้างคอมพิวเตอร์เครื่องเดียวกัน แต่ด้วยสัญญาณเอาต์พุตเป็นสีสำหรับจอภาพ VGA!

คุณสามารถป้อนตัวแปรและโปรแกรมพื้นฐานด้วยแป้นพิมพ์ PS2 และสร้างเอาต์พุตสำหรับจอภาพ VGA ที่มีความละเอียดข้อความ 24 คอลัมน์ x 10 แถวของอักขระ 5x6 พิกเซลในสี่สี คุณสามารถเห็นการทำงานจริงในวิดีโอด้านบน จากนั้นโปรแกรมสามารถบันทึกลงใน Arduino EEPROM ได้ และคุณยังสามารถควบคุมพิน I/O ได้โดยตรงผ่านคำสั่งพื้นฐานเฉพาะ

โปรเจ็กต์นี้ยังสามารถใช้พิมพ์ข้อความธรรมดาบนจอภาพได้อีกด้วย ดังแสดงในภาพที่ 3 ในหน้านี้

Arduino หนึ่งตัวคือ "ผู้เชี่ยวชาญ" และใช้งาน Tiny Basic Plus ซึ่งเป็นการนำ Tiny Basic ไปใช้งาน C โดยเน้นที่การรองรับ Arduino นอกจากนี้ยังควบคุมแป้นพิมพ์ PS2 เอาต์พุตจะถูกส่งผ่านพอร์ตอนุกรมไปยัง Arduino ตัวที่สองซึ่งสร้างเอาต์พุต VGA ด้วยไลบรารี VGAx

แนวคิดในการใช้ Arduino อย่างน้อยหนึ่งตัวเพื่อสร้างพีซีแบบเก่าที่ใช้ภาษาถิ่นนั้นไม่ใช่เรื่องใหม่ แต่เท่าที่ฉันรู้ ไม่มีเครื่องใดที่มีเอาต์พุตสี ในบางโปรเจ็กต์ที่มีในเน็ต ผู้คนใช้จอ LCD ในขณะที่บางโปรเจ็กต์จะอนุญาตให้ใช้จอภาพได้ จึงมีการใช้ไลบรารี TVout ซึ่งเป็น B&W นอกจากนี้ในหลายโครงการเหล่านี้จะต้องมีการสร้างเกราะพิเศษหรือฮาร์ดแวร์ ที่นี่คุณต้องการ Arduino เพียงสองตัว ตัวต้านทานไม่กี่ตัว และตัวเชื่อมต่อสำหรับแป้นพิมพ์ PS2 และจอภาพ ดังที่แสดงในภาพด้านบน

ขั้นตอนที่ 1: สร้าง Arduino Master ด้วย TinyBasic และ PS2 Keyboard

TinyBasic Plus และไลบรารี VGAx ใช้งานได้กับ Arduino IDE 1.6.4

ขั้นแรกให้ดาวน์โหลดจากหน้าเว็บทางการของ Arduino หากคุณมีเวอร์ชันที่ใหม่กว่าบนพีซี วิธีที่ดีที่สุดคือดาวน์โหลดในรูปแบบ.zip และคลายการบีบอัดบนพีซีของคุณ คลิกลิงก์นี้เพื่อดาวน์โหลดเวอร์ชัน Windows

คุณต้องมีไลบรารี PS2keyboard คุณสามารถค้นหาได้ที่ด้านล่างของหน้านี้ เพียงคลายการบีบอัดและคัดลอกโฟลเดอร์ PS2keyboard ใน: arduino-1.6.4\libraries

สุดท้าย ในหน้านี้ ดาวน์โหลดไฟล์: TinyBasicPlus_PS2_VGAx.ino คลายการบีบอัดและอัปโหลดบน Arduino ของคุณ

นี่เป็นรูปแบบหนึ่งของ TinyBasic Plus มาตรฐานที่ฉันได้เพิ่มไลบรารี PS2 และแก้ไขโค้ดเพื่อยอมรับตัวแปรจากมัน

รายละเอียดเพิ่มเติมเกี่ยวกับ TiniBasic Plus และบทช่วยสอนสามารถดูได้ที่ลิงค์นี้

หากไม่มีปัญหาและปัญหาความเข้ากันได้ Tiny Basic กำลังทำงานอยู่แล้ว คุณสามารถทดสอบผ่านจอภาพแบบอนุกรมในพีซีของคุณ เพื่อจุดประสงค์นี้ ฉันใช้ PuTTY แต่มีโปรแกรมอื่นๆ มากมาย

คุณต้องตั้งค่าพอร์ต COM ที่ถูกต้อง (เหมือนกับที่คุณพบใน Arduino IDE) และอัตรารับส่งข้อมูล = 4800

ที่นี่คุณสามารถทดสอบโปรแกรมบางโปรแกรมใน Basic เพียงพิมพ์ด้วยแป้นพิมพ์ PC ของคุณ (หมายเหตุ ต่อไปฉันจะแสดงวิธีเชื่อมต่อแป้นพิมพ์ PS2 กับ Arduino โดยตรง)

ลองเช่น:

10 พิมพ์ "สวัสดีชาวโลก!"

20 GOTO 10

วิ่ง

จากนั้นคุณสามารถหยุดการวนซ้ำแบบไม่สิ้นสุดได้เพียงแค่พิมพ์ ctrl+c

โปรดทราบว่าชุดค่าผสมนี้ใช้ไม่ได้กับแป้นพิมพ์ PS2

ในขั้นตอนต่อไป ผมจะแสดงวิธีเชื่อมต่อคีย์บอร์ด PS2 กับ Arduino

ขั้นตอนที่ 2: เชื่อมต่อคีย์บอร์ด PS2 กับ Master Arduino

เชื่อมต่อคีย์บอร์ด PS2 กับ Master Arduino
เชื่อมต่อคีย์บอร์ด PS2 กับ Master Arduino

ฉันได้รับข้อมูลและห้องสมุดทั้งหมดจากคำแนะนำนี้

โดยพื้นฐานแล้วคุณต้องเชื่อมต่อพินสี่ตัวต่อไปนี้:

  • ข้อมูลแป้นพิมพ์ไปยัง Arduino pin 8,
  • แป้นพิมพ์ IRQ (นาฬิกา) ไปยังขา Arduino 3;
  • คุณต้องเชื่อมต่อ GND และ +5V ด้วย

ฉันได้รับขั้วต่อ PS2 ตัวเมียแบบเก่าจากเมนบอร์ดพีซีที่ชำรุด คุณสามารถขายมันด้วยปืนความร้อน

ในภาพที่แสดงในขั้นตอนนี้ คุณจะพบฟังก์ชันของพินที่จำเป็นของขั้วต่อ PS2

ขั้นตอนที่ 3: อัปโหลดไลบรารี VGAx และโค้ดบน Arduino ตัวที่สองและรวมทุกอย่างเข้าด้วยกัน

อัปโหลดไลบรารี VGAx และโค้ดบน Arduino ตัวที่สองและรวมทุกอย่างเข้าด้วยกัน
อัปโหลดไลบรารี VGAx และโค้ดบน Arduino ตัวที่สองและรวมทุกอย่างเข้าด้วยกัน

ขั้นแรกให้ดาวน์โหลดโค้ด VGAx-PC.ino ที่ด้านล่างของหน้านี้ และคัดลอกลงบนพีซีของคุณในไดเร็กทอรีที่มีชื่อเดียวกัน

ดาวน์โหลดไลบรารี VGAx จากลิงค์นี้บน GitHub วิธีที่ง่ายที่สุดคือคัดลอกลงในโฟลเดอร์ย่อยซอฟต์แวร์ Arduino ชื่อ "ไลบรารี" เพื่อให้จดจำได้ทันที

สำคัญ: ไลบรารีนี้ใช้งานได้กับ Arduno IDE 1.6.4 แต่ไม่สามารถทำงานร่วมกับเวอร์ชันเก่าหรือใหม่กว่าได้อย่างสมบูรณ์

อัปโหลด VGAx-PC.ino ในบอร์ด Arduino ตัวที่สองของคุณ (ฉันทดสอบแล้วสำหรับรุ่น Nano แต่ Uno ก็ควรใช้งานได้เช่นกัน)

คำเตือนสำหรับหน่วยความจำเหลือน้อยเป็นเรื่องปกติ หากคุณไม่มีข้อผิดพลาดอื่น ๆ ทุกอย่างก็เรียบร้อย และคุณสามารถเริ่มสร้างพีซี 8 บิตของคุณเองได้ทันที

สำหรับสิ่งนี้คุณต้อง:

  • Arduino Uno Rev. 3 สองตัวหรือ Arduino Nano 3.x สองตัว (ATmega328)
  • ขั้วต่อ DSUB15 เช่น ขั้วต่อ VGA ตัวเมีย หรือสาย VGA ที่จะตัด
  • ตัวต้านทาน: 2 x 68 โอห์ม และ 2 x 470 โอห์ม
  • ขั้วต่อ PS2 ตัวเมีย
  • สายไฟ
  • คณะ: เขียงหั่นขนมหรือกระดานแถบ

มีการรายงานแผนผังที่ด้านบนของขั้นตอนนี้ ตัวอย่างของ "คอนโซล" ที่เสร็จสิ้นแล้วจะแสดงในขั้นตอนแนะนำ

มีการรายงานแผนผังเดียวกันซึ่งมีความละเอียดสูงกว่าในไฟล์บีบอัดที่ด้านล่างของขั้นตอนนี้

ขั้นตอนที่ 4: ทางเลือก: การใช้ PCB

ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB
ทางเลือก: การใช้ PCB

คุณยังสามารถสร้างพีซีพื้นฐาน VGA นี้โดยใช้ PCB ขนาดเล็ก คุณสามารถใช้แรงบันดาลใจจากรูปภาพในขั้นตอนนี้หรือพิมพ์บอร์ดของคุณเอง

ฉันใช้แถบส่วนหัวตัวเมียสองตัวที่มี 15 รูสำหรับเอาต์พุตวิดีโอ Arduino ในขณะที่สำหรับต้นแบบฉันใช้แถบสองแถบที่มีรูคู่ ด้วยวิธีนี้ ฉันสามารถใช้อันภายนอกเพื่อแทรกผู้ติดต่อของส่วนประกอบโปรเจ็กต์อื่นๆ ที่สามารถขับเคลื่อนได้โดยตรงด้วยโค้ดพื้นฐาน ฉันยังเพิ่มแถบที่เหลือตรงกลางด้วยแถบหนึ่งเชื่อมต่อกับ 5 V และอีกอันสำหรับ GND

ขั้นตอนที่ 5: ความคิดเห็นสุดท้ายและรับทราบ

ความรู้หลักของฉันไปที่ Sandro Maffiodo aka Smaffer ผู้สร้างไลบรารี VGAx ที่ยอดเยี่ยม

ขอบคุณมากสำหรับผู้เขียน TinyBasic Plus:

  • Tiny Basic 68k - Gordon Brandly
  • Arduino Basic / Tiny Basic C - Michael Field
  • Tiny Basic Plus - สก็อตต์ ลอว์เรนซ์

ขอบคุณ "djsadeepa" ผู้เขียน Instructable สำหรับการเชื่อมต่อแป้นพิมพ์ PS2

ถึงทุกคนที่สนใจในโครงการนี้ หากคุณมีปัญหาอย่าลังเลที่จะขอคำแนะนำในความคิดเห็น

หากคุณทำสำเร็จ โปรดเขียนความคิดเห็นด้วยหรือแชร์รูปภาพของอุปกรณ์ที่คุณสร้าง

แนะนำ: