สารบัญ:

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

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

วีดีโอ: Arduino Basic PC พร้อมเอาต์พุตทีวี: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: #5 สอน Arduino Tutorial : Arduino ควบคุมขา OUTPUT 2024, พฤศจิกายน
Anonim
Image
Image
พีซี Arduino Basic พร้อมเอาต์พุตทีวี
พีซี Arduino Basic พร้อมเอาต์พุตทีวี
พีซี Arduino Basic พร้อมเอาต์พุตทีวี
พีซี Arduino Basic พร้อมเอาต์พุตทีวี
พีซี Arduino Basic พร้อมเอาต์พุตทีวี
พีซี Arduino Basic พร้อมเอาต์พุตทีวี

ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างคอมพิวเตอร์ 8 บิตย้อนยุคที่ใช้ BASIC โดยใช้ Arduino สองตัวและส่วนประกอบอื่นๆ สองสามตัว

คุณสามารถป้อนตัวแปรและโปรแกรมพื้นฐานด้วยแป้นพิมพ์ PS2 และผลลัพธ์จะแสดงบนจอภาพด้วยข้อความ 47 คอลัมน์ x 29 แถวของอักขระ 8x8 พิกเซล (ขาวดำ) ความละเอียดใกล้เคียงหรือดีกว่าพลเรือจัตวา 64 เท่ากับ 40 x 25 ตัวอักษร

คุณสามารถเห็นการทำงานจริงในวิดีโอด้านบน

จากนั้นโปรแกรมสามารถบันทึกลงใน Arduino EEPROM ได้ และคุณยังสามารถควบคุมพิน I/O ได้โดยตรงผ่านคำสั่งพื้นฐานเฉพาะ

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

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

ที่นี่คุณต้องการ Arduino เพียงสองตัว ไดโอดสองสามตัว ตัวต้านทานสองสามตัว และตัวเชื่อมต่อสำหรับแป้นพิมพ์ PS2 และจอภาพ ดังที่แสดงในภาพด้านบน

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

TinyBasic Plus และ MRETV ใช้งานได้กับ Arduino IDE ผู้สูงอายุและที่แตกต่างกัน

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

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

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

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

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

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

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

ที่นี่คุณสามารถทดสอบโปรแกรมบางโปรแกรมใน 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: อัปโหลดไลบรารี MRETV บน Arduino ตัวที่สองและรวมทุกอย่างเข้าด้วยกัน

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

จุดสำคัญของโครงการนี้คือความมีอยู่ของห้องสมุด MRETV ที่ยอดเยี่ยม มีคำแนะนำเฉพาะซึ่งอธิบายไว้ในรายละเอียด

ใช้ตัวต้านทานเพียงสองตัวและไดโอดสองตัวเพื่อสร้างวิดีโอแบบเต็มหน้าจอ โดยมีความละเอียดข้อความ 47 x 29 จาก 8x8 อักขระ ตามที่กล่าวไว้ในบทนำ "การสร้างวิดีโอเคยทำมาก่อน แต่ไม่ใช่แบบนี้ FULL DUPLEX serial ยังคงใช้งานได้ในขณะที่สร้างวิดีโอ" ซึ่งช่วยให้สามารถรับข้อมูลจาก Arduino "ต้นแบบ" และแสดงบนจอภาพได้ ในทางปฏิบัติ Arduino "ทาส" ตัวที่สองนี้ถูกใช้เป็นส่วนต่อประสานกราฟิก!

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

ดาวน์โหลดไลบรารี MRETV จากลิงค์นี้

คลายการบีบอัดและบันทึกโฟลเดอร์ "MRETV" ใน: arduino-1.6.6\libraries

ในที่สุด ดาวน์โหลด TVtext_slave.rar ที่ด้านล่างของหน้านี้ คลายการบีบอัดและอัปโหลดใน Arduino slave ของคุณ

หากไม่มีข้อความแสดงข้อผิดพลาด คุณสามารถเชื่อมต่อขั้วต่อ RCA ได้ คุณต้องการไดโอดสองตัวและตัวต้านทาน 1 kOhm และ 300 Ohm ดังที่แสดงในแผนผังในหน้านี้

ณ จุดนี้คุณสามารถเชื่อมต่อทุกอย่างเข้าด้วยกัน

รายการวัสดุทั้งหมดคือ:

  • Arduino Uno Rev. 3 สองตัวหรือ Arduino Nano 3.x สองตัว (ATmega328)
  • ตัวต้านทานสองตัว 1 kOhm
  • ตัวต้านทานหนึ่งตัว 300 โอห์ม
  • ไดโอดสองตัว 1n4148 (x2) หรือไดโอดสวิตชิ่งซิลิกอนที่คล้ายกัน
  • ปลั๊ก RCA สองตัว ตัวเมีย (ตัวเมียหนึ่งตัวสำหรับวิดีโอตัวเมียตัวเมียหนึ่งตัวสำหรับเสียง)
  • ขั้วต่อ PS2 ตัวเมีย
  • เขียงหั่นขนมและสายไฟ

Arduino หลักส่งข้อมูลไปยังรางรองด้วยสายเคเบิลสีส้ม เช่น พินหลัก 1 (Tx) ไปยังขารอง 2 (Rx) หากคุณต้องการอัปโหลดรหัสอีกครั้ง คุณควรถอดสายนี้ออกก่อน

เชื่อมต่อ Arduino ทาสกับแหล่งจ่ายไฟ 5V, สาย RCA กับทีวีและคีย์บอร์ดกับ PS2 และตอนนี้คุณควรเห็นรหัสไปยังทีวีของคุณ!

ฟังก์ชันของภาษาถิ่นพื้นฐานนี้มีรายละเอียดอยู่ในหน้าแรก (ดูลิงก์ในขั้นตอนที่ 2) ด้วยคำสั่ง "esave" และ "eload" คุณสามารถบันทึกโปรแกรมพื้นฐานหนึ่งโปรแกรมใน EEPROM ได้ โปรแกรมนี้รันโดยค่าเริ่มต้นทุกครั้งที่คุณรีเซ็ต Arduino หลัก หากต้องการลบคุณสามารถใช้คำสั่ง "eformat"

หนึ่งในคุณสมบัติที่สำคัญที่สุดของโปรแกรมนี้คือ คุณยังสามารถขับ Arduino I/O หลักด้วยคำสั่งพื้นฐานเฉพาะ เช่น

  • พิน DWRITE ค่า - ตั้งค่าพินด้วยค่า (สูง สูง ต่ำ ต่ำ)
  • พิน AWRITE ค่า - ตั้งค่าพินด้วยค่าแอนะล็อก (pwm) 0.2..255
  • DREAD(พิน) - รับค่าของพิน
  • AREAD(analogPin) - รับค่าของขาอนาล็อก

ดังนั้น คุณสามารถเขียนโปรแกรมใน Basic ที่ขับเคลื่อนฮาร์ดแวร์บางตัว บันทึกลงใน EEPROM แล้วรันโดยอัตโนมัติเพียงแค่รีเซ็ต Arduino

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

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

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

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

ฉันยังเพิ่มแถบที่เหลือตรงกลางด้วยแถบหนึ่งเชื่อมต่อกับ 5 V และอีกอันสำหรับ GND

สุดท้าย ในไฟล์.rar คุณจะพบมาสก์เพื่อแกะสลักกระดานทองแดง

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

โครงการนี้ไม่สามารถทำได้หากไม่มีไลบรารี MRETV ดังนั้น การยอมรับหลักของฉันจึงตกเป็นของผู้เขียน ซึ่งใช้ตัวย่อ Mr E.

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

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

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

สำหรับทุกคนที่สนใจในโครงการนี้: มันง่ายกว่าที่จะสร้างมันอาจดูเหมือนตั้งแต่แรกเห็น ปัญหาหลักของฉันคือความเข้ากันได้ของ Arduino IDE หากคุณมีปัญหาอย่าลังเลที่จะขอคำแนะนำในความคิดเห็น

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

แนะนำ: