
İçindekiler:
- Adım 1: Arduino Esplora Nedir?
- Adım 2: M5Stack Nedir?
- 3. Adım: Neden ESP32 ile Retro Oyunu Oynamalısınız?
- Adım 4: Donanım Hazırlığı
- Adım 5: Yazılım Hazırlığı
- Adım 6: I2C Gamepad'i Programlayın
- 7. Adım: Esplora I2C'yi Çıkarma
- 8. Adım: M5Stack'i Esplora'da Düzeltmek için Pin Başlıklarını Kullanın
- 9. Adım: I2C Pinlerini Bağlayın
- Adım 10: M5Stack'i Programlayın
- Adım 11: Keyfini çıkarın
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13

Bu talimat, bir NES oyun konsolu yapmak için Arduino Esplora ve M5Stack'in nasıl birleştirileceğini gösterir.
Adım 1: Arduino Esplora Nedir?

Arduino Esplora, bir Atmega32U4 AVR mikrodenetleyici kartıdır.
Eşsiz Arduino kartlarıdır, çünkü bir joystick, 4 basma düğmesi, bir kaydırıcı, bir sıcaklık sensörü, bir ivmeölçer, bir mikrofon, bir ışık sensörü vb.
Ayrıca Arduino IDE, hepsini kullanmak için çeşitli örnekler verdi.
Bu sefer Esplora'yı I2C gamepad olarak işlev görecek bir I2C bağımlı cihazı olarak programlayacağım.
Referans:
Adım 2: M5Stack Nedir?


M5Stack, 2017'de bir kickstarter projesinden başlar, ESP32 çekirdeği, yerleşik 2,0 renkli LCD, küçük 5 cm form faktörü, istiflenebilir modülleri ve grove I2C modüllerini destekler.
Şimdi zaten çeşitli çekirdek modelleri, onlarca istiflenebilir modülü var ve ayrıca tonlarca I2C Grove modülünü destekliyor.
Referans:
www.kickstarter.com/projects/179167367/m5s…
m5stack.com/
3. Adım: Neden ESP32 ile Retro Oyunu Oynamalısınız?


Raspberry Pi'yi Retropie dağıtımı ile retro bir oyun konsolu yapmak için kullanmak çok popüler bir konudur.
İşi çok iyi yapıyor, ancak en dikkat çekici sorun önyükleme süresi.
Retro bir oyuna girmek için yarım dakikadan fazla beklemek istemiyorum, gerçek bir oyun konsolu bunun için beklemeye gerek yok!
Sonra esp32-nesemu'nun önyüklemeyi beklemeye gerek olmadığını gördüm, bu yüzden bir NES oyun konsolu oluşturmak için M5Stack'i kullanmaya çalışıyorum.
Adım 4: Donanım Hazırlığı




Arduino Esplora
Resmi ürün eskidi ama yine de internette bir klon bulmak çok kolay.
M5Yığın
2.0 LCD'li herhangi bir M5Stack çekirdeği iyi durumda olmalıdır.
Pin Başlıkları
2 pin erkek-erkek pin başlığı ve 6 pin erkek-dişi pin başlığı.
Grove Dönüştürme Kablosu
Normal 4 pinli Erkek Jumper - Grove 4 pinli Dönüşüm Kablosu tercih edilir. Elimde bu kablo yoktu, bu yüzden SCL ve SDA pinlerini kendim bağlamak için sadece 1 yama yaptım.
Adım 5: Yazılım Hazırlığı

Arduino IDE'si
Henüz değilse, Arduino IDE'yi indirin ve yükleyin:
www.arduino.cc/en/Main/Software
ESP-IDF
Henüz yapmadıysanız, ESP-IDF'yi yüklemek için kurulum kılavuzunu izleyin:
docs.espressif.com/projects/esp-idf/en/sta…
Adım 6: I2C Gamepad'i Programlayın


Joystick ve butonların girişini okuyup I2C mesajına çevirmek için basit bir program yazdım.
İşte program adımları:
- Esplora-i2c-gamepad.ino'yu GitHub'dan indirin:
- Esplora'yı bilgisayara bağlayın
- Arduino'yu aç
- Programı yükle
7. Adım: Esplora I2C'yi Çıkarma



Arduino Esplora, çoğu I/O ve kullanıcı arayüzüne sahiptir, ancak ironik olarak, I2C (Grove System) koparma pinlerinin olmamasıdır.
Neyse ki, ATMega32U4'teki I2C pinleri henüz başka amaçlar için kullanılmamaktadır. Ayrıca Esplora'daki sol taraftaki pin başlığı "şu anda bağlı değil", bu pin başlığını I2C pinlerini kırmak için kullanabiliriz.
ATMega32U4 pin 18 (SCL) ve pin 19'u (SDA) sol pin başlığına bağlamak için 2 kablo ve biraz lehimleme işi kullanın.
Referans:
8. Adım: M5Stack'i Esplora'da Düzeltmek için Pin Başlıklarını Kullanın



Esplora sağ taraftaki pin başlığındaki en fazla 2 alt pin GND ve 5V'dir, M5Stack çekirdek taban pin çıkışı ile eşleştirilebilir. Böylece birbirine bağlamak için 2 pin erkek-erkek pin başlığını bükebiliriz.
Esplora sol taraftaki pin başlığı hiçbir şeye bağlanmadı, önceki adımlar I2C patladığında en üstteki 2 pini kullandı. 6 pin kaldı, M5Stack'i Esplora'ya sabitlemek için 6 pinli erkek-dişi pin başlığını bükebiliriz.
9. Adım: I2C Pinlerini Bağlayın


Esplora ve M5Stack, I2C protokolü ile iletişim kurar, M5Stack, I2C ana işlevi görür ve Esplora, I2C bağımlı birimidir.
GND ve 5V önceki adımlarda zaten bağlı olduğundan, yalnızca SCL ve SDA daha fazla bağlantı gerektiriyordu.
Adım 10: M5Stack'i Programlayın




- GitHub'dan esp32-nesemu'nun gözden geçirilmiş sürümünü indirin:
- esp32-nesemu altında "make menuconfig" komutunu çalıştırın
- "Nofrendo ESP32'ye özgü konfigürasyon" alt menüsüne girin
- "M5Stack" için "Çalıştırılacak donanım"ı seçin
- "GPIO26'da analog ses" seçeneğini etkinleştirin
- "I2C Gamepad" için "Kontrolör tipi"ni seçin
- menuconfig'den çık
- Programı derlemek için "make -j5 all" komutunu çalıştırın
- M5Stack'i bilgisayara bağlayın
- Derlenmiş ikili dosyayı M5Stack'e flashlamak için "make flash" komutunu çalıştırın
- "sh flashrom.sh PATH_TO_YOUR_NES_ROM_FILENAME" komutunu çalıştırın
Adım 11: Keyfini çıkarın

İyilik oyununu oynamanın zamanı geldi!
Önerilen:
StickC M5Stack LED Yanıp Sönme: 7 Adım

StickC M5Stack LED Yanıp Sönme: Bu projede M5StickC ESP32 modülü kullanarak LED Yanıp Sönme nasıl bağlanacağını ve yapılacağını öğreneceğiz.Videoyu İzle
M5STACK Visuino Kullanarak M5StickC ESP32 Üzerinde Sıcaklık, Nem ve Basıncı Görüntüleme - Yapması Kolay: 6 Adım

M5STACK Visuino Kullanarak M5StickC ESP32 Üzerinde Sıcaklık, Nem ve Basıncı Görüntüleme - Yapması Kolay: Bu eğitimde, ESP32 M5Stack StickC'yi Arduino IDE ve Visuino ile ENV sensörünü (DHT12, BMP280, BMM150)
M5Stack StickC'den Delphi'ye Nasıl Veri Gönderilir: 6 Adım

M5Stack StickC'den Delphi'ye Nasıl Veri Gönderilir: Bu videoda Visuino kullanarak StickC kartından Delphi VCL Uygulamasına nasıl değer gönderileceğini öğreneceğiz.Videoyu izleyin
Arduino IDE ve Visuino ile ESP32 M5Stack StickC Nasıl Programlanır: 12 Adım

Arduino IDE ve Visuino ile ESP32 M5Stack StickC Nasıl Programlanır: Bu eğitimde ESP32 M5Stack StickC'yi Arduino IDE ve Visuino ile nasıl programlayacağımızı öğreneceğiz. Bir tanıtım videosunu izleyin
Arduino Esplora Temelleri: 4 Adım

Arduino Esplora Temelleri: Ah! Seni orada görmedim! Harika Esplora panosunun temellerinin temellerini öğrenmek istemeniz gerekir. Pekala, içeri gelin. Bu eğitim size Esplora'nızla yapabileceğiniz birkaç güzel numarayı öğretecek