Inhaltsverzeichnis:

Esplora X M5Stack - Gunook
Esplora X M5Stack - Gunook

Video: Esplora X M5Stack - Gunook

Video: Esplora X M5Stack - Gunook
Video: M5Stack Core2 на esp32. Настройка. Первая программа в UIFlow. 2024, November
Anonim
Esplora X M5Stack
Esplora X M5Stack

Diese Anleitungen zeigen, wie man Arduino Esplora und M5Stack zu einer NES-Spielkonsole kombiniert.

Schritt 1: Was ist Arduino Esplora?

Was ist Arduino Esplora?
Was ist Arduino Esplora?

Arduino Esplora ist ein Atmega32U4 AVR-Mikrocontroller-Board.

Es ist ein einzigartiges Arduino-Board, da es verschiedene Eingangssensoren standardmäßig eingebaut hat, einschließlich eines Joysticks, 4 Drucktasten, eines Schiebereglers, eines Temperatursensors, eines Beschleunigungsmessers, eines Mikrofons, eines Lichtsensors usw.

Und auch die Arduino IDE lieferte verschiedene Beispiele für die Verwendung all dessen.

Dieses Mal werde ich Esplora als I2C-Slave-Gerät programmieren, um als I2C-Gamepad zu fungieren.

Ref.:

Schritt 2: Was ist M5Stack?

Was ist M5Stack?
Was ist M5Stack?
Was ist M5Stack?
Was ist M5Stack?

M5Stack startet von einem Kickstarter-Projekt im Jahr 2017, ESP32-Kern, integriertes 2,0-Zoll-Farb-LCD, winziger 5-cm-Formfaktor, unterstützt stapelbare Module und Grove-I2C-Module.

Jetzt hat es bereits verschiedene Kernmodelle, Dutzende von stapelbaren Modulen und unterstützt auch Tonnen von I2C Grove-Modulen.

Ref.:

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

m5stack.com/

Schritt 3: Warum Retro-Spiel mit ESP32 spielen?

Warum Retro-Spiel mit ESP32 spielen?
Warum Retro-Spiel mit ESP32 spielen?
Warum Retro-Spiel mit ESP32 spielen?
Warum Retro-Spiel mit ESP32 spielen?

Es ist ein sehr beliebtes Thema, das Raspberry Pi verwendet, um eine Retro-Spielekonsole mit Retropie-Distribution zu erstellen.

Es macht die Arbeit sehr gut, aber das bemerkenswerteste Problem ist die Bootzeit.

Ich möchte nicht länger als eine halbe Minute warten, um ein Retro-Spiel zu betreten, eine echte Spielekonsole, auf die Sie nicht warten müssen!

Dann habe ich festgestellt, dass esp32-nesemu nicht auf den Bootvorgang warten muss, also versuche ich, M5Stack zu verwenden, um eine NES-Spielekonsole zu bauen.

Schritt 4: Hardwarevorbereitung

Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung
Hardwarevorbereitung

Arduino Esplora

Das offizielle Produkt ist veraltet, aber es ist immer noch sehr einfach, einen Klon im Web zu finden.

M5Stack

Jeder M5Stack-Kern mit 2,0-Zoll-LCD sollte in Ordnung sein.

Stiftleisten

2-poliger Stecker-Stecker-Stiftleiste und 6-poliger Stecker-Stecker-Stiftleiste.

Grove-Umwandlungskabel

Normales 4-Pin-Stecker-Jumper zu Grove 4-Pin-Umwandlungskabel bevorzugt. Ich hatte dieses Kabel nicht in der Hand, also patche ich nur 1, um SCL- und SDA-Pins selbst zu verbinden.

Schritt 5: Softwarevorbereitung

Softwarevorbereitung
Softwarevorbereitung

Arduino-IDE

Laden Sie die Arduino IDE herunter und installieren Sie sie, falls noch nicht:

www.arduino.cc/en/Main/Software

ESP-IDF

Folgen Sie der Einrichtungsanleitung, um ESP-IDF zu installieren, falls noch nicht geschehen:

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

Schritt 6: I2C Gamepad programmieren

I2C-Gamepad programmieren
I2C-Gamepad programmieren
I2C-Gamepad programmieren
I2C-Gamepad programmieren

Ich habe ein einfaches Programm geschrieben, um die Eingabe von Joystick und Tasten zu lesen und in eine I2C-Nachricht zu übersetzen.

Hier die Programmschritte:

  1. Laden Sie esplora-i2c-gamepad.ino auf GitHub herunter:
  2. Verbinden Sie Esplora mit dem Computer
  3. Öffne Arduino
  4. Programm hochladen

Schritt 7: Breakout Esplora I2C

Breakout Esplora I2C
Breakout Esplora I2C
Breakout Esplora I2C
Breakout Esplora I2C
Breakout Esplora I2C
Breakout Esplora I2C

Arduino Esplora hat die meisten I/O- und Benutzerschnittstellen, aber ironischerweise fehlen I2C (Grove System) Breakout-Pins.

Glücklicherweise werden die I2C-Pins im ATMega32U4 noch nicht für andere Zwecke verwendet. Und auch die linke Stiftleiste des Esplora ist "aktuell nicht verbunden", wir können diese Stiftleiste verwenden, um die I2C-Pins herauszubrechen.

Verwenden Sie einfach 2 Drähte und etwas Lötarbeit, um ATMega32U4 Pin 18 (SCL) und Pin 19 (SDA) mit der linken Stiftleiste zu verbinden.

Ref.:

Schritt 8: Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu befestigen

Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren
Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren
Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren
Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren
Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren
Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu reparieren

Die meisten 2 unteren Pins an der rechten Esplora-Stiftleiste sind GND und 5V, sie können mit der Pinbelegung der M5Stack-Kernbasis abgeglichen werden. So können wir eine 2-polige Stiftleiste biegen, um sie miteinander zu verbinden.

Die linke Esplora-Stiftleiste hat nichts angeschlossen, die vorherigen Schritte verwendeten 2 oberste Pins als I2C-Ausbruch. Es bleiben 6 Pins übrig, wir können eine 6-Pin-Stiftleiste biegen, um den M5Stack auf dem Esplora zu befestigen.

Schritt 9: I2C-Pins anschließen

Verbinden Sie I2C-Pins
Verbinden Sie I2C-Pins
Verbinden Sie I2C-Pins
Verbinden Sie I2C-Pins

Esplora und M5Stack kommunizieren mit dem I2C-Protokoll, M5Stack fungiert als I2C-Master und Esplora ist I2C-Slave.

Da GND und 5V bereits in den vorherigen Schritten verbunden waren, benötigten nur SCL und SDA eine weitere Verbindung.

Schritt 10: M5Stack programmieren

Programm M5Stack
Programm M5Stack
Programm M5Stack
Programm M5Stack
Programm M5Stack
Programm M5Stack
Programm M5Stack
Programm M5Stack
  1. Laden Sie die überarbeitete Version von esp32-nesemu von GitHub herunter:
  2. Führen Sie unter esp32-nesemu "make menuconfig" aus
  3. Untermenü "Nofrendo ESP32-spezifische Konfiguration" aufrufen
  4. Wählen Sie "Hardware zum Ausführen auf" zu "M5Stack"
  5. Aktivieren Sie "Analoges Audio auf GPIO26"
  6. Wählen Sie "Controller-Typ" zu "I2C Gamepad"
  7. Menükonfiguration verlassen
  8. Führen Sie "make -j5 all" aus, um das Programm zu kompilieren
  9. Verbinden Sie M5Stack mit dem Computer
  10. Führen Sie "make flash" aus, um die kompilierte Binärdatei auf M5Stack zu flashen
  11. Führen Sie "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME" aus

Schritt 11: Viel Spaß

Genießen!
Genießen!

Es ist Zeit, Ihr Lieblingsspiel zu spielen!

Empfohlen: