Inhaltsverzeichnis:
- Schritt 1: Was ist Arduino Esplora?
- Schritt 2: Was ist M5Stack?
- Schritt 3: Warum Retro-Spiel mit ESP32 spielen?
- Schritt 4: Hardwarevorbereitung
- Schritt 5: Softwarevorbereitung
- Schritt 6: I2C Gamepad programmieren
- Schritt 7: Breakout Esplora I2C
- Schritt 8: Verwenden Sie Stiftleisten, um M5Stack auf Esplora zu befestigen
- Schritt 9: I2C-Pins anschließen
- Schritt 10: M5Stack programmieren
- Schritt 11: Viel Spaß
Video: Esplora X M5Stack - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Diese Anleitungen zeigen, wie man Arduino Esplora und M5Stack zu einer NES-Spielkonsole kombiniert.
Schritt 1: 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?
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?
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
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
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
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:
- Laden Sie esplora-i2c-gamepad.ino auf GitHub herunter:
- Verbinden Sie Esplora mit dem Computer
- Öffne Arduino
- Programm hochladen
Schritt 7: 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
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
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
- Laden Sie die überarbeitete Version von esp32-nesemu von GitHub herunter:
- Führen Sie unter esp32-nesemu "make menuconfig" aus
- Untermenü "Nofrendo ESP32-spezifische Konfiguration" aufrufen
- Wählen Sie "Hardware zum Ausführen auf" zu "M5Stack"
- Aktivieren Sie "Analoges Audio auf GPIO26"
- Wählen Sie "Controller-Typ" zu "I2C Gamepad"
- Menükonfiguration verlassen
- Führen Sie "make -j5 all" aus, um das Programm zu kompilieren
- Verbinden Sie M5Stack mit dem Computer
- Führen Sie "make flash" aus, um die kompilierte Binärdatei auf M5Stack zu flashen
- Führen Sie "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME" aus
Schritt 11: Viel Spaß
Es ist Zeit, Ihr Lieblingsspiel zu spielen!
Empfohlen:
M5STACK So zeigen Sie Temperatur, Feuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 6 Schritte
M5STACK So zeigen Sie Temperatur, Luftfeuchtigkeit und Druck auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um Temperatur, Luftfeuchtigkeit und Druck mit dem ENV-Sensor (DHT12, BMP280, BMM150)
M5Stack MultiApp Tutorial zur erweiterten Firmware-Installation: 3 Schritte
M5Stack MultiApp Advanced Firmware Installation Tutorial: Ich bin ein großer Fan des M5Stack ESP32 Moduls. Es sieht sehr professionell aus, im Gegensatz zu meinem üblichen "Rattennest" aus Prototypenplatinen und -kabeln! Bei den meisten ESP32-Entwicklungsplatinen können Sie nur ein Programm / eine App gleichzeitig ausführen, aber jetzt können Sie auf dem M5Stack wählen, ob Sie