สารบัญ:

Esplora X M5Stack: 11 ขั้นตอน (พร้อมรูปภาพ)
Esplora X M5Stack: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Esplora X M5Stack: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Esplora X M5Stack: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Step by Step Guide to Build a FreeTouchDeck 2024, กรกฎาคม
Anonim
Esplora X M5Stack
Esplora X M5Stack

คำแนะนำนี้แสดงวิธีรวม Arduino Esplora และ M5Stack เพื่อสร้างคอนโซลเกม NES

ขั้นตอนที่ 1: Arduino Esplora คืออะไร

Arduino Esplora คืออะไร?
Arduino Esplora คืออะไร?

Arduino Esplora เป็นบอร์ดไมโครคอนโทรลเลอร์ Atmega32U4 AVR

เป็นบอร์ด Arduino ที่ไม่เหมือนใคร เพราะมีเซ็นเซอร์อินพุตต่างๆ ในตัวที่แกะกล่อง รวมถึงจอยสติ๊ก, ปุ่มกด 4 ปุ่ม, สไลเดอร์, เซ็นเซอร์อุณหภูมิ, มาตรความเร่ง, ไมโครโฟน, เซ็นเซอร์วัดแสง ฯลฯ

และ Arduino IDE ยังได้ยกตัวอย่างต่างๆ สำหรับการใช้งานทั้งหมด

ครั้งนี้ฉันจะตั้งโปรแกรม Esplora ให้เป็นอุปกรณ์ทาส I2C เพื่อทำหน้าที่เป็นแป้นเกม I2C

อ้างอิง:

ขั้นตอนที่ 2: M5Stack คืออะไร

M5Stack คืออะไร?
M5Stack คืออะไร?
M5Stack คืออะไร?
M5Stack คืออะไร?

M5Stack เริ่มต้นจากโครงการ kickstarter ในปี 2017, แกน ESP32, จอ LCD สี 2.0 ในตัว, ฟอร์มแฟกเตอร์ขนาดเล็ก 5 ซม., รองรับโมดูลที่วางซ้อนกันได้ และโมดูล I2C โกรฟ

ตอนนี้มีโมเดลหลักหลายรุ่นแล้ว โมดูลที่วางซ้อนกันได้หลายสิบโมดูล และยังรองรับโมดูล I2C Grove อีกจำนวนมาก

อ้างอิง:

www.kickstarter.com/projects/179167367/m5s…

m5stack.com/

ขั้นตอนที่ 3: ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32

ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32?
ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32?
ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32?
ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32?

เป็นหัวข้อยอดนิยมที่ใช้ Raspberry Pi เพื่อสร้างคอนโซลเกมย้อนยุคพร้อมการแจกจ่าย Retropie

มันทำงานได้ดีมาก แต่ปัญหาที่น่าสังเกตมากที่สุดคือเวลาบูต

ฉันไม่ต้องการรอเกินครึ่งนาทีเพื่อเข้าสู่เกมย้อนยุค เกมคอนโซลจริงไม่ต้องรอสิ่งนี้!

จากนั้นฉันก็พบว่า esp32-nesemu ไม่จำเป็นต้องรอการบู๊ต ดังนั้นฉันจึงลองใช้ M5Stack เพื่อสร้างคอนโซลเกม NES

ขั้นตอนที่ 4: การเตรียมฮาร์ดแวร์

การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์

Arduino Esplora

ผลิตภัณฑ์อย่างเป็นทางการล้าสมัยแล้ว แต่ยังง่ายต่อการค้นหาโคลนบนเว็บ

M5Stack

คอร์ M5Stack ใดๆ ที่มี LCD 2.0 ก็น่าจะใช้ได้

ส่วนหัวของพิน

ส่วนหัวของหมุดตัวผู้-ตัวผู้ 2 หมุด และหมุดหมุดตัวผู้-ตัวเมีย 6 หมุด

สายแปลง Grove

ปกติ 4 พินจัมเปอร์ตัวผู้เป็นสายแปลง Grove 4 พินที่ต้องการ ฉันไม่มีสายเคเบิลนี้อยู่ในมือ ดังนั้นฉันจึงเพียงแพตช์ 1 เพื่อเชื่อมต่อหมุด SCL และ SDA ด้วยตัวเอง

ขั้นตอนที่ 5: การเตรียมซอฟต์แวร์

การเตรียมซอฟต์แวร์
การเตรียมซอฟต์แวร์

Arduino IDE

ดาวน์โหลดและติดตั้ง Arduino IDE หากยังไม่ได้:

www.arduino.cc/en/Main/Software

ESP-IDF

ทำตามคำแนะนำการตั้งค่าเพื่อติดตั้ง ESP-IDF หากยังไม่ได้:

docs.espressif.com/projects/esp-idf/en/sta…

ขั้นตอนที่ 6: โปรแกรม I2C Gamepad

โปรแกรม I2C เกมแพด
โปรแกรม I2C เกมแพด
โปรแกรม I2C Gamepad
โปรแกรม I2C Gamepad

ฉันได้เขียนโปรแกรมง่ายๆ เพื่ออ่านจอยสติ๊กและอินพุตของปุ่ม แล้วแปลเป็นข้อความ I2C

นี่คือขั้นตอนของโปรแกรม:

  1. ดาวน์โหลด esplora-i2c-gamepad.ino ได้ที่ GitHub:
  2. เชื่อมต่อ Esplora กับคอมพิวเตอร์
  3. เปิด Arduino
  4. อัพโหลดโปรแกรม

ขั้นตอนที่ 7: ฝ่าวงล้อม Esplora I2C

ฝ่าวงล้อม Esplora I2C
ฝ่าวงล้อม Esplora I2C
ฝ่าวงล้อม Esplora I2C
ฝ่าวงล้อม Esplora I2C
ฝ่าวงล้อม Esplora I2C
ฝ่าวงล้อม Esplora I2C

Arduino Esplora มี I/O และส่วนต่อประสานผู้ใช้เป็นส่วนใหญ่ แต่ที่น่าแปลกคือมันขาดหมุดแหกคุก I2C (Grove System)

โชคดีที่พิน I2C ใน ATMega32U4 ยังไม่ได้ใช้เพื่อวัตถุประสงค์อื่น และส่วนหัวของพินด้านซ้ายมือของ Esplora นั้น "ไม่ได้เชื่อมต่ออยู่ในขณะนี้" เราสามารถใช้ส่วนหัวของพินนี้เพื่อแยกพิน I2C ออกได้

เพียงใช้สายไฟ 2 เส้นและการบัดกรีบางส่วนเพื่อเชื่อมต่อ ATMega32U4 พิน 18 (SCL) และพิน 19 (SDA) กับส่วนหัวของพินด้านซ้าย

อ้างอิง:

ขั้นตอนที่ 8: ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora

ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora

พิน 2 อันล่างสุดที่ส่วนหัวของพินด้านขวาของ Esplora คือ GND และ 5V ซึ่งสามารถจับคู่กับพินพินฐานหลักของ M5Stack ได้ ดังนั้นเราจึงสามารถงอส่วนหัวของพินตัวผู้และตัวผู้ 2 พินเพื่อเชื่อมต่อกันได้

ส่วนหัวของหมุดด้านซ้ายของ Esplora ไม่ได้เชื่อมต่ออะไรเลย ขั้นตอนก่อนหน้านี้ใช้หมุดส่วนใหญ่ 2 ตัวบนสุดเนื่องจาก I2C แตกออก ยังคงมี 6 พิน เราสามารถงอส่วนหัวของพินตัวผู้-ตัวเมีย 6 พินเพื่อแก้ไข M5Stack บน Esplora

ขั้นตอนที่ 9: เชื่อมต่อ I2C Pins

เชื่อมต่อพิน I2C
เชื่อมต่อพิน I2C
เชื่อมต่อพิน I2C
เชื่อมต่อพิน I2C

Esplora และ M5Stack สื่อสารกับโปรโตคอล I2C, M5Stack ทำหน้าที่เป็น I2C master และ Esplora เป็น I2C slave

เนื่องจาก GND และ 5V เชื่อมต่อแล้วในขั้นตอนก่อนหน้า มีเพียง SCL และ SDA เท่านั้นที่ต้องการการเชื่อมต่อเพิ่มเติม

ขั้นตอนที่ 10: โปรแกรม M5Stack

โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
โปรแกรม M5Stack
  1. ดาวน์โหลด esp32-nesemu เวอร์ชันแก้ไขจาก GitHub:
  2. ภายใต้ esp32-nesemu ให้เรียกใช้ "make menuconfig"
  3. ป้อนเมนูย่อย "การกำหนดค่าเฉพาะ Nofrendo ESP32"
  4. เลือก "ฮาร์ดแวร์ที่จะทำงาน" เป็น "M5Stack"
  5. เปิดใช้งาน "เสียงอะนาล็อกบน GPIO26"
  6. เลือก "ประเภทคอนโทรลเลอร์" เป็น "I2C Gamepad"
  7. ออกจากเมนูconfig
  8. เรียกใช้ "make -j5 all" เพื่อคอมไพล์โปรแกรม
  9. เชื่อมต่อ M5Stack กับคอมพิวเตอร์
  10. เรียกใช้ "make flash" เพื่อแฟลชไบนารีที่คอมไพล์ไปยัง M5Stack
  11. เรียกใช้ "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME"

ขั้นตอนที่ 11: สนุก

สนุก!
สนุก!

ได้เวลาเล่นเกมโปรดของคุณแล้ว!

แนะนำ: