สารบัญ:
- ขั้นตอนที่ 1: Arduino Esplora คืออะไร
- ขั้นตอนที่ 2: M5Stack คืออะไร
- ขั้นตอนที่ 3: ทำไมต้องเล่นเกมย้อนยุคด้วย ESP32
- ขั้นตอนที่ 4: การเตรียมฮาร์ดแวร์
- ขั้นตอนที่ 5: การเตรียมซอฟต์แวร์
- ขั้นตอนที่ 6: โปรแกรม I2C Gamepad
- ขั้นตอนที่ 7: ฝ่าวงล้อม Esplora I2C
- ขั้นตอนที่ 8: ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
- ขั้นตอนที่ 9: เชื่อมต่อ I2C Pins
- ขั้นตอนที่ 10: โปรแกรม M5Stack
- ขั้นตอนที่ 11: สนุก
วีดีโอ: Esplora X M5Stack: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คำแนะนำนี้แสดงวิธีรวม Arduino Esplora และ M5Stack เพื่อสร้างคอนโซลเกม NES
ขั้นตอนที่ 1: Arduino Esplora คืออะไร
Arduino Esplora เป็นบอร์ดไมโครคอนโทรลเลอร์ Atmega32U4 AVR
เป็นบอร์ด Arduino ที่ไม่เหมือนใคร เพราะมีเซ็นเซอร์อินพุตต่างๆ ในตัวที่แกะกล่อง รวมถึงจอยสติ๊ก, ปุ่มกด 4 ปุ่ม, สไลเดอร์, เซ็นเซอร์อุณหภูมิ, มาตรความเร่ง, ไมโครโฟน, เซ็นเซอร์วัดแสง ฯลฯ
และ Arduino IDE ยังได้ยกตัวอย่างต่างๆ สำหรับการใช้งานทั้งหมด
ครั้งนี้ฉันจะตั้งโปรแกรม Esplora ให้เป็นอุปกรณ์ทาส I2C เพื่อทำหน้าที่เป็นแป้นเกม I2C
อ้างอิง:
ขั้นตอนที่ 2: M5Stack คืออะไร
M5Stack เริ่มต้นจากโครงการ kickstarter ในปี 2017, แกน ESP32, จอ LCD สี 2.0 ในตัว, ฟอร์มแฟกเตอร์ขนาดเล็ก 5 ซม., รองรับโมดูลที่วางซ้อนกันได้ และโมดูล I2C โกรฟ
ตอนนี้มีโมเดลหลักหลายรุ่นแล้ว โมดูลที่วางซ้อนกันได้หลายสิบโมดูล และยังรองรับโมดูล I2C Grove อีกจำนวนมาก
อ้างอิง:
www.kickstarter.com/projects/179167367/m5s…
m5stack.com/
ขั้นตอนที่ 3: ทำไมต้องเล่นเกมย้อนยุคด้วย 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
นี่คือขั้นตอนของโปรแกรม:
- ดาวน์โหลด esplora-i2c-gamepad.ino ได้ที่ GitHub:
- เชื่อมต่อ Esplora กับคอมพิวเตอร์
- เปิด Arduino
- อัพโหลดโปรแกรม
ขั้นตอนที่ 7: ฝ่าวงล้อม Esplora I2C
Arduino Esplora มี I/O และส่วนต่อประสานผู้ใช้เป็นส่วนใหญ่ แต่ที่น่าแปลกคือมันขาดหมุดแหกคุก I2C (Grove System)
โชคดีที่พิน I2C ใน ATMega32U4 ยังไม่ได้ใช้เพื่อวัตถุประสงค์อื่น และส่วนหัวของพินด้านซ้ายมือของ Esplora นั้น "ไม่ได้เชื่อมต่ออยู่ในขณะนี้" เราสามารถใช้ส่วนหัวของพินนี้เพื่อแยกพิน I2C ออกได้
เพียงใช้สายไฟ 2 เส้นและการบัดกรีบางส่วนเพื่อเชื่อมต่อ ATMega32U4 พิน 18 (SCL) และพิน 19 (SDA) กับส่วนหัวของพินด้านซ้าย
อ้างอิง:
ขั้นตอนที่ 8: ใช้ Pin Headers เพื่อแก้ไข M5Stack บน Esplora
พิน 2 อันล่างสุดที่ส่วนหัวของพินด้านขวาของ Esplora คือ GND และ 5V ซึ่งสามารถจับคู่กับพินพินฐานหลักของ M5Stack ได้ ดังนั้นเราจึงสามารถงอส่วนหัวของพินตัวผู้และตัวผู้ 2 พินเพื่อเชื่อมต่อกันได้
ส่วนหัวของหมุดด้านซ้ายของ Esplora ไม่ได้เชื่อมต่ออะไรเลย ขั้นตอนก่อนหน้านี้ใช้หมุดส่วนใหญ่ 2 ตัวบนสุดเนื่องจาก I2C แตกออก ยังคงมี 6 พิน เราสามารถงอส่วนหัวของพินตัวผู้-ตัวเมีย 6 พินเพื่อแก้ไข M5Stack บน Esplora
ขั้นตอนที่ 9: เชื่อมต่อ I2C Pins
Esplora และ M5Stack สื่อสารกับโปรโตคอล I2C, M5Stack ทำหน้าที่เป็น I2C master และ Esplora เป็น I2C slave
เนื่องจาก GND และ 5V เชื่อมต่อแล้วในขั้นตอนก่อนหน้า มีเพียง SCL และ SDA เท่านั้นที่ต้องการการเชื่อมต่อเพิ่มเติม
ขั้นตอนที่ 10: โปรแกรม M5Stack
- ดาวน์โหลด esp32-nesemu เวอร์ชันแก้ไขจาก GitHub:
- ภายใต้ esp32-nesemu ให้เรียกใช้ "make menuconfig"
- ป้อนเมนูย่อย "การกำหนดค่าเฉพาะ Nofrendo ESP32"
- เลือก "ฮาร์ดแวร์ที่จะทำงาน" เป็น "M5Stack"
- เปิดใช้งาน "เสียงอะนาล็อกบน GPIO26"
- เลือก "ประเภทคอนโทรลเลอร์" เป็น "I2C Gamepad"
- ออกจากเมนูconfig
- เรียกใช้ "make -j5 all" เพื่อคอมไพล์โปรแกรม
- เชื่อมต่อ M5Stack กับคอมพิวเตอร์
- เรียกใช้ "make flash" เพื่อแฟลชไบนารีที่คอมไพล์ไปยัง M5Stack
- เรียกใช้ "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME"
ขั้นตอนที่ 11: สนุก
ได้เวลาเล่นเกมโปรดของคุณแล้ว!
แนะนำ:
StickC M5Stack LED กะพริบ: 7 ขั้นตอน
StickC M5Stack LED Blink: ในโครงการนี้ เราจะเรียนรู้วิธีเชื่อมต่อและสร้าง LED Blink โดยใช้โมดูล M5StickC ESP32 ดูวิดีโอ
M5STACK วิธีแสดงอุณหภูมิ ความชื้น และแรงกดบน M5StickC ESP32 โดยใช้ Visuino - ทำได้ง่าย: 6 ขั้นตอน
M5STACK วิธีแสดงอุณหภูมิ ความชื้น และความดันบน M5StickC ESP32 โดยใช้ Visuino - ง่ายต่อการทำ: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino เพื่อแสดงอุณหภูมิ ความชื้น และความดันโดยใช้เซ็นเซอร์ ENV (DHT12, BMP280, BMM150)
วิธีการส่งข้อมูลจาก M5Stack StickC ไปยัง Delphi: 6 ขั้นตอน
วิธีส่งข้อมูลจาก M5Stack StickC ไปยัง Delphi: ในวิดีโอนี้ เราจะเรียนรู้วิธีส่งค่าจากบอร์ด StickC ไปยังแอปพลิเคชัน Delphi VCL โดยใช้ Visuino ดูวิดีโอ
วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino: 12 ขั้นตอน
วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีตั้งโปรแกรม ESP32 M5Stack StickC ด้วย Arduino IDE และ Visuino ดูวิดีโอสาธิต
ข้อมูลพื้นฐานเกี่ยวกับ Arduino Esplora: 4 ขั้นตอน
ข้อมูลพื้นฐานเกี่ยวกับ Arduino Esplora: โอ้! ฉันไม่เห็นคุณที่นั่น! คุณต้องต้องการเรียนรู้พื้นฐานพื้นฐานของกระดาน Esplora ที่ยอดเยี่ยม เข้ามาเลย เข้ามาเลย บทช่วยสอนนี้จะสอนคุณเกี่ยวกับลูกเล่นเล็กๆ น้อยๆ สองสามอย่างที่คุณสามารถทำได้กับ Esplora ของคุณ