Inhoudsopgave:

Eplora X M5Stack - Ajarnpa
Eplora X M5Stack - Ajarnpa

Video: Eplora X M5Stack - Ajarnpa

Video: Eplora X M5Stack - Ajarnpa
Video: Using M5Stack mini encoder HAT 2024, Juli-
Anonim
Eplora X M5Stack
Eplora X M5Stack

Deze instructables laten zien hoe je Arduino Esplora en M5Stack kunt combineren om een NES-gameconsole te maken.

Stap 1: Wat is Arduino Eplora?

Wat is Arduino Eplora?
Wat is Arduino Eplora?

Arduino Eplora is een Atmega32U4 AVR-microcontrollerbord.

Het zijn unieke Arduino-borden, omdat het standaard verschillende ingangssensoren heeft ingebouwd, waaronder een joystick, 4 drukknoppen, een schuifregelaar, een temperatuursensor, een versnellingsmeter, een microfoon, een lichtsensor, enz.

En ook Arduino IDE gaf verschillende voorbeelden om alles te gebruiken.

Deze keer zal ik Eplora programmeren als een I2C-slave-apparaat om als een I2C-gamepad te fungeren.

Ref.:

Stap 2: Wat is M5Stack?

Wat is M5Stack?
Wat is M5Stack?
Wat is M5Stack?
Wat is M5Stack?

M5Stack start met een kickstarter-project in 2017, ESP32-kern, ingebouwd 2,0-inch kleuren-LCD, kleine 5 cm-vormfactor, ondersteuning voor stapelbare modules en grove I2C-modules.

Nu heeft het al verschillende kernmodellen, tientallen stapelbare modules en ondersteunt het ook tonnen I2C Grove-modules.

ref.:

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

m5stack.com/

Stap 3: Waarom Retro Game spelen met ESP32?

Waarom Retro Game spelen met ESP32?
Waarom Retro Game spelen met ESP32?
Waarom Retro Game spelen met ESP32?
Waarom Retro Game spelen met ESP32?

Het is een zeer populair onderwerp om Raspberry Pi te gebruiken om een retro-gameconsole te maken met Retropie-distributie.

Het doet het werk heel goed, maar het meest opvallende probleem is de opstarttijd.

Ik wil niet langer dan een halve minuut wachten om een retro-game te betreden, een echte gameconsole hoeft hier niet op te wachten!

Toen ontdekte ik dat esp32-nesemu niet hoefde te wachten op het opstarten, dus ik probeer M5Stack te gebruiken om een NES-spelconsole te bouwen.

Stap 4: Hardwarevoorbereiding

Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding
Hardwarevoorbereiding

Arduino Eplora

Het officiële product is verouderd, maar het is nog steeds erg gemakkelijk om een kloon op internet te vinden.

M5Stack

Elke M5Stack-kern met een 2,0-inch LCD-scherm zou in orde moeten zijn.

Pin-headers

2-pins mannelijk-mannelijke pin-header en 6-pins mannelijk-vrouwelijke pin-header.

Grove-conversiekabel

Normale 4-pins mannelijke jumper naar Grove 4-pins conversiekabel heeft de voorkeur. Ik had deze kabel niet bij de hand, dus patch ik er maar 1 om zelf SCL- en SDA-pinnen aan te sluiten.

Stap 5: Softwarevoorbereiding

Softwarevoorbereiding
Softwarevoorbereiding

Arduino IDE

Download en installeer Arduino IDE als dat nog niet het geval is:

www.arduino.cc/en/Main/Software

ESP-IDF

Volg de installatiehandleiding om ESP-IDF te installeren als dit nog niet het geval is:

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

Stap 6: I2C-gamepad programmeren

Programma I2C Gamepad
Programma I2C Gamepad
Programma I2C Gamepad
Programma I2C Gamepad

Ik heb een eenvoudig programma geschreven om de invoer van de joystick en knoppen te lezen en te vertalen naar I2C-berichten.

Hier zijn de programmastappen:

  1. Download esplora-i2c-gamepad.ino op GitHub:
  2. Sluit Eplora aan op de computer
  3. Arduino openen
  4. Programma uploaden

Stap 7: Breakout Eplora I2C

Breakout Eplora I2C
Breakout Eplora I2C
Breakout Eplora I2C
Breakout Eplora I2C
Breakout Eplora I2C
Breakout Eplora I2C

Arduino Esplora heeft de meeste I/O- en gebruikersinterfaces, maar ironisch genoeg ontbreekt het aan I2C (Grove System) breakout-pinnen.

Gelukkig worden de I2C-pinnen in de ATMega32U4 nog niet voor andere doeleinden gebruikt. En ook de pin-header aan de linkerkant op de Eplora is "momenteel niet verbonden", we kunnen deze pin-header gebruiken om de I2C-pinnen te doorbreken.

Gebruik gewoon 2 draden en wat soldeerwerk om ATMega32U4 pin 18 (SCL) en pin 19 (SDA) aan te sluiten op de linker pin-header.

Ref.:

Stap 8: Gebruik Pin Headers om M5Stack op Esplora te repareren

Gebruik Pin Headers om M5Stack op Esplora te repareren
Gebruik Pin Headers om M5Stack op Esplora te repareren
Gebruik Pin Headers om M5Stack op Esplora te repareren
Gebruik Pin Headers om M5Stack op Esplora te repareren
Gebruik Pin Headers om M5Stack op Esplora te repareren
Gebruik Pin Headers om M5Stack op Esplora te repareren

De meeste 2 onderste pinnen op de Esplora-pinkop aan de rechterkant zijn GND en 5V, deze kunnen worden gekoppeld aan de M5Stack-kernbasis-pinout. We kunnen dus een 2-pins male-male pin-header buigen om met elkaar te verbinden.

De pin-header aan de linkerkant van Eplora heeft niets aangesloten, de vorige stappen gebruikten 2 bovenste pinnen toen I2C uitbrak. Er zijn nog 6 pinnen over, we kunnen een 6-pins mannelijk-vrouwelijke pin-header buigen om de M5Stack op de Eplora te bevestigen.

Stap 9: I2C-pinnen aansluiten

I2C-pinnen aansluiten
I2C-pinnen aansluiten
I2C-pinnen aansluiten
I2C-pinnen aansluiten

Esplora en M5Stack communiceren met het I2C-protocol, M5Stack fungeert als I2C-master en Esplora is I2C-slave.

Aangezien GND en 5V al verbonden waren bij de vorige stappen, hadden alleen SCL en SDA verdere verbinding nodig.

Stap 10: Programmeer M5Stack

Programma M5Stack
Programma M5Stack
Programma M5Stack
Programma M5Stack
Programma M5Stack
Programma M5Stack
Programma M5Stack
Programma M5Stack
  1. Download de herziene versie van esp32-nesemu van GitHub:
  2. Voer onder esp32-nesemu "make menuconfig" uit
  3. Ga naar het submenu "Nofrendo ESP32-specifieke configuratie"
  4. Selecteer "Hardware om op te draaien" naar "M5Stack"
  5. Schakel "Analoge audio op GPIO26" in
  6. Selecteer "Controllertype" tot "I2C Gamepad"
  7. Menuconfiguratie afsluiten
  8. Voer "make -j5 all" uit om het programma te compileren
  9. Sluit M5Stack aan op de computer
  10. Voer "make flash" uit om het gecompileerde binaire bestand naar M5Stack te flashen
  11. Voer "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME" uit

Stap 11: Geniet ervan

Genieten van!
Genieten van!

Het is tijd om je gunstspel te spelen!

Aanbevolen: