Cuprins:

Esplora X M5Stack: 11 pași (cu imagini)
Esplora X M5Stack: 11 pași (cu imagini)

Video: Esplora X M5Stack: 11 pași (cu imagini)

Video: Esplora X M5Stack: 11 pași (cu imagini)
Video: ПЛАТФОРМА M5STACK, ESP32 ДЛЯ ARDUINO 2024, Noiembrie
Anonim
Esplora X M5Stack
Esplora X M5Stack

Acest instructable arată cum să combinați Arduino Esplora și M5Stack pentru a crea o consolă de jocuri NES.

Pasul 1: Ce este Arduino Esplora?

Ce este Arduino Esplora?
Ce este Arduino Esplora?

Arduino Esplora este o placă de microcontroler AVR Atmega32U4.

Sunt plăci Arduino unice, deoarece au încorporat diverși senzori de intrare livrați, inclusiv un joystick, 4 butoane, un glisor, un senzor de temperatură, un accelerometru, un microfon, un senzor de lumină etc.

Și, de asemenea, Arduino IDE a furnizat diverse exemple pentru utilizarea acestuia.

De data aceasta voi programa Esplora ca un dispozitiv I2C slave pentru a acționa ca un gamepad I2C.

Ref.:

Pasul 2: Ce este M5Stack?

Ce este M5Stack?
Ce este M5Stack?
Ce este M5Stack?
Ce este M5Stack?

M5Stack începe de la un proiect kickstarter în 2017, nucleul ESP32, LCD color de 2.0 încorporat, factor de formă minuscul de 5 cm, suportă module stivuibile și module I2C grove.

Acum are deja diferite modele de bază, zeci de module stivuibile și acceptă, de asemenea, tone de module I2C Grove.

Ref.:

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

m5stack.com/

Pasul 3: De ce să joci jocul retro cu ESP32?

De ce să joci jocul retro cu ESP32?
De ce să joci jocul retro cu ESP32?
De ce să joci jocul retro cu ESP32?
De ce să joci jocul retro cu ESP32?

Este un subiect foarte popular care folosește Raspberry Pi pentru a crea o consolă de jocuri retro cu distribuție Retropie.

Face treaba foarte bine, dar cea mai notabilă problemă este timpul de pornire.

Nu vreau să aștept peste jumătate de minut pentru a intra într-un joc retro, o adevărată consolă de jocuri nu este nevoie să aștept asta!

Apoi am găsit esp32-nesemu nu este nevoie să aștept boot, așa că încerc să folosesc M5Stack pentru a construi o consolă de jocuri NES.

Pasul 4: Pregătirea hardware-ului

Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului
Pregătirea hardware-ului

Arduino Esplora

Produsul oficial este depășit, dar este încă foarte ușor să găsiți o clonă pe web.

M5Stack

Orice nucleu M5Stack cu ecran LCD de 2,0 ar trebui să fie ok.

Anteturi Pin

2 pini antet masculin-masculin și 6 pini antet masculin-feminin.

Cablu de conversie Grove

Se preferă cablul de conversie masculin normal cu 4 pini, jumper la Grove, cu 4 pini. Nu am avut acest cablu în mână, așa că tocmai am patch-ul 1 pentru a conecta singuri pinii SCL și SDA.

Pasul 5: Pregătirea software-ului

Pregătirea software-ului
Pregătirea software-ului

IDE Arduino

Descărcați și instalați Arduino IDE dacă nu încă:

www.arduino.cc/en/Main/Software

ESP-IDF

Urmați ghidul de configurare pentru a instala ESP-IDF dacă nu este încă:

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

Pasul 6: Programați I2C Gamepad

Program I2C Gamepad
Program I2C Gamepad
Program I2C Gamepad
Program I2C Gamepad

Am scris un program simplu pentru a citi joystick-ul și butoanele de intrare și a-l traduce în mesaj I2C.

Iată pașii programului:

  1. Descărcați esplora-i2c-gamepad.ino de pe GitHub:
  2. Conectați Esplora la computer
  3. Deschide Arduino
  4. Încărcați programul

Pasul 7: Breakout Esplora I2C

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

Arduino Esplora are majoritatea interfețelor I / O și utilizator, dar în mod ironic este lipsa pinilor I2C (Grove System).

Din fericire, pinii I2C din ATMega32U4 nu sunt încă folosiți în alte scopuri. Și, de asemenea, antetul pinului din stânga de pe Esplora „nu este conectat în prezent”, putem folosi acest antet pin pentru a sparge pinii I2C.

Pur și simplu utilizați 2 fire și unele lucrări de lipire pentru a conecta ATMega32U4 pinul 18 (SCL) și pinul 19 (SDA) la antetul pinului stâng.

Ref.:

Pasul 8: Folosiți Pin Headers pentru a repara M5Stack pe Esplora

Folosiți Pin Headers pentru a remedia M5Stack pe Esplora
Folosiți Pin Headers pentru a remedia M5Stack pe Esplora
Folosiți Pin Headers pentru a remedia M5Stack pe Esplora
Folosiți Pin Headers pentru a remedia M5Stack pe Esplora
Folosiți Pin Headers pentru a remedia M5Stack pe Esplora
Folosiți Pin Headers pentru a remedia M5Stack pe Esplora

Cei mai mulți 2 pini inferiori de la antetul pinului din partea dreaptă Esplora sunt GND și 5V, se pot potrivi cu pinout-ul de bază M5Stack. Deci, putem îndoi un antet cu 2 pini mascul-mascul pentru a ne conecta reciproc.

Antetul pinului din stânga Esplora nu a conectat nimic, pașii anteriori au folosit 2 topuri cele mai mari în timp ce I2C izbucnește. Au rămas 6 pini, putem îndoi un antet cu 6 pini mascul-feminin pentru a fixa M5Stack pe Esplora.

Pasul 9: Conectați pinii I2C

Conectați pinii I2C
Conectați pinii I2C
Conectați pinii I2C
Conectați pinii I2C

Esplora și M5Stack comunică cu protocolul I2C, M5Stack acționează ca master I2C și Esplora este I2C slave.

Deoarece GND și 5V s-au conectat deja la pașii anteriori, doar SCL și SDA au necesitat o conexiune suplimentară.

Pasul 10: Programați M5Stack

Program M5Stack
Program M5Stack
Program M5Stack
Program M5Stack
Program M5Stack
Program M5Stack
Program M5Stack
Program M5Stack
  1. Descărcați versiunea revizuită a esp32-nesemu din GitHub:
  2. Sub esp32-nesemu, rulați „face menuconfig”
  3. Introduceți submeniul „Configurare specifică Nofrendo ESP32”
  4. Selectați „Hardware pentru a rula” în „M5Stack”
  5. Activați „Audio analog pe GPIO26”
  6. Selectați „Tip controler” la „I2C Gamepad”
  7. Ieșiți din menuconfig
  8. Rulați „make -j5 all” pentru a compila programul
  9. Conectați M5Stack la computer
  10. Rulați „make flash” pentru a bloca binele compilat pe M5Stack
  11. Rulați „sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME”

Pasul 11: Bucurați-vă

Bucurați-vă!
Bucurați-vă!

Este timpul să vă jucați jocul de favoare!

Recomandat: