Innholdsfortegnelse:
- Trinn 1: Hva er Arduino Esplora?
- Trinn 2: Hva er M5Stack?
- Trinn 3: Hvorfor spille retrospill med ESP32?
- Trinn 4: Forberedelse av maskinvare
- Trinn 5: Forberedelse av programvare
- Trinn 6: Program I2C Gamepad
- Trinn 7: Breakout Esplora I2C
- Trinn 8: Bruk Pin Headers til å fikse M5Stack på Esplora
- Trinn 9: Koble til I2C Pins
- Trinn 10: Program M5Stack
- Trinn 11: Kos deg
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Denne instruksjonene viser hvordan du kombinerer Arduino Esplora og M5Stack for å lage en NES -spillkonsoll.
Trinn 1: Hva er Arduino Esplora?
Arduino Esplora er et Atmega32U4 AVR mikrokontrollerbord.
Det er unike Arduino-kort, fordi det innebygde forskjellige inngangssensorer utenom boksen, inkludert en joystick, 4 trykknapper, en glidebryter, en temperatursensor, et akselerometer, en mikrofon, en lyssensor, etc.
Og også Arduino IDE ga forskjellige eksempler for bruk av alt.
Denne gangen skal jeg programmere Esplora som en I2C -slaveenhet for å fungere som en I2C -gamepad.
Ref.:
Trinn 2: Hva er M5Stack?
M5Stack starter fra et kickstarter-prosjekt i 2017, ESP32-kjerne, innebygd 2,0 fargeskjerm, liten 5 cm formfaktor, støtte stabelbare moduler og grove I2C-moduler.
Nå har den allerede forskjellige kjernemodeller, titalls stabelbare moduler og støtter også tonnevis av I2C Grove -moduler.
Ref.:
www.kickstarter.com/projects/179167367/m5s…
m5stack.com/
Trinn 3: Hvorfor spille retrospill med ESP32?
Det er et veldig populært tema som bruker Raspberry Pi til å lage en retro spillkonsoll med Retropie -distribusjon.
Det gjør jobben veldig bra, men det mest bemerkelsesverdige problemet er oppstartstiden.
Jeg vil ikke vente over et halvt minutt for å gå inn i et retro -spill, en ekte spillkonsoll, du trenger ikke vente på dette!
Da fant jeg esp32-nesemu ikke nødvendig å vente på oppstart, så jeg prøver å bruke M5Stack til å bygge en NES spillkonsoll.
Trinn 4: Forberedelse av maskinvare
Arduino Esplora
Det offisielle produktet er foreldet, men det er fortsatt veldig enkelt å finne en klon på nettet.
M5Stack
Enhver M5Stack -kjerne med 2,0 LCD bør være ok.
Pin Headers
2 pins han-hann pin pin header og 6 pins mann-hunn pin pin header.
Grove konverteringskabel
Normal 4 -pins hannhopper til Grove 4 -pins konverteringskabel foretrukket. Jeg hadde ikke denne kabelen i hånden, så jeg lapper bare 1 for å koble SCL- og SDA -pinner selv.
Trinn 5: Forberedelse av programvare
Arduino IDE
Last ned og installer Arduino IDE hvis ikke ennå:
www.arduino.cc/en/Main/Software
ESP-IDF
Følg installasjonsguiden for å installere ESP-IDF hvis ikke ennå:
docs.espressif.com/projects/esp-idf/en/sta…
Trinn 6: Program I2C Gamepad
Jeg har skrevet et enkelt program for å lese joysticken og knappene og oversette det til I2C -melding.
Her er programtrinnene:
- Last ned esplora-i2c-gamepad.ino på GitHub:
- Koble Esplora til datamaskinen
- Åpne Arduino
- Last opp program
Trinn 7: Breakout Esplora I2C
Arduino Esplora har de fleste I/O og brukergrensesnitt, men ironisk nok er det mangel på I2C (Grove System) breakout pins.
Heldigvis er I2C -pinnene i ATMega32U4 ennå ikke brukt til andre formål. Og også den venstre sidehodet på Esplora er "ikke tilkoblet for øyeblikket", vi kan bruke denne pinhodet til å bryte ut I2C -pinnene.
Bare bruk 2 ledninger og litt loddearbeid for å koble ATMega32U4 -pinne 18 (SCL) og pinne 19 (SDA) til den venstre pinnehodet.
Ref.:
Trinn 8: Bruk Pin Headers til å fikse M5Stack på Esplora
De to nederste pinnene på Esplora høyre sidehodet er GND og 5V, den kan matches med M5Stack kjerne base pinout. Så vi kan bøye en 2-pins mann-hann pin pin header for å koble hverandre.
Esplora venstre sidehodet ikke koblet noe, de forrige trinnene brukte 2 øverste de fleste pinner som I2C bryte ut. Det gjenstår 6 pinner, vi kan bøye en 6-pins mann-hunn-pin-topptekst for å fikse M5Stack på Esplora.
Trinn 9: Koble til I2C Pins
Esplora og M5Stack kommuniserer med I2C -protokollen, M5Stack fungerer som I2C -master og Esplora er I2C -slave.
Siden GND og 5V allerede var tilkoblet i de foregående trinnene, var det bare SCL og SDA som krevde ytterligere tilkobling.
Trinn 10: Program M5Stack
- Last ned revidert versjon av esp32-nesemu fra GitHub:
- Under esp32-nesemu, kjør "make menuconfig"
- Gå til undermenyen "Nofrendo ESP32-spesifikk konfigurasjon"
- Velg "Maskinvare å kjøre på" til "M5Stack"
- Aktiver "Analog lyd på GPIO26"
- Velg "Controller type" til "I2C Gamepad"
- Avslutt menyen
- Kjør "make -j5 all" for å kompilere programmet
- Koble M5Stack til datamaskinen
- Kjør "make flash" for å blinke den kompilerte binæren til M5Stack
- Kjør "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME"
Trinn 11: Kos deg
Det er på tide å spille favorittspillet ditt!