İçindekiler:

ESP32 El Oyun Konsolu: 21 Adım (Resimlerle)
ESP32 El Oyun Konsolu: 21 Adım (Resimlerle)

Video: ESP32 El Oyun Konsolu: 21 Adım (Resimlerle)

Video: ESP32 El Oyun Konsolu: 21 Adım (Resimlerle)
Video: TİKTOK DİLENCİLERİ PART 1 DAHA NELER DEDİRTEN Video #tiktok #tiktokvideo #tiktokvideo 2024, Temmuz
Anonim
Image
Image
Donanım Hazırlığı
Donanım Hazırlığı

Bu talimat, bir NES öykünücü oyun konsolu oluşturmak için bir ESP32 ve ATtiny861'in nasıl kullanılacağını gösterir.

Adım 1: Donanım Hazırlığı

Donanım Hazırlığı
Donanım Hazırlığı
Donanım Hazırlığı
Donanım Hazırlığı

ESP32 Geliştirme Kartı

Bu sefer bir TTGO T8 ESP32 geliştirme kartı kullanıyorum. Bu kart, yerleşik Lipo şarj ve düzenleme devresine sahiptir, ekstra bileşenlerin azaltılmasına yardımcı olabilir.

Görüntülemek

Bu sefer 2,4 IPS LCD kullanıyorum. Sürücü denetleyicisi ST7789V ve çözünürlük 320 x 240. Bu çözünürlük NES emülatörü 252 x 224 çözünürlüğe en uygun olanıdır.

pil

Bu sefer 454261 Lipo pil kullanıyorum. 4.5 mm ESP32 dev kartının kalınlığı ve 61 mm kartın genişliğidir.

PIN başlığı

I2C gamepad'i bağlamak için 4 pinli erkek yuvarlak pin başlığı ve 4 pinli dişi yuvarlak pin başlığı.

PETG Plaka

Geliştirme kartını ve Lipo pili desteklemek için küçük bir PET/PETG plakası, ürün ambalajında kolayca bulabilirsiniz.

Çok Amaçlı PCB

2 PCB gereklidir, Ekranı desteklemek için 1 0,4 mm kalınlığında, I2C gamepad için 1 1,2 mm kalınlığında.

Düğmeler

5 yön düğmesi, Seç ve Başlat için 2 küçük düğme ve A ve B düğmesi için 2 küçük düğme.

I2C Oyun Kumandası Denetleyicisi

Bu sefer bir ATtiny861 mikro denetleyicisini I2C gamepad denetleyicisi olarak kullanıyorum.

Diğerleri

1 SMD 12 Ohm direnç, bir ISP programcısı (ör. TinyISP)

Adım 2: Yazılım Hazırlığı

Yazılım Hazırlığı
Yazılım Hazırlığı
Yazılım Hazırlığı
Yazılım Hazırlığı
Yazılım Hazırlığı
Yazılım Hazırlığı

Arduino IDE'si

Henüz değilse Arduino IDE'yi indirin ve kurun:

ATTinyCore Desteği

Henüz değilse, ATTinyCore desteği eklemek için kurulum adımlarını izleyin:

ESP-IDF

Henüz yapmadıysanız, geliştirme ortamını kurmak için ESP-IDF başlangıç kılavuzunu izleyin:

3. Adım: 3D Baskı

3D Baskı
3D Baskı

Kasayı indirin ve yazdırın:

Adım 4: LCD Desteği

LCD Desteği
LCD Desteği
LCD Desteği
LCD Desteği

LCD desteği için 24 x 27 delikli 0,4 mm PCB kesin. LCD FPC'yi katlamak için biraz yer ayırmayı unutmayın. Ardından, LCD'yi PCB'ye sabitleyen bir çift taraflı yapışkan bant kullanın.

Adım 5: PETG Plakasını Hazırlayın

PETG Plakasını Hazırlayın
PETG Plakasını Hazırlayın
PETG Plakasını Hazırlayın
PETG Plakasını Hazırlayın

Geliştirme kartı ve Lipo pil desteği için 62 mm x 69 mm PETG plakasını kesin.

6. Adım: ESP32 Dev Board'u onarın

ESP32 Geliştirme Kartını Düzeltin
ESP32 Geliştirme Kartını Düzeltin

Geliştirme kartını PETG plakasına sabitlemek için çift taraflı yapışkan bant kullanın.

7. Adım: Lipo Pili Düzeltin

Lipo Pili Düzeltin
Lipo Pili Düzeltin

Lipo pili geliştirme kartının yanında sabitlemek için çift taraflı yapışkan bant kullanın.

8. Adım: Pil ve Geliştirme Kartını Bağlayın

Pili ve Geliştirme Kartını Bağlayın
Pili ve Geliştirme Kartını Bağlayın

9. Adım: Ekran Pinlerini Hazırlayın

Ekran Pinlerini Hazırlayın
Ekran Pinlerini Hazırlayın

LCD ekran, farklı satıcılardan birçok varyasyona sahiptir. Lütfen doğru veri sayfasını edinin ve herhangi bir yama ve bağlantıdan önce okuyun.

Bazı pinler dokunmatik panel için ayrılmıştır. Bu LCD dokunmatik panele sahip olmadığı için, bu pinleri kesmek sadece rahatsızlığı azaltabilir.

Adım 10: GND Pinlerini Bağlayın

GND Pinlerini Bağlayın
GND Pinlerini Bağlayın
GND Pinlerini Bağlayın
GND Pinlerini Bağlayın

Çoğu durumda, GND'ye bağlanmayı gerektiren birkaç pin vardır. Lehimleme çabasını azaltmak için, tüm GND pinlerine ulaşmak için bakır bir bant şekli kestim ve ardından tamamen lehimledim.

Adım 11: Vcc Pinlerini Bağlayın

Vcc Pinlerini Bağlayın
Vcc Pinlerini Bağlayın

Vcc, LCD gücü ve LED gücüne bağlanması gereken 2 pin vardır. Veri sayfasına göre, LCD gücü, geliştirme kartı 3,3 V pinine doğrudan bağlanabilir, ancak LED gücü 3,3 V'tan biraz daha düşük çalışır. Bu nedenle, ortaya bir SMD direnci eklemek daha iyidir, örn. 12 Ohm direnç.

Adım 12: LCD ve Geliştirme Kartı Desteğini Bağlayın

LCD ve Geliştirme Kartı Desteğini Bağlayın
LCD ve Geliştirme Kartı Desteğini Bağlayın

bant bağlantılı LCD desteğini ve geliştirme kartı desteğini birlikte kullanın. Her iki destek de katlama için yaklaşık 5 mm boşluk bırakmalıdır.

Adım 13: SPI Pinlerini Bağlayın

SPI Pinlerini Bağlayın
SPI Pinlerini Bağlayın

İşte bağlantı özeti:

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> bağlı değil Vcc -> 3,3 V LED+ -> 12 Ohm direnç -> 3,3 V LED - -> GND

Adım 14: Flaş Programı

Flaş Programı
Flaş Programı
Flaş Programı
Flaş Programı
Flaş Programı
Flaş Programı
Flaş Programı
Flaş Programı
  1. Kaynak kodunu GitHub'dan indirin:
  2. Kaynak kod klasörü altında "make menuconfig" komutunu çalıştırın
  3. "Nofrendo ESP32'ye özgü yapılandırma"yı seçin
  4. "Çalıştırılacak donanım" -> "Özel Donanım"ı seçin
  5. "LCD Tipi" -> "ST7789V LCD"yi seçin
  6. Dolgu pin ayarları: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
  7. Çık ve Kaydet
  8. "make -j5 flash" komutunu çalıştırın
  9. "sh flashrom.sh PATH_TO_YOUR_ROM_FILE" komutunu çalıştırın

Adım 15: I2C Bağlayıcı

I2C Bağlayıcı
I2C Bağlayıcı
I2C Bağlayıcı
I2C Bağlayıcı
I2C Bağlayıcı
I2C Bağlayıcı

I2C pinlerini koparın, ESP32 varsayılan I2C pinleri:

Pin 1 (SCL) -> GPIO 22

Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (Lipo pil ile çalışırken 5 V güç yok) Pin 4 (GND) -> GND

Adım 16: Montaj Bölüm 1

Image
Image

Tüm parçaları kasaya katlamak ve sıkıştırmak için video adımlarını izleyin.

Adım 17: Prototip I2C Gamepad

Prototip I2C Oyun Kumandası
Prototip I2C Oyun Kumandası
Prototip I2C Oyun Kumandası
Prototip I2C Oyun Kumandası

I2C Gamepad için program çok basit, sadece 15 satır kod. Ancak lehimlemeden sonra ATtiny861'i yeniden programlamak biraz zor, bu yüzden önce devre tahtasında test etmek daha iyi.

Programı GitHub'dan indirin, derleyin ve flashlayın:

Adım 18: I2C Gamepad'i Oluşturun

I2C Gamepad'i oluşturun
I2C Gamepad'i oluşturun
I2C Gamepad'i oluşturun
I2C Gamepad'i oluşturun
I2C Gamepad'i oluşturun
I2C Gamepad'i oluşturun

İşte bağlantı özeti:

ATtiny861 Düğmesi

GND -> Tüm düğmeler bir pim Pin 20 (PA0) -> Yukarı düğmesi Pin 19 (PA1) -> Aşağı düğmesi Pin 18 (PA2) -> Sol düğme Pin 17 (PA3) -> Sağ düğme Pin 14 (PA4) -> Seçim düğmesi Pin 13 (PA5) -> Başlat düğmesi Pin 12 (PA6) -> A düğmesi Pin 11 (PA7) -> B düğmesi Pin 6 (GND) -> I2C erkek pin başlık pin 4 Pin 5 (Vcc) -> I2C erkek pin başlık pin 3 Pin 3 (SCL) -> I2C erkek pin başlık pin 1 Pin 1 (SDA) -> I2C erkek pin başlık pin 2

Adım 19: Montaj Bölüm 2

Image
Image
İsteğe bağlı: Ses Koparma Pimleri
İsteğe bağlı: Ses Koparma Pimleri

Kapağı ve I2C gamepad'i ana gövdeye takmak için video adımlarını izleyin.

20. Adım: İsteğe bağlı: Ses Koparma Pinleri

Image
Image
İsteğe bağlı: Ses Koparma Pimleri
İsteğe bağlı: Ses Koparma Pimleri

ESP32 dev kartı Pin 25 ve 26, analog ses sinyali veriyor, bu 2 pini ve ayrıca üstteki güç pinlerini (3.3 V ve GND) koparmak çok kolay. Ardından, takmak için bir kulaklığı yamalayabilirsiniz. Veya yüksek sesle çalmak için hoparlörlü bir ses yükseltici modülü bile ekleyebilirsiniz.

Adım 21: Sırada Ne Var?

Sıradaki ne?
Sıradaki ne?

NES emülatörü, ESP32 ile yapabileceğiniz tek ilginç şey değil. Örneğin. onunla bir mikro python konsolu oluşturabilirsiniz. Değiştirmeniz gereken tek bileşen, I2C gamepad'den I2C klavyeye geçmektir. Bunu bir ATtiny88 kontrol cihazı ile yapmanın o kadar da zor olmadığını düşünüyorum. Durumu görmek için twitterımı takip edebilirsiniz.

Önerilen: