![คอนโซลเกมมือถือ ESP32: 21 ขั้นตอน (พร้อมรูปภาพ) คอนโซลเกมมือถือ ESP32: 21 ขั้นตอน (พร้อมรูปภาพ)](https://i.howwhatproduce.com/images/002/image-5588-j.webp)
สารบัญ:
- ขั้นตอนที่ 1: การเตรียมฮาร์ดแวร์
- ขั้นตอนที่ 2: การเตรียมซอฟต์แวร์
- ขั้นตอนที่ 3: การพิมพ์ 3 มิติ
- ขั้นตอนที่ 4: รองรับ LCD
- ขั้นตอนที่ 5: เตรียมแผ่น PETG
- ขั้นตอนที่ 6: แก้ไข ESP32 Dev Board
- ขั้นตอนที่ 7: แก้ไข Lipo Battery
- ขั้นตอนที่ 8: เชื่อมต่อแบตเตอรี่และบอร์ด Dev
- ขั้นตอนที่ 9: เตรียม Display Pins
- ขั้นตอนที่ 10: เชื่อมต่อ GND Pins
- ขั้นตอนที่ 11: เชื่อมต่อ Vcc Pins
- ขั้นตอนที่ 12: เชื่อมต่อ LCD & Dev Board Support
- ขั้นตอนที่ 13: เชื่อมต่อ SPI Pins
- ขั้นตอนที่ 14: โปรแกรมแฟลช
- ขั้นตอนที่ 15: ตัวเชื่อมต่อ I2C
- ขั้นตอนที่ 16: การประกอบ ตอนที่ 1
- ขั้นตอนที่ 17: ต้นแบบเกมแพด I2C
- ขั้นตอนที่ 18: สร้าง I2C Gamepad
- ขั้นตอนที่ 19: การประกอบ ตอนที่ 2
- ขั้นตอนที่ 20: ตัวเลือก: Audio Breakout Pins
- ขั้นตอนที่ 21: อะไรต่อไป
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-2-j.webp)
![](https://i.ytimg.com/vi/VabwqIvGB6I/hqdefault.jpg)
![การเตรียมฮาร์ดแวร์ การเตรียมฮาร์ดแวร์](https://i.howwhatproduce.com/images/002/image-5588-3-j.webp)
คำแนะนำนี้แสดงวิธีใช้ ESP32 และ ATtiny861 เพื่อสร้างคอนโซลเกมจำลอง NES
ขั้นตอนที่ 1: การเตรียมฮาร์ดแวร์
![การเตรียมฮาร์ดแวร์ การเตรียมฮาร์ดแวร์](https://i.howwhatproduce.com/images/002/image-5588-4-j.webp)
![การเตรียมฮาร์ดแวร์ การเตรียมฮาร์ดแวร์](https://i.howwhatproduce.com/images/002/image-5588-5-j.webp)
บอร์ดพัฒนา ESP32
คราวนี้ฉันใช้บอร์ด dev TTGO T8 ESP32 บอร์ดนี้มีวงจรชาร์จและควบคุม Lipo ในตัวซึ่งสามารถช่วยลดส่วนประกอบพิเศษได้
แสดง
ครั้งนี้ฉันใช้จอ IPS LCD ขนาด 2.4 นิ้ว ตัวควบคุมไดรเวอร์คือ ST7789V และความละเอียด 320 x 240 ความละเอียดนี้เหมาะสมที่สุดสำหรับโปรแกรมจำลอง NES ที่มีความละเอียด 252 x 224
แบตเตอรี่
คราวนี้ผมใช้แบตลิโพ 454261 4.5 มม. คือความหนาของบอร์ด ESP32 dev และ 61 มม. คือความกว้างของบอร์ด
ส่วนหัวของพิน
ส่วนหัวพินพินตัวผู้ 4 พินและส่วนหัวพินพินตัวเมีย 4 พินสำหรับเชื่อมต่อเกมแพด I2C
แผ่น PETG
แผ่น PET/PETG ขนาดเล็กสำหรับรองรับบอร์ด dev และแบตเตอรี่ Lipo สามารถพบได้ง่ายในบรรจุภัณฑ์ของผลิตภัณฑ์
PCB อเนกประสงค์
ต้องใช้ 2 PCB, หนา 1 0.4 มม. เพื่อรองรับจอแสดงผล, หนา 1 1.2 มม. สำหรับเกมแพด I2C
ปุ่ม
ปุ่ม A 5 ทิศทาง ปุ่มเล็ก 2 ปุ่มสำหรับเลือกและเริ่มต้น และ 2 ปุ่มสำหรับปุ่ม A และ B
I2C Gamepad Controller
ครั้งนี้ฉันใช้ไมโครคอนโทรลเลอร์ ATtiny861 เป็นตัวควบคุมเกมแพด I2C
คนอื่น
ตัวต้านทาน SMD 12 โอห์ม 1 ตัว โปรแกรมเมอร์ ISP (เช่น TinyISP)
ขั้นตอนที่ 2: การเตรียมซอฟต์แวร์
![การเตรียมซอฟต์แวร์ การเตรียมซอฟต์แวร์](https://i.howwhatproduce.com/images/002/image-5588-6-j.webp)
![การเตรียมซอฟต์แวร์ การเตรียมซอฟต์แวร์](https://i.howwhatproduce.com/images/002/image-5588-7-j.webp)
![การเตรียมซอฟต์แวร์ การเตรียมซอฟต์แวร์](https://i.howwhatproduce.com/images/002/image-5588-8-j.webp)
Arduino IDE
ดาวน์โหลดและติดตั้ง Arduino IDE หากยังไม่มี:
การสนับสนุน ATTinyCore
ทำตามขั้นตอนการติดตั้งเพื่อเพิ่มการสนับสนุน ATTinyCore หากยังไม่ได้:
ESP-IDF
ทำตามคู่มือเริ่มต้นใช้งาน ESP-IDF เพื่อตั้งค่าสภาพแวดล้อมการพัฒนาหากยังไม่ได้ทำ:
ขั้นตอนที่ 3: การพิมพ์ 3 มิติ
![การพิมพ์ 3 มิติ การพิมพ์ 3 มิติ](https://i.howwhatproduce.com/images/002/image-5588-9-j.webp)
ดาวน์โหลดและพิมพ์เคส:
ขั้นตอนที่ 4: รองรับ LCD
![รองรับ LCD รองรับ LCD](https://i.howwhatproduce.com/images/002/image-5588-10-j.webp)
![รองรับ LCD รองรับ LCD](https://i.howwhatproduce.com/images/002/image-5588-11-j.webp)
ตัด PCB ขนาด 24 x 27 รู 0.4 มม. เพื่อรองรับ LCD อย่าลืมสำรองพื้นที่สำหรับพับ LCD FPC จากนั้นใช้เทปกาวสองหน้าติด LCD บน PCB
ขั้นตอนที่ 5: เตรียมแผ่น PETG
![เตรียมแผ่น PETG เตรียมแผ่น PETG](https://i.howwhatproduce.com/images/002/image-5588-12-j.webp)
![เตรียมแผ่น PETG เตรียมแผ่น PETG](https://i.howwhatproduce.com/images/002/image-5588-13-j.webp)
ตัดแผ่น PETG ขนาด 62 มม. x 69 มม. สำหรับบอร์ด dev และรองรับแบตเตอรี่ Lipo
ขั้นตอนที่ 6: แก้ไข ESP32 Dev Board
![แก้ไข ESP32 Dev Board แก้ไข ESP32 Dev Board](https://i.howwhatproduce.com/images/002/image-5588-14-j.webp)
ใช้เทปกาวสองหน้าเพื่อยึดบอร์ด dev บนเพลต PETG
ขั้นตอนที่ 7: แก้ไข Lipo Battery
![แก้ไข Lipo Battery แก้ไข Lipo Battery](https://i.howwhatproduce.com/images/002/image-5588-15-j.webp)
ใช้เทปกาวสองหน้าเพื่อยึดแบตเตอรี่ Lipo นอกเหนือจากบอร์ด dev
ขั้นตอนที่ 8: เชื่อมต่อแบตเตอรี่และบอร์ด Dev
![เชื่อมต่อแบตเตอรี่และบอร์ด Dev เชื่อมต่อแบตเตอรี่และบอร์ด Dev](https://i.howwhatproduce.com/images/002/image-5588-16-j.webp)
ขั้นตอนที่ 9: เตรียม Display Pins
![เตรียม Display Pins เตรียม Display Pins](https://i.howwhatproduce.com/images/002/image-5588-17-j.webp)
จอ LCD มีหลายรูปแบบจากผู้ขายที่แตกต่างกัน โปรดรับเอกสารข้อมูลที่ถูกต้องและอ่านก่อนแพทช์และการเชื่อมต่อใดๆ
หมุดบางตัวสงวนไว้สำหรับแผงสัมผัส เนื่องจาก LCD นี้ไม่มีแผงสัมผัส เพียงแค่ตัดหมุดเหล่านั้นออกก็สามารถลดการรบกวนได้
ขั้นตอนที่ 10: เชื่อมต่อ GND Pins
![เชื่อมต่อพิน GND เชื่อมต่อพิน GND](https://i.howwhatproduce.com/images/002/image-5588-18-j.webp)
![เชื่อมต่อพิน GND เชื่อมต่อพิน GND](https://i.howwhatproduce.com/images/002/image-5588-19-j.webp)
ในกรณีส่วนใหญ่ มีพินไม่กี่ตัวที่ต้องเชื่อมต่อกับ GND เพื่อลดความพยายามในการบัดกรี ฉันตัดรูปร่างเทปทองแดงเพื่อให้ไปถึงหมุด GND ทั้งหมดแล้วจึงบัดกรีทั้งหมด
ขั้นตอนที่ 11: เชื่อมต่อ Vcc Pins
![เชื่อมต่อพิน Vcc เชื่อมต่อพิน Vcc](https://i.howwhatproduce.com/images/002/image-5588-20-j.webp)
ต้องใช้ 2 พินเพื่อเชื่อมต่อกับ Vcc, LCD และ LED ตามเอกสารข้อมูล พลังงาน LCD สามารถเชื่อมต่อกับบอร์ด dev พิน 3.3 V ได้โดยตรง แต่พลังงาน LED ทำงานต่ำกว่า 3.3 V เล็กน้อย ดังนั้นจึงควรเพิ่มตัวต้านทาน SMD ตรงกลาง เช่น ตัวต้านทาน 12 โอห์ม
ขั้นตอนที่ 12: เชื่อมต่อ LCD & Dev Board Support
![เชื่อมต่อ LCD และการสนับสนุนบอร์ด Dev เชื่อมต่อ LCD และการสนับสนุนบอร์ด Dev](https://i.howwhatproduce.com/images/002/image-5588-21-j.webp)
ใช้เทปเชื่อมต่อรองรับ LCD และรองรับบอร์ด dev ร่วมกัน ส่วนรองรับทั้งสองควรสำรองช่องว่างประมาณ 5 มม. สำหรับการพับ
ขั้นตอนที่ 13: เชื่อมต่อ SPI Pins
![เชื่อมต่อ SPI Pins เชื่อมต่อ SPI Pins](https://i.howwhatproduce.com/images/002/image-5588-22-j.webp)
นี่คือบทสรุปการเชื่อมต่อ:
จอแอลซีดี ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> ไม่ได้เชื่อมต่อ Vcc -> 3.3 V LED+ -> ตัวต้านทาน 12 โอห์ม -> 3.3 V LED - -> GND
ขั้นตอนที่ 14: โปรแกรมแฟลช
![โปรแกรมแฟลช โปรแกรมแฟลช](https://i.howwhatproduce.com/images/002/image-5588-23-j.webp)
![โปรแกรมแฟลช โปรแกรมแฟลช](https://i.howwhatproduce.com/images/002/image-5588-24-j.webp)
![โปรแกรมแฟลช โปรแกรมแฟลช](https://i.howwhatproduce.com/images/002/image-5588-25-j.webp)
![โปรแกรมแฟลช โปรแกรมแฟลช](https://i.howwhatproduce.com/images/002/image-5588-26-j.webp)
- ดาวน์โหลดซอร์สโค้ดได้ที่ GitHub:
- ภายใต้โฟลเดอร์ซอร์สโค้ดให้เรียกใช้ "make menuconfig"
- เลือก "การกำหนดค่าเฉพาะ Nofrendo ESP32"
- เลือก "ฮาร์ดแวร์ที่จะทำงาน" -> "ฮาร์ดแวร์ที่กำหนดเอง"
- เลือก "ประเภท LCD" -> "ST7789V LCD"
- การตั้งค่าพินเติม: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, แสงพื้นหลัง -> -1, IPS -> Y
- ออกและบันทึก
- เรียกใช้ "make -j5 แฟลช"
- เรียกใช้ "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
ขั้นตอนที่ 15: ตัวเชื่อมต่อ I2C
![ขั้วต่อ I2C ขั้วต่อ I2C](https://i.howwhatproduce.com/images/002/image-5588-27-j.webp)
![ขั้วต่อ I2C ขั้วต่อ I2C](https://i.howwhatproduce.com/images/002/image-5588-28-j.webp)
![ขั้วต่อ I2C ขั้วต่อ I2C](https://i.howwhatproduce.com/images/002/image-5588-29-j.webp)
ฝ่าวงล้อมพิน I2C พิน I2C เริ่มต้นของ ESP32 คือ:
พิน 1 (SCL) -> GPIO 22
ขา 2 (SDA) -> GPIO 21 ขา 3 (Vcc) -> 3.3 V (ไม่มีไฟ 5 V ขณะขับเคลื่อนด้วยแบตเตอรี่ Lipo) ขา 4 (GND) -> GND
ขั้นตอนที่ 16: การประกอบ ตอนที่ 1
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-31-j.webp)
![](https://i.ytimg.com/vi/8VfJcM7wYEQ/hqdefault.jpg)
ทำตามขั้นตอนวิดีโอเพื่อพับและบีบทุกส่วนลงในเคส
ขั้นตอนที่ 17: ต้นแบบเกมแพด I2C
![เกมแพดต้นแบบ I2C เกมแพดต้นแบบ I2C](https://i.howwhatproduce.com/images/002/image-5588-32-j.webp)
![เกมแพดต้นแบบ I2C เกมแพดต้นแบบ I2C](https://i.howwhatproduce.com/images/002/image-5588-33-j.webp)
โปรแกรมสำหรับ I2C Gamepad นั้นง่ายมาก เพียง 15 บรรทัดของรหัส แต่มันค่อนข้างยากเล็กน้อยที่จะตั้งโปรแกรม ATtiny861 ใหม่หลังจากการบัดกรี ดังนั้นจึงควรทดสอบบนเขียงหั่นขนมก่อน
ดาวน์โหลด คอมไพล์ และแฟลชโปรแกรมจาก GitHub:
ขั้นตอนที่ 18: สร้าง I2C Gamepad
![สร้างเกมแพด I2C สร้างเกมแพด I2C](https://i.howwhatproduce.com/images/002/image-5588-34-j.webp)
![สร้างเกมแพด I2C สร้างเกมแพด I2C](https://i.howwhatproduce.com/images/002/image-5588-35-j.webp)
![สร้างเกมแพด I2C สร้างเกมแพด I2C](https://i.howwhatproduce.com/images/002/image-5588-36-j.webp)
นี่คือบทสรุปการเชื่อมต่อ:
ปุ่ม ATtiny861
GND -> ปุ่มทั้งหมดหนึ่งพิน Pin 20 (PA0) -> ปุ่มขึ้น Pin 19 (PA1) -> ปุ่มลง Pin 18 (PA2) -> ปุ่มซ้าย Pin 17 (PA3) -> ปุ่มขวา Pin 14 (PA4) -> เลือกปุ่ม Pin 13 (PA5) -> ปุ่ม Start Pin 12 (PA6) -> ปุ่ม A Pin 11 (PA7) -> ปุ่ม B Pin 6 (GND) -> I2C พินส่วนหัวของพิน 4 ขา 5 (Vcc) -> I2C ส่วนหัวของหมุดตัวผู้ ขา 3 ขา 3 (SCL) -> I2C ส่วนหัวของหมุดตัวผู้ ขา 1 ขา 1 (SDA) -> I2C ส่วนหัวของหมุดตัวผู้ ขาที่ 2
ขั้นตอนที่ 19: การประกอบ ตอนที่ 2
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-38-j.webp)
![](https://i.ytimg.com/vi/mznu135IDrs/hqdefault.jpg)
![ทางเลือก: หมุดฝ่าวงล้อมเสียง ทางเลือก: หมุดฝ่าวงล้อมเสียง](https://i.howwhatproduce.com/images/002/image-5588-41-j.webp)
ทำตามขั้นตอนวิดีโอเพื่อติดตั้งฝาครอบและเกมแพด I2C เข้ากับตัวเครื่อง
ขั้นตอนที่ 20: ตัวเลือก: Audio Breakout Pins
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-40-j.webp)
![](https://i.ytimg.com/vi/7ONQE77eoBk/hqdefault.jpg)
![ทางเลือก: หมุดฝ่าวงล้อมเสียง ทางเลือก: หมุดฝ่าวงล้อมเสียง](https://i.howwhatproduce.com/images/002/image-5588-42-j.webp)
บอร์ด dev ของ ESP32 ขา 25 และ 26 กำลังส่งสัญญาณเสียงอะนาล็อก มันง่ายมากที่จะแยกพิน 2 พินนี้และพินจ่ายไฟ (3.3 V และ GND) ที่ด้านบน จากนั้นคุณสามารถต่อหูฟังเพื่อเสียบได้ หรือแม้แต่คุณสามารถเพิ่มโมดูลเครื่องขยายเสียงพร้อมลำโพงเพื่อเล่นเสียงดังได้
ขั้นตอนที่ 21: อะไรต่อไป
![อะไรต่อไป? อะไรต่อไป?](https://i.howwhatproduce.com/images/002/image-5588-43-j.webp)
โปรแกรมจำลอง NES ไม่ใช่สิ่งที่น่าสนใจเพียงอย่างเดียวที่คุณสามารถสร้างด้วย ESP32 เช่น. คุณสามารถสร้างคอนโซล micro python ได้ องค์ประกอบเดียวที่คุณต้องเปลี่ยนคือจากแป้นเกม I2C เป็นแป้นพิมพ์ I2C ฉันคิดว่ามันไม่ยากเลยที่จะสร้างมันด้วยคอนโทรลเลอร์ ATtiny88 คุณสามารถติดตาม Twitter ของฉันเพื่อดูสถานะ
แนะนำ:
สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: 9 ขั้นตอน (พร้อมรูปภาพ)
![สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: 9 ขั้นตอน (พร้อมรูปภาพ) สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: 9 ขั้นตอน (พร้อมรูปภาพ)](https://i.howwhatproduce.com/images/001/image-46-j.webp)
สถานีตรวจอากาศระดับมืออาชีพโดยใช้ ESP8266 และ ESP32 DIY: LineaMeteoStazione เป็นสถานีตรวจอากาศที่สมบูรณ์แบบซึ่งสามารถเชื่อมต่อกับเซ็นเซอร์ระดับมืออาชีพจาก Sensirion รวมถึงส่วนประกอบ Davis Instrument (Rain Gauge, เครื่องวัดความเร็วลม) โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อเป็นสถานีตรวจอากาศแบบ DIY แต่ต้องใช้
ความแรงของสัญญาณ ESP32 TTGO WiFi: 8 ขั้นตอน (พร้อมรูปภาพ)
![ความแรงของสัญญาณ ESP32 TTGO WiFi: 8 ขั้นตอน (พร้อมรูปภาพ) ความแรงของสัญญาณ ESP32 TTGO WiFi: 8 ขั้นตอน (พร้อมรูปภาพ)](https://i.howwhatproduce.com/images/001/image-291-j.webp)
ความแรงของสัญญาณ WiFi ESP32 TTGO: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีแสดงความแรงของสัญญาณเครือข่าย WiFi โดยใช้บอร์ด ESP32 TTGO ดูวิดีโอ
เล่นวิดีโอด้วย ESP32: 10 ขั้นตอน (พร้อมรูปภาพ)
![เล่นวิดีโอด้วย ESP32: 10 ขั้นตอน (พร้อมรูปภาพ) เล่นวิดีโอด้วย ESP32: 10 ขั้นตอน (พร้อมรูปภาพ)](https://i.howwhatproduce.com/images/001/image-2237-j.webp)
เล่นวิดีโอด้วย ESP32: คำแนะนำนี้แสดงบางอย่างเกี่ยวกับการเล่นวิดีโอและเสียงด้วย ESP32
เริ่มต้นใช้งาน ESP32 - การติดตั้งบอร์ด ESP32 ใน Arduino IDE - ESP32 Blink Code: 3 ขั้นตอน
![เริ่มต้นใช้งาน ESP32 - การติดตั้งบอร์ด ESP32 ใน Arduino IDE - ESP32 Blink Code: 3 ขั้นตอน เริ่มต้นใช้งาน ESP32 - การติดตั้งบอร์ด ESP32 ใน Arduino IDE - ESP32 Blink Code: 3 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-4451-12-j.webp)
เริ่มต้นใช้งาน ESP32 | การติดตั้งบอร์ด ESP32 ใน Arduino IDE | รหัสการกะพริบของ ESP32: ในคำแนะนำนี้ เราจะดูวิธีการเริ่มทำงานกับ esp32 และวิธีการติดตั้งบอร์ด esp32 ลงใน Arduino IDE และเราจะตั้งโปรแกรม esp 32 เพื่อเรียกใช้โค้ดกะพริบโดยใช้ arduino ide
คอนโซลเกมมือถือ - Arduboy Clone: 6 ขั้นตอน (พร้อมรูปภาพ)
![คอนโซลเกมมือถือ - Arduboy Clone: 6 ขั้นตอน (พร้อมรูปภาพ) คอนโซลเกมมือถือ - Arduboy Clone: 6 ขั้นตอน (พร้อมรูปภาพ)](https://i.howwhatproduce.com/images/003/image-8256-11-j.webp)
คอนโซลเกมมือถือ | Arduboy Clone: เมื่อไม่กี่เดือนก่อน ฉันได้พบกับ Arduboy ซึ่งตามเว็บไซต์อย่างเป็นทางการของมันคือแพลตฟอร์มเกมขนาดจิ๋ว 8 บิตที่ทำให้ง่ายต่อการเรียนรู้ แบ่งปัน และเล่นเกมออนไลน์ เป็นแพลตฟอร์มโอเพ่นซอร์ส เกมสำหรับ Arduboy สร้างขึ้นโดยผู้ใช้