สารบัญ:
- ขั้นตอนที่ 1: รายการวัสดุ
- ขั้นตอนที่ 2: อัปโหลดไลบรารีและ Sketch
- ขั้นตอนที่ 3: การเชื่อมต่อชิ้นส่วนต่างๆ: ขั้วต่อ VGA
- ขั้นตอนที่ 4: การเชื่อมต่อชิ้นส่วนต่างๆ: โพเทนชิโอมิเตอร์และปุ่ม
- ขั้นตอนที่ 5: บทสรุปและรับทราบ
วีดีโอ: ESP8266 VGA Pong: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างเกม Pong แบบคลาสสิกสำหรับจอภาพ VGA โดยใช้ ESP8266 และส่วนประกอบอื่นๆ บางส่วน
เกมนี้เป็นไปได้โดยห้องสมุด EspVGAx ที่เพิ่งเผยแพร่บน GitHub โดย Sandro Maffiodo (หรือที่รู้จักว่า Smaffer) และเท่าที่ฉันรู้ เกมนี้เป็นเกมแรกที่ใช้ประโยชน์จากมัน
ไลบรารีนี้ใช้ความละเอียด 512 x 480 พิกเซล ซึ่งจัดเก็บไว้ในเฟรมบัฟเฟอร์ภายใน RAM ซึ่งต้องการ 30720 ไบต์ ความละเอียดมีขนาดใหญ่มากเมื่อเปรียบเทียบกับ Arduino TVout หรือ VGAx (128 x 96 และ 120 x 60 พิกเซลตามลำดับ) ฉันหวังว่าเกมนี้จะเป็นแรงบันดาลใจให้โปรแกรมเมอร์คนอื่นๆ พัฒนาหรือสร้างเกมที่ซับซ้อนมากขึ้น
ขั้นตอนที่ 1: รายการวัสดุ
ไลบรารี EspVGAx ต้องการ ESP8266 ที่เปิดเผย GPIO ทั้งหมด เช่น ESP-12E, บอร์ด NodeMCU-12E หรือบอร์ดใดๆ ที่แสดง GPIO5 (D1), GPIO4 (D2) และ GPIO13 (D7)
โดยเฉพาะอย่างยิ่งฉันใช้:
- ESP8266 NodeMCU-12E (ลิงค์ที่นี่)
- ขั้วต่อ DSUB15 (เช่น ขั้วต่อ VGA ตัวเมีย)
- ตัวต้านทาน 330 โอห์ม
- ตัวต้านทานอื่น (ประมาณ 1 ถึง 3 kOhm)
- โพเทนชิโอมิเตอร์ 10 kOhm สองตัว
- ปุ่มกด (n.o.)
- ไดโอดสองตัว (เช่น 1N4007s)
- เขียงหั่นขนม
- สายไฟ
ฉันได้รับตัวเชื่อมต่อ DSUB15 จากบอร์ดพีซี VGA รุ่นเก่า หรือคุณสามารถตัดสาย VGA เก่าแล้วต่อสายไฟเข้ากับเขียงหั่นขนมได้โดยตรง
ขั้นตอนที่ 2: อัปโหลดไลบรารีและ Sketch
มีวิธีการต่าง ๆ ในการเขียนโปรแกรมและ ESP8266; ฉันใช้ Arduino IDE เพื่อเขียนโป่งและอัปโหลดโค้ด
โปรดทราบว่าไลบรารี EspVGAx ใช้งานได้กับ Arduino IDE 1.8.1 หากคุณมีเวอร์ชันอื่น วิธีที่ดีที่สุดคือการดาวน์โหลดไฟล์.zip และคลายการบีบอัดในโฟลเดอร์เฉพาะ เวอร์ชัน Windows อยู่ที่นี่ เวอร์ชันสำหรับระบบปฏิบัติการอื่นอยู่ที่นี่
หลังจากนั้น คุณควรดาวน์โหลดไลบรารี EspVGAx จากหน้า GithHub ที่นี่ (ลิงก์โดยตรงสำหรับเวอร์ชัน zip ที่นี่) และคลายการบีบอัดในไลบรารีโฟลเดอร์ในซอฟต์แวร์ Arduino
หมายเหตุ มีข้อบกพร่องเล็กน้อยในไฟล์ espvgax_draw.h หากต้องการแก้ไขให้แทนที่บรรทัดที่ 17:
ในขณะที่ (x0%32) { กับ while (x0%32 && sw > 32) {
สุดท้าย คุณสามารถดาวน์โหลด ESP8266_Pong.rar ได้เมื่อสิ้นสุดขั้นตอนนี้
เมื่อคลายซิปแล้ว ในการอัปโหลดบน ESP8266 คุณต้องกำหนดค่า Arduino IDE
หากคุณไม่เคยทำมาก่อน คุณสามารถค้นหาคำแนะนำที่จำเป็นทั้งหมดได้ใน Instructables นี้ โดยเฉพาะในขั้นตอนที่ 2
เมื่อกำหนดค่าทุกอย่างแล้ว การตั้งค่า ESP8266 ควรมีลักษณะเหมือนที่แสดงในภาพด้านบน
หากคุณสามารถอัปโหลดโค้ดได้โดยไม่มีข้อผิดพลาด คุณสามารถเริ่มประกอบชิ้นส่วนได้
ขั้นตอนที่ 3: การเชื่อมต่อชิ้นส่วนต่างๆ: ขั้วต่อ VGA
ฉันแนะนำให้เชื่อมต่อพอร์ต VGA ก่อนดังแสดงในภาพด้านบน โปรดทราบว่าเมื่อเชื่อมต่อหมุดสามตัวสีแดง สีเขียว และสีน้ำเงินเข้าด้วยกัน (เช่น หมุด 1, 2 และ 3 บนตัวเชื่อมต่อ DSUB15) คุณจะมีภาพขาวดำบนหน้าจอของคุณ คุณสามารถผสมสีต่างๆ ได้ ดูรายละเอียดในหน้า Library GitHub
นอกจากนี้ คุณควรเชื่อมต่อตัวต้านทาน 330 Ohm ระหว่างพิน RGB และ D7 (GPIO13) บน ESP8266 สิ่งนี้ทำให้ฉันมีภาพสีเทาเล็กน้อยบนจอภาพ ดังนั้น หลังจากพยายามไม่กี่ครั้ง ฉันจึงตัดสินใจกำจัดมันทิ้งเลย
ณ จุดนี้ หากทุกอย่างทำงานอย่างถูกต้อง คุณสามารถเชื่อมต่อจอภาพแล้วดูหน้าจอเริ่มต้นของเกมได้ด้วยแบนเนอร์ "ESP8266 VGAx Pong"
ขั้นตอนที่ 4: การเชื่อมต่อชิ้นส่วนต่างๆ: โพเทนชิโอมิเตอร์และปุ่ม
ต้องเชื่อมต่อปุ่มระหว่าง 3.3V และพิน D0 (GPIO16) เชื่อมต่อตัวต้านทาน 1 ถึง 3 kOhm จาก D0 กับกราวด์ เพื่อหลีกเลี่ยงไม่ให้ D0 อยู่ในสถานะที่ไม่ได้กำหนดไว้เมื่อเปิดปุ่ม
การเชื่อมต่อของโพเทนชิโอมิเตอร์สองตัวนั้นไม่สำคัญ เนื่องจาก ESP8266 มีเพียงพอร์ตอินพุตอนาล็อก A0 (ADC0)! เคล็ดลับคือเชื่อมต่อเอาต์พุต pot.s ทั้งสองเข้ากับพอร์ตเดียวกันและ 'multiplex' มัลติเพล็กซ์หมายความว่าคุณจะเปิดโพเทนชิออมิเตอร์ อ่าน จากนั้นปิดและย้ายไปที่โพเทนชิออมิเตอร์ที่สอง
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการนี้ คุณสามารถอ่านคำแนะนำนี้ได้
เชื่อมต่อโพเทนชิออมิเตอร์สุดขั้วหนึ่งตัวกับ GND อีกขั้วหนึ่งกับ D5 สำหรับโพเทนชิออมิเตอร์ของผู้เล่นด้านซ้าย และ D6 สำหรับเครื่องเล่นที่ถูกต้อง
พินกลางของโพเทนชิออมิเตอร์แต่ละตัวต้องเชื่อมต่อกับไดโอดแต่ละตัวและด้านอื่น ๆ ของไดโอดจะต้องเชื่อมต่อกับ A0 (ADC0) โดยมีขั้วที่แสดงในภาพด้านบน
ขั้นตอนที่ 5: บทสรุปและรับทราบ
ฉันรู้สึกขอบคุณ Sandro Maffiodo - SMAFFER - สำหรับห้องสมุด ESPVGAX เกมนี้เป็นไปไม่ได้หากไม่มีมัน
ฉันหวังว่าคำแนะนำนี้จะเป็นแรงบันดาลใจให้กับโปรแกรมเมอร์คนอื่น ๆ ในการสร้างเกมอาร์เคดคลาสสิกที่ซับซ้อนมากขึ้นด้วย ESP8266 ซึ่งมีข้อ จำกัด น้อยกว่า Arduino มาก
สุดท้าย ฉันเขียนคำแนะนำนี้เพื่อส่งไปยังการประกวดของเล่น: หากคุณชอบหรือทำซ้ำ โปรดสละเวลาสักครู่เพื่อโหวต!
แนะนำ:
VGA / GPU ภายนอกสำหรับแล็ปท็อปที่ใช้ EXP GDC Beast: 15 ขั้นตอน (พร้อมรูปภาพ)
VGA / GPU ภายนอกสำหรับแล็ปท็อปโดยใช้ EXP GDC Beast: สวัสดีทุกคน .. นี่เป็นบทช่วยสอนแรกของฉันเกี่ยวกับคำแนะนำ ภาษาอังกฤษไม่ใช่ภาษาแรกของฉัน ดังนั้นโปรดยกโทษให้ข้อผิดพลาดทางไวยากรณ์ของฉัน ฉันทำสิ่งนี้ตามประสบการณ์ในการอัพเกรดแล็ปท็อปของฉัน และฉันจะไม่ทำให้คุณเบื่อด้วยการแนะนำตัวนาน ๆ เนื่องจากฉันไม่รู้
สร้างเกม 1D Pong ของคุณเอง: 5 ขั้นตอน (พร้อมรูปภาพ)
สร้างเกม 1D Pong ของคุณเอง: สำหรับโปรเจ็กต์นี้ ฉันจะแสดงให้คุณเห็นว่าฉันรวมบอร์ด MDF เข้ากับปุ่ม Buzzer, ไฟ LED และ Arduino Nano เพื่อสร้างเกม 1D Pong ที่เล่นสนุกได้อย่างไร ระหว่างทางผมจะแสดงให้คุณเห็นถึงวิธีการสร้างวงจรอิเล็กทรอนิกส์และความแตกต่าง
ESP32 VGA เกมอาเขตและจอยสติ๊ก: 6 ขั้นตอน (พร้อมรูปภาพ)
เกมอาเขตและจอยสติ๊ก ESP32 VGA: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างเกมอาร์เคดสี่เกมเช่น Tetris - Snake - Breakout - Bomber - โดยใช้ ESP32 พร้อมเอาต์พุตสำหรับจอภาพ VGA ความละเอียด 320 x 200 พิกเซล 8 สี ฉันเคยทำเวอร์ชันที่มี
Arduino Basic PC พร้อมเอาต์พุต VGA: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Basic PC พร้อมเอาต์พุต VGA: ในคำแนะนำก่อนหน้าของฉัน ฉันได้แสดงวิธีสร้างคอมพิวเตอร์ 8 บิตย้อนยุคที่ใช้ BASIC โดยใช้ Arduino สองตัวและมีสัญญาณเอาต์พุตเป็นขาวดำสำหรับหน้าจอทีวี ตอนนี้ผมจะแสดงวิธีการสร้างคอมพิวเตอร์เครื่องเดียวกัน แต่ด้วยสัญญาณเอาท์พุตใน
Pong on the Arduino โดย Pierson และ Jace: 5 ขั้นตอน (พร้อมรูปภาพ)
Pong บน Arduino โดย Pierson และ Jace: นี่คือคำแนะนำเกี่ยวกับวิธีการเล่น Pong บน Arduino มันถูกบอกในห้าขั้นตอนง่ายๆ เราหวังว่าคุณจะสนุกกับเกมของเรา