ዝርዝር ሁኔታ:

ESP32 በእጅ የሚያዙ የጨዋታ ኮንሶል 21 ደረጃዎች (ከስዕሎች ጋር)
ESP32 በእጅ የሚያዙ የጨዋታ ኮንሶል 21 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ESP32 በእጅ የሚያዙ የጨዋታ ኮንሶል 21 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ESP32 በእጅ የሚያዙ የጨዋታ ኮንሶል 21 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ESP32, более мощная чем любая другая Ардуино 2024, ሀምሌ
Anonim
Image
Image
የሃርድዌር ዝግጅት
የሃርድዌር ዝግጅት

ይህ አስተማሪዎች የ NES አስመሳይ ጨዋታ ኮንሶልን ለመገንባት ESP32 እና ATtiny861 ን እንዴት እንደሚጠቀሙ ያሳያሉ።

ደረጃ 1 የሃርድዌር ዝግጅት

የሃርድዌር ዝግጅት
የሃርድዌር ዝግጅት
የሃርድዌር ዝግጅት
የሃርድዌር ዝግጅት

ESP32 ዴቭ ቦርድ

በዚህ ጊዜ የ TTGO T8 ESP32 dev ቦርድ እጠቀማለሁ። ይህ ቦርድ አብሮ የተሰራ የሊፖ ባትሪ መሙያ እና መቆጣጠሪያ ወረዳ አለው ፣ ተጨማሪ ክፍሎችን ለመቀነስ ይረዳል።

ማሳያ

በዚህ ጊዜ እኔ 2.4 IPS LCD ን እየተጠቀምኩ ነው። የአሽከርካሪው ተቆጣጣሪ ST7789V እና ጥራት 320 x 240 ነው። ይህ ጥራት ለ NES emulator 252 x 224 ጥራት በጣም ተስማሚ ነው።

ባትሪ

በዚህ ጊዜ እኔ 454261 ሊፖ ባትሪ እየተጠቀምኩ ነው። 4.5 ሚሜ የ ESP32 dev ሰሌዳ ውፍረት ነው ፣ እና 61 ሚሜ የቦርዱ ስፋት ነው።

የፒን ራስጌ

I2C የጨዋታ ሰሌዳ ለማገናኘት የ 4 ፒኖች ወንድ ክብ የፒን ራስጌ እና 4 ፒኖች ሴት ክብ ፒን ራስጌ።

PETG ሳህን

የዴቭ ቦርድ እና የሊፖ ባትሪ ለመደገፍ ትንሽ የ PET/PETG ሳህን ፣ በምርት ማሸጊያ ውስጥ በቀላሉ ሊያገኙት ይችላሉ።

ባለብዙ ዓላማ ፒ.ሲ.ቢ

2 PCB ያስፈልጋል ፣ ማሳያውን ለመደገፍ 1 0.4 ሚሜ ውፍረት ፣ ለ I2C የጨዋታ ሰሌዳ 1 1.2 ሚሜ ውፍረት።

አዝራሮች

የ 5 አቅጣጫዎች አዝራር ፣ ለመምረጥ እና ለመጀመር 2 ትናንሽ አዝራሮች እና 2 ለ A እና ለ አዝራር።

I2C Gamepad ተቆጣጣሪ

በዚህ ጊዜ ATtiny861 ማይክሮ መቆጣጠሪያን እንደ I2C የጨዋታ ሰሌዳ መቆጣጠሪያ እጠቀማለሁ።

ሌሎች

1 SMD 12 Ohm resistor ፣ ISP ፕሮግራም አውጪ (ለምሳሌ TinyISP)

ደረጃ 2 የሶፍትዌር ዝግጅት

የሶፍትዌር ዝግጅት
የሶፍትዌር ዝግጅት
የሶፍትዌር ዝግጅት
የሶፍትዌር ዝግጅት
የሶፍትዌር ዝግጅት
የሶፍትዌር ዝግጅት

አርዱዲኖ አይዲኢ

Arduino IDE ን ገና ያውርዱ እና ይጫኑት -

ATTinyCore ድጋፍ

ገና ካልሆነ የ ATTinyCore ድጋፍን ለመጨመር የመጫኛ ደረጃዎቹን ይከተሉ

ESP-IDF

ገና ካልሆነ የልማት አካባቢውን ለማቀናበር የ ESP-IDF ን ይከተሉ

ደረጃ 3: 3 ዲ ማተም

3 ዲ ማተሚያ
3 ዲ ማተሚያ

ጉዳዩን ያውርዱ እና ያትሙ -

ደረጃ 4: ኤልሲዲ ድጋፍ

ኤልሲዲ ድጋፍ
ኤልሲዲ ድጋፍ
ኤልሲዲ ድጋፍ
ኤልሲዲ ድጋፍ

ለኤልሲዲ ድጋፍ 24 x 27 ቀዳዳዎች 0.4 ሚሜ ፒሲቢ ይቁረጡ። ያስታውሱ LCD FPC ን ለማጠፍ የተወሰነ ቦታ ይያዙ። ከዚያ አንዳንድ ባለ ሁለት ጎን ተጣጣፊ ቴፕ ይጠቀሙ ፒሲሲ ላይ ኤልሲዲውን ያስተካክሉ።

ደረጃ 5 የ PETG ሳህን ያዘጋጁ

PETG ሳህን ያዘጋጁ
PETG ሳህን ያዘጋጁ
PETG ሳህን ያዘጋጁ
PETG ሳህን ያዘጋጁ

ለዴቨርድ ቦርድ እና ለሊፖ ባትሪ ድጋፍ 62 ሚሜ x 69 ሚሜ PETG ሳህን ይቁረጡ።

ደረጃ 6: ESP32 ዴቭ ቦርድን ያስተካክሉ

ESP32 ዴቭ ቦርድ ያስተካክሉ
ESP32 ዴቭ ቦርድ ያስተካክሉ

በ PETG ሳህን ላይ የዴቨርድ ሰሌዳውን ለማስተካከል ባለ ሁለት ጎን ማጣበቂያ ቴፕ ይጠቀሙ።

ደረጃ 7 የሊፖ ባትሪ ያስተካክሉ

የሊፖ ባትሪ ያስተካክሉ
የሊፖ ባትሪ ያስተካክሉ

ከሊፕ ቦርድ በተጨማሪ የሊፖ ባትሪ ለመጠገን ድርብ የጎን ማጣበቂያ ቴፕ ይጠቀሙ።

ደረጃ 8 ባትሪ እና ዴቭ ቦርድ ያገናኙ

የባትሪ እና የዲቪ ቦርድ ያገናኙ
የባትሪ እና የዲቪ ቦርድ ያገናኙ

ደረጃ 9 የማሳያ ፒኖችን ያዘጋጁ

የማሳያ ፒኖችን ያዘጋጁ
የማሳያ ፒኖችን ያዘጋጁ

ኤልሲዲ ማሳያ ብዙ የተለያዩ ዓይነቶች ሻጮች አሏቸው። እባክዎን ትክክለኛውን የውሂብ ሉህ ያግኙ እና ከማንኛውም ማጣበቂያ እና ግንኙነት በፊት ያንብቡት።

አንዳንድ ካስማዎች ለንክኪ ፓነል ተይዘዋል። ይህ ኤልሲዲ የንክኪ ፓነል ስለሌለው በቀላሉ እነዚያን ፒኖች መቁረጥ ብጥብጡን ሊቀንስ ይችላል።

ደረጃ 10 GND ፒኖችን ያገናኙ

የ GND ፒኖችን ያገናኙ
የ GND ፒኖችን ያገናኙ
የ GND ፒኖችን ያገናኙ
የ GND ፒኖችን ያገናኙ

በአብዛኛዎቹ ሁኔታዎች ከ GND ጋር መገናኘት የሚያስፈልጋቸው ጥቂት ፒኖች አሉ። የሽያጭ ጥረትን ለመቀነስ ፣ ሁሉንም የ GND ፒኖች ለመድረስ የመዳብ ቴፕ ቅርፅን ቆርጫለሁ እና ከዚያም ሙሉ በሙሉ ብየዳለሁ።

ደረጃ 11: Vcc ፒኖችን ያገናኙ

Vcc ፒኖችን ያገናኙ
Vcc ፒኖችን ያገናኙ

ከቪሲሲ ፣ ኤልሲዲ ኃይል እና ኤልኢዲ ኃይል ጋር ለመገናኘት 2 ፒኖች አሉ። በመረጃ ሉህ መሠረት ፣ ኤልሲዲ ኃይል በቀጥታ ከዲቪ ቦርድ 3.3 ቪ ፒን ጋር መገናኘት ይችላል ፣ ግን የ LED ኃይል ከ 3.3 V. በጥቂቱ ይሠራል ስለዚህ በመሃል ላይ የ SMD ተከላካይ ማከል የተሻለ ነው ፣ ለምሳሌ። 12 Ohm resistor።

ደረጃ 12 LCD እና Dev ቦርድ ድጋፍን ያገናኙ

LCD እና Dev ቦርድ ድጋፍን ያገናኙ
LCD እና Dev ቦርድ ድጋፍን ያገናኙ

ቴፕን ያገናኙ የ LCD ድጋፍን እና የዲቦርድ ድጋፍን በአንድ ላይ ይጠቀሙ። ሁለቱም ድጋፍ ለመታጠፍ 5 ሚሜ አካባቢን መያዝ አለባቸው።

ደረጃ 13 SPI ፒኖችን ያገናኙ

የ SPI ፒኖችን ያገናኙ
የ SPI ፒኖችን ያገናኙ

የግንኙነት ማጠቃለያ እነሆ-

LCD ESP32

GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> አልተገናኘም Vcc -> 3.3 V LED+ -> 12 Ohm resistor -> 3.3 V LED - -> GND

ደረጃ 14 - የፍላሽ ፕሮግራም

የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
የፍላሽ ፕሮግራም
  1. በ GitHub ላይ የምንጭ ኮዱን ያውርዱ
  2. ከምንጩ ኮድ አቃፊ ስር “ምናሌconfig አድርግ” ን ያሂዱ
  3. «Nofrendo ESP32-specific configuration» ን ይምረጡ
  4. “የሚሄድ ሃርድዌር” -> “ብጁ ሃርድዌር” ን ይምረጡ
  5. “ኤልሲዲ ዓይነት” -> “ST7789V ኤልሲዲ” ን ይምረጡ
  6. የፒን ቅንብሮችን ይሙሉ -MISO -> -1 ፣ MOSI -> 23 ፣ CLK -> 18 ፣ CS -> 5 ፣ DC -> 27 ፣ RST -> 33 ፣ የጀርባ ብርሃን -> -1 ፣ አይፒኤስ -> ያ
  7. ውጣ እና አስቀምጥ
  8. "Make -j5 flash" ን ያሂዱ
  9. "Sh flashrom.sh PATH_TO_YOUR_ROM_FILE" ን ያሂዱ

ደረጃ 15 - I2C አገናኝ

I2C አገናኝ
I2C አገናኝ
I2C አያያዥ
I2C አያያዥ
I2C አያያዥ
I2C አያያዥ

የ I2C ፒኖችን ይለያዩ ፣ ESP32 ነባሪ I2C ካስማዎች የሚከተሉት ናቸው

ፒን 1 (SCL) -> ጂፒዮ 22

ፒን 2 (ኤስዲኤ) -> ጂፒኦ 21 ፒን 3 (ቪሲሲ) -> 3.3 ቮ (በሊፖ ባትሪ ሲሠራ 5 ቪ ኃይል የለም) ፒን 4 (GND) -> GND

ደረጃ 16 - ስብሰባ ክፍል 1

Image
Image

ሁሉንም ክፍሎች ወደ መያዣው ለማጠፍ እና ለመጭመቅ የቪዲዮ ደረጃዎቹን ይከተሉ።

ደረጃ 17 ፕሮቶታይፕ I2C የጨዋታ ሰሌዳ

ፕሮቶታይፕ I2C የጨዋታ ሰሌዳ
ፕሮቶታይፕ I2C የጨዋታ ሰሌዳ
ፕሮቶታይፕ I2C የጨዋታ ሰሌዳ
ፕሮቶታይፕ I2C የጨዋታ ሰሌዳ

ለ I2C Gamepad ፕሮግራሙ በጣም ቀላል ነው ፣ 15 የኮድ መስመሮች ብቻ። ነገር ግን ከሽያጭ በኋላ ATtiny861 ን እንደገና ማረም ትንሽ ከባድ ነው ፣ ስለሆነም በመጀመሪያ በዳቦ ሰሌዳው ላይ ቢሞክረው ይሻላል።

ፕሮግራሙን ከ GitHub ያውርዱ ፣ ያጠናቅሩት እና ያብሩት

ደረጃ 18: I2C Gamepad ን ይገንቡ

I2C Gamepad ን ይገንቡ
I2C Gamepad ን ይገንቡ
I2C Gamepad ን ይገንቡ
I2C Gamepad ን ይገንቡ
I2C Gamepad ን ይገንቡ
I2C Gamepad ን ይገንቡ

የግንኙነት ማጠቃለያ እዚህ አለ

ATtiny861 አዝራር

GND -> ሁሉም አዝራሮች አንድ ፒን ፒን 20 (PA0) -> የላይ አዝራር ፒን 19 (PA1) -> ታች አዝራር ፒን 18 (PA2) -> የግራ አዝራር ፒን 17 (PA3) -> የቀኝ አዝራር ፒን 14 (PA4) -> ይምረጡ አዝራር ፒን 13 (PA5) -> የመነሻ አዝራር ፒን 12 (PA6) -> የአዝራር ፒን 11 (PA7) -> ቢ አዝራር ፒን 6 (GND) -> I2C ወንድ ፒን ራስጌ ፒን 4 ፒን 5 (ቪሲሲ) -> I2C የወንድ ፒን ራስጌ ፒን 3 ፒን 3 (SCL) -> I2C ወንድ ፒን ራስጌ ፒን 1 ፒን 1 (ኤስዲኤ) -> I2C ወንድ ፒን ራስጌ ፒን 2

ደረጃ 19 - ስብሰባ ክፍል 2

Image
Image
ከተፈለገ - የኦዲዮ መለያየት ፒኖች
ከተፈለገ - የኦዲዮ መለያየት ፒኖች

ሽፋኑን እና የ I2C የጨዋታ ሰሌዳውን ወደ ዋናው አካል ለመጫን የቪዲዮ ደረጃዎቹን ይከተሉ።

ደረጃ 20 - አማራጭ - የኦዲዮ መለያየት ፒኖች

Image
Image
ከተፈለገ - የኦዲዮ መለያየት ፒኖች
ከተፈለገ - የኦዲዮ መለያየት ፒኖች

የ ESP32 dev ቦርድ ፒን 25 እና 26 የአናሎግ የድምፅ ምልክትን እያወጣ ነው ፣ እነዚህን 2 ፒኖች እና እንዲሁም የኃይል ፒኖችን (3.3 ቮ እና GND) ከላይ መፈተሽ በጣም ቀላል ነው። ከዚያ እሱን ለመሰካት የጆሮ ማዳመጫ መለጠፍ ይችላሉ። ወይም ድምፁን ከፍ አድርጎ ለመጫወት የድምፅ ማጉያ ሞዱሉን ከድምጽ ማጉያ ጋር ማከል ይችላሉ።

ደረጃ 21: ቀጥሎ ምንድነው?

ቀጥሎ ምንድነው?
ቀጥሎ ምንድነው?

በ ESP32 ማድረግ የሚችሉት ብቸኛው አስደሳች ነገር የ NES አስመሳይ አይደለም። ለምሳሌ በእሱ አማካኝነት የማይክሮ ፓይዘን ኮንሶልን መገንባት ይችላሉ። መለወጥ ያለብዎት ብቸኛው አካል ከ I2C የጨዋታ ሰሌዳ ወደ I2C ቁልፍ ሰሌዳ ነው። በ ATtiny88 ተቆጣጣሪ ማድረጉ በጣም ከባድ አይደለም ብዬ አስባለሁ። ሁኔታውን ለማየት የእኔን ትዊተር ሊከተሉ ይችላሉ።

የሚመከር: