สารบัญ:

ESP32 Basic PC พร้อมเอาต์พุต VGA: 7 ขั้นตอน
ESP32 Basic PC พร้อมเอาต์พุต VGA: 7 ขั้นตอน

วีดีโอ: ESP32 Basic PC พร้อมเอาต์พุต VGA: 7 ขั้นตอน

วีดีโอ: ESP32 Basic PC พร้อมเอาต์พุต VGA: 7 ขั้นตอน
วีดีโอ: How to connect HDMI PC to a VGA Monitor using 1080P HDMI to VGA Converter 2024, กรกฎาคม
Anonim
Image
Image
บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA
บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA

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

พีซีเครื่องนี้ใช้งาน Tiny Basic ซึ่งเป็นภาษาถิ่นที่เรียบง่ายของ BASIC และสร้างเอาต์พุตสำหรับจอภาพ VGA

ความละเอียดคือ 640x350 พิกเซล อนุญาตให้ใช้อักขระ asci 80x25 ใน 8 สี แป้นพิมพ์ PS2 สามารถเชื่อมต่อและใช้เขียนโค้ดได้ ทำให้มีหน่วยความจำสูงสุด 14059 ไบต์

สามารถขับเคลื่อนหมุด ESP32 I/O ได้โดยตรงด้วยคำสั่งพื้นฐานเฉพาะ

โครงการนี้เกิดขึ้นได้ด้วยไลบรารี ESP32 VGA ที่ยอดเยี่ยมซึ่งเขียนโดย Fabrizio Di Vittorio ดูที่นี่สำหรับรายละเอียดเพิ่มเติม

ขั้นตอนที่ 1: บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA

บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA
บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA
บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA
บอร์ด ESP32, การติดตั้ง Arduino IDE และการกำหนดค่าไลบรารี VGA

ก่อนอื่นคุณต้องซื้อ ESP32 รุ่นแก้ไข 1 หรือสูงกว่า มีหลายเวอร์ชั่นให้เลือก แต่ผมแนะนำให้เลือกรุ่นที่มีพินหลายอัน ฉันกำลังใช้เวอร์ชันนี้อยู่ แต่ฉันคิดว่าหลายๆ ตัวก็ใช้ได้ดีเช่นกัน ตัวอย่างเช่น ในคำอธิบายของวิดีโอนี้ คุณจะพบโมเดลอื่นๆ อีกสามรุ่นซึ่งมีราคาต่ำกว่า 5 เหรียญ

เมื่อคุณได้บอร์ดแล้ว คุณต้องดำเนินการตามขั้นตอนย่อยสามขั้นตอนต่อไปนี้:

  1. ติดตั้ง Arduino IDE. ตัวสุดท้าย
  2. กำหนดค่า ESP32 ใน IDE และ
  3. ติดตั้งไลบรารี VGA

ขั้นตอนย่อย 1

มีวิธีการต่างๆ ในการเขียนโปรแกรม ESP32 แต่ที่นี่คุณต้องใช้ Arduino IDE ล่าสุด (ฉันใช้เวอร์ชัน 1.8.9) ในการติดตั้ง คุณสามารถไปที่หน้า Arduino IDE และทำตามคำแนะนำ

ขั้นตอนย่อยที่ 2

เมื่อการดำเนินการก่อนหน้านี้เสร็จสิ้น คุณต้องกำหนดค่า ESP32 ของคุณภายใน Arduino IDE นี่ไม่ใช่เรื่องเล็กน้อยเนื่องจาก ESP32 ยังไม่มี (ยัง?) อยู่ในนั้น คุณสามารถทำตามบทช่วยสอนนี้หรือขั้นตอนต่อไปนี้

1) เปิด Arduino IDE

2) เปิดหน้าต่างการตั้งค่า ไฟล์/การตั้งค่า หรือกด "Ctrl+comma"

3) ไปที่ "URL ผู้จัดการบอร์ดเพิ่มเติม" คัดลอกและวางข้อความต่อไปนี้:

https://dl.espressif.com/dl/package_esp32_index.json

และคลิกปุ่มตกลง

4) เปิดผู้จัดการบอร์ด ไปที่ Tools/Board/Boards Manager…

5) ค้นหา ESP32 และกดปุ่มติดตั้งสำหรับ "ESP32 by Espressif Systems":

6) ณ จุดนี้ เมื่อคุณเชื่อมต่อเป็นครั้งแรกกับ ESP32 คุณควรเลือกรุ่นที่เหมาะสมในรายการบอร์ด ESP32 ที่มีอยู่จำนวนมาก (ดูภาพในขั้นตอนนี้) ในกรณีที่มีข้อสงสัยเกี่ยวกับรูปแบบ ให้เลือกแบบทั่วไป นั่นคือ แบบแรก มันใช้งานได้สำหรับฉัน

7) ระบบควรเลือกพอร์ต USB ที่เหมาะสมและความเร็วในการอัพโหลด (ปกติ 921600) ณ จุดนี้ การเชื่อมต่อระหว่างพีซีของคุณกับบอร์ด ESP32 ควรจะถูกสร้างขึ้น

ขั้นตอนย่อย 3

สุดท้ายคุณต้องติดตั้งไลบรารี FabGL VGA [อัปเดตกรกฎาคม 2019] คุณต้องการและเวอร์ชันเก่าของ libray นี้: คุณสามารถดาวน์โหลดไฟล์ zip src.old.zip ที่ด้านล่างของขั้นตอนนี้ คลายการบีบอัดและเปลี่ยนชื่อโฟลเดอร์เป็น "src" ใน

โฟลเดอร์ " …\arduino-1.8.9\libraries"

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

ขั้นตอนที่ 2: การอัปโหลด Tiny Basic Code ไปยัง ESP32

การอัพโหลด Tiny Basic Code ไปยัง ESP32
การอัพโหลด Tiny Basic Code ไปยัง ESP32
การอัพโหลด Tiny Basic Code ไปยัง ESP32
การอัพโหลด Tiny Basic Code ไปยัง ESP32

ดาวน์โหลด ESP32_TinyBasicPlus_PS2_FabLab_beta.ino ที่ด้านล่างของขั้นตอนนี้

เปิดด้วย Arduino IDE และอัปโหลดไปยัง ESP32 ดิบของคุณ

หากคุณไม่มีข้อความแสดงข้อผิดพลาด แสดงว่ารหัสควรจะทำงานอยู่แล้ว

ขั้นตอนหลัก: หากคุณต้องการทดสอบ TinyBasic ก่อนเชื่อมต่อแป้นพิมพ์ VGA และ PS2 คุณสามารถทำได้ด้วยไคลเอ็นต์ SSH และ telnet ฉันใช้ PuTTY

คุณสามารถดูลักษณะที่ปรากฏในภาพในขั้นตอนนี้

ขั้นตอนที่ 3: เชื่อมต่อพอร์ต VGA

การเชื่อมต่อพอร์ต VGA
การเชื่อมต่อพอร์ต VGA

คุณต้องการชิ้นส่วนต่อไปนี้:

  • ขั้วต่อ DSUB15 เช่น ขั้วต่อ VGA ตัวเมีย หรือสาย VGA ที่จะตัด
  • ตัวต้านทาน 270 โอห์มสามตัว

เชื่อมต่อ ESP32 GPIO pin 2, 15 และ 21 กับ VGA Red, Green และ Blue ตามลำดับ ผ่านตัวต้านทาน 270 Ohm

เชื่อมต่อ VGA Hsync และ Vsync กับ ESP32 GPIO พิน 17 และ 4 ตามลำดับ

เชื่อมต่อพินตัวเชื่อมต่อ DSUB15 5, 6, 7, 8 และ 10 เข้ากับ ESP32 GND

สำหรับความละเอียดของพินตัวเชื่อมต่อ VGA DSUB15 โปรดดูรูปภาพในขั้นตอนนี้ NB นี่คือด้านบัดกรีของขั้วต่อตัวเมีย

ขั้นตอนที่ 4: เชื่อมต่อพอร์ต PS2

การเชื่อมต่อพอร์ต PS2
การเชื่อมต่อพอร์ต PS2

คุณต้องมีขั้วต่อคีย์บอร์ด PS2 ตัวเมีย

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

การเชื่อมต่อคือ:

  • ข้อมูลแป้นพิมพ์ไปยังขา ESP32 GPIO 32
  • แป้นพิมพ์ IRQ (นาฬิกา) ถึง ESP32 GPIO พิน 33
  • คุณต้องเชื่อมต่อพิน 5V และ GND ด้วย

ขั้นตอนที่ 5: การเขียนโปรแกรมด้วย Tiny Basic

การเขียนโปรแกรมด้วย Tiny Basic
การเขียนโปรแกรมด้วย Tiny Basic
การเขียนโปรแกรมด้วย Tiny Basic
การเขียนโปรแกรมด้วย Tiny Basic

ณ จุดนี้ หากคุณสามารถเชื่อมต่อจอภาพ VGA และแป้นพิมพ์ PS2 และ ESP32 กับแหล่งจ่ายไฟ

รูปภาพที่แสดงที่นี่ควรปรากฏบนจอภาพ ตอนนี้คุณสามารถเล่นเล็กน้อยด้วยคำสั่ง Tiny Basic

ลองยกตัวอย่างเช่น Hello, Word! วนไม่มีสิ้นสุด:

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

20 ไปถึง 10

วิ่ง

คุณสามารถเปลี่ยนสีได้สี่สีโดยกดปุ่ม esc และหยุดการวนซ้ำด้วย ctrl+c

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

ตอนนี้คุณสามารถลองสิ่งที่ซับซ้อนมากขึ้น เช่น ขับไฟ LED ที่กะพริบด้วยโปรแกรมพื้นฐาน เชื่อมต่อ ตัวอย่างเช่น LED anode (ขายาว) กับ ESP32 GPIO pin 13 และขั้วลบกับ GND

จากนั้นเขียน:

ใหม่

10 i=1000

20 พิมพ์ i

30 ล่าช้า i

40 dwrite 13 สูง

50 ล่าช้า i

60 dwrite 13 ต่ำ

70 i=i*9/10

80 ถ้า i>0 ไปถึง 20

90 จบ

วิ่ง

คุณสามารถเห็นผลในวิดีโอที่ฝังอยู่ในคำแนะนำนี้

ขั้นตอนที่ 6: การเชื่อมต่อการ์ดหน่วยความจำ SD

การเชื่อมต่อการ์ดหน่วยความจำ SD
การเชื่อมต่อการ์ดหน่วยความจำ SD
การเชื่อมต่อการ์ดหน่วยความจำ SD
การเชื่อมต่อการ์ดหน่วยความจำ SD

พีซีโบราณ ไม่สำคัญว่าจะเล็กน้อยและอ่อนแอเพียงใด ไม่สมบูรณ์หากคุณไม่สามารถจัดเก็บโปรแกรมของคุณอย่างถาวร

ในขั้นตอนนี้ฉันจะแสดงวิธีเชื่อมต่อการ์ดหน่วยความจำ SD แต่น่าเสียดายที่ในขณะนี้ (ฉันหวังว่าเพียงชั่วครู่เท่านั้น) การจัดเก็บโปรแกรมไม่ทำงาน!

BTW ฉันใช้อะแดปเตอร์การ์ด microSD เป็น SD และบัดกรีหมุดรูปตัว L 8 อันตามที่แสดงในรูปภาพในขั้นตอนนี้

จากนั้นฉันเชื่อมต่อหมุดอะแดปเตอร์ SD กับ ESP32 ตามภาพที่สองนั่นคือ ฉันเชื่อมต่อหมุด ESP32 GPIO 5, 18, 19, 23 กับ SC, นาฬิกา, MISO, MOSO ตามลำดับ บวก 3.3V และ GND สองตัว

ฉันยังทำตามคำแนะนำและตัวอย่างที่นี่ และด้วยรหัสตัวอย่าง SD_test.ino ฉันสามารถเขียนลงในการ์ด microSD ขนาด 2 GBytes ได้

ดังนั้นหากใครพบวิธีแก้ปัญหาโปรดแจ้งให้ฉันทราบโดยเร็วไปที่อีเมลของฉัน [email protected] และฉันจะทำตามคำแนะนำนี้

ขั้นตอนที่ 7: การรับทราบ

รับทราบ
รับทราบ

ฉันต้องการแสดงรถถังของฉันไปยัง Fabrizio Di Vittorio สำหรับห้องสมุด ESP32 VGA ที่ยอดเยี่ยมของเขา สำหรับรายละเอียดเพิ่มเติม ตัวอย่าง และ… Space Invaders เยี่ยมชมเว็บไซต์ของเขาที่นี่

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

  • ไมค์ ฟิลด์
  • สกอตต์ ลอว์เรนซ์
  • Brian O'Dell

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

แนะนำ: