Агуулгын хүснэгт:
- Алхам 1: Тоног төхөөрөмжийн бэлтгэл
- Алхам 2: Програм хангамж бэлтгэх
- Алхам 3: 3D хэвлэх
- Алхам 4: LCD дэмжлэг
- Алхам 5: PETG хавтан бэлтгэ
- Алхам 6: ESP32 Dev самбарыг засах
- Алхам 7: Lipo батерейг засах
- Алхам 8: Батерей ба төхөөрөмжийн самбарыг холбоно уу
- Алхам 9: Дэлгэцийн голыг бэлтгэ
- Алхам 10: GND Pins -ийг холбоно уу
- Алхам 11: Vcc Pins -ийг холбоно уу
- Алхам 12: LCD & Dev самбарын дэмжлэгийг холбоно уу
- Алхам 13: SPI Pins -ийг холбоно уу
- Алхам 14: Flash програм
- Алхам 15: I2C холбогч
- Алхам 16: Чуулган 1 -р хэсэг
- Алхам 17: I2C Gamepad прототип
- Алхам 18: I2C Gamepad бүтээх
- Алхам 19: Чуулган 2 -р хэсэг
- Алхам 20: Нэмэлт: Аудио таслах зүү
- Алхам 21: Дараа нь юу хийх вэ?
Видео: ESP32 гар тоглоомын консол: 21 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэхүү зааварчилгаа нь NES эмулятор тоглоомын консолыг бүтээхдээ ESP32 ба ATtiny861 -ийг хэрхэн ашиглахыг харуулав.
Алхам 1: Тоног төхөөрөмжийн бэлтгэл
ESP32 хөгжлийн самбар
Энэ удаад би TTGO T8 ESP32 dev хавтанг ашиглаж байна. Энэхүү самбар нь Lipo цэнэглэх, зохицуулах хэлхээг суурилуулсан бөгөөд нэмэлт бүрэлдэхүүн хэсгүүдийг багасгахад туслах болно.
Дэлгэц
Энэ удаад би 2.4 инчийн IPS LCD ашиглаж байна. Жолоочийн хянагч нь ST7789V бөгөөд нарийвчлал нь 320 x 240. Энэ нарийвчлал нь NES эмулятор 252 x 224 нарийвчлалтай хамгийн сайн тохирно.
Батерей
Энэ удаад би 454261 Lipo батерей ашиглаж байна. 4.5 мм нь ESP32 дэвтэр хавтангийн зузаан, 61 мм нь хавтангийн өргөн юм.
Толгойг зүү
I2C тоглоомын самбарыг холбоход 4 зүү эрэгтэй дугуй зүү толгой, 4 зүү эмэгтэй дугуй зүү толгой.
PETG хавтан
Хөгжүүлэгч самбар болон Lipo батерейг дэмжих зориулалттай жижиг PET/PETG хавтанг та бүтээгдэхүүний баглаа боодол дээрээс амархан олох боломжтой.
Олон зориулалттай ПХБ
Дэлгэцийг дэмжихийн тулд 0.4 мм зузаантай 1 ПХБ шаардлагатай, I2C тоглоомын талбайн хувьд 1.2 мм зузаантай.
Товчлуурууд
5 чиглэлтэй товчлуур, сонгох ба эхлүүлэх 2 жижиг товчлуур, А ба В товчлуурын 2 ширхэг.
I2C Gamepad хянагч
Энэ удаад би ATtiny861 микроконтроллерийг I2C gamepad хянагч болгон ашиглаж байна.
Бусад
1 SMD 12 Ом эсэргүүцэл, ISP програмист (жишээ нь TinyISP)
Алхам 2: Програм хангамж бэлтгэх
Arduino IDE
Хэрэв хараахан болоогүй бол Arduino IDE татаж аваад суулгана уу:
ATTinyCore дэмжлэг
Хэрэв хараахан болоогүй бол ATTinyCore дэмжлэгийг нэмэхийн тулд суулгах алхмуудыг дагана уу:
ESP-IDF
Хөгжүүлэлтийн орчныг хараахан хийгээгүй байгаа бол ESP-IDF эхлүүлэх гарын авлагыг дагана уу:
Алхам 3: 3D хэвлэх
Хэргийг татаж аваад хэвлээрэй:
Алхам 4: LCD дэмжлэг
LCD дэлгэцийн хувьд 24 х 27 цооног бүхий 0.4 мм хэмжээтэй ПХБ -ийг хайчилж ав. LCD FPC -ийг эвхэх зай үлдээхийг санаарай. Дараа нь хоёр талт наалдамхай тууз ашиглан ПХБ -ийн LCD дэлгэцийг засаарай.
Алхам 5: PETG хавтан бэлтгэ
Хөгжүүлэгч самбар болон Lipo батерейны дэмжлэгийн хувьд 62 мм х 69 мм хэмжээтэй PETG хавтанг хайчилж ав.
Алхам 6: ESP32 Dev самбарыг засах
Хоёр талт наалдамхай тууз ашиглан PETG тавцан дээрх самбарыг бэхлээрэй.
Алхам 7: Lipo батерейг засах
Lipo батерейг засахын тулд хоёр талт наалдамхай тууз ашиглана уу.
Алхам 8: Батерей ба төхөөрөмжийн самбарыг холбоно уу
Алхам 9: Дэлгэцийн голыг бэлтгэ
LCD дэлгэц нь янз бүрийн үйлдвэрлэгчдээс ялгаатай олон хувилбартай байдаг. Зөв өгөгдлийн хүснэгтийг олж аваад засвар, холболт хийхээс өмнө уншина уу.
Зарим тээглүүр нь мэдрэгчтэй самбар дээр зориулагдсан байдаг. Энэхүү LCD дэлгэц нь мэдрэгчтэй самбаргүй тул эдгээр тээглүүрийг таслахад л эвдрэлийг бууруулдаг.
Алхам 10: GND Pins -ийг холбоно уу
Ихэнх тохиолдолд GND -д холбогдох шаардлагатай цөөн тооны зүү байдаг. Гагнуурын хүчин чармайлтыг багасгахын тулд би бүх GND тээглүүрт хүрэхийн тулд зэс соронзон хальсны хэлбэрийг хайчилж, дараа нь бүхэлд нь гагнах болно.
Алхам 11: Vcc Pins -ийг холбоно уу
Vcc, LCD болон LED тэжээлд холбогдохын тулд 2 зүү шаардлагатай. Мэдээллийн хүснэгтэд дурдсанаар, LCD хүч нь 3.3 В -ийн зүү залгуурт шууд холбогдож болох боловч LED хүч нь 3.3 В -оос бага зэрэг бага ажилладаг тул дунд хэсэгт SMD резистор нэмэх нь дээр. 12 Ом эсэргүүцэл.
Алхам 12: LCD & Dev самбарын дэмжлэгийг холбоно уу
LCD дэмжлэг ба дэвтэрийн дэмжлэгийг хамтад нь соронзон хальс ашиглан холбоно уу. Хоёр тулгуур хоёулаа эвхэхийн тулд ойролцоогоор 5 мм зайтай байх ёстой.
Алхам 13: SPI Pins -ийг холбоно уу
Энд холболтын хураангуй байна:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> холбогдоогүй Vcc -> 3.3 В LED+ -> 12 Ом эсэргүүцэл -> 3.3 В LED - -> GND
Алхам 14: Flash програм
- GitHub дээрээс эх кодыг татаж авна уу:
- Эх кодын хавтасны доор "make menuconfig" командыг ажиллуулна уу.
- "Nofrendo ESP32-ийн тусгай тохиргоо" -г сонгоно уу.
- "Ажиллуулах тоног төхөөрөмж" -> "Захиалгат тоног төхөөрөмж" -ийг сонгоно уу.
- "LCD Төрөл" -> "ST7789V LCD" -ийг сонгоно уу.
- Зүүг тохируулах: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Арын гэрэлтүүлэг -> -1, IPS -> Y
- Гарах ба Хадгалах
- "Make -j5 flash" ажиллуулна уу
- "Sh flashrom.sh PATH_TO_YOUR_ROM_FILE" -ийг ажиллуулна уу
Алхам 15: I2C холбогч
I2C тээглүүр, ESP32 анхдагч I2C тээглүүрүүд нь:
Зүү 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3.3 V (Lipo батерейгаар тэжээгддэг 5 В -ийн хүч байхгүй) Pin 4 (GND) -> GND
Алхам 16: Чуулган 1 -р хэсэг
Бүх эд ангийг хайрцагт нугалж, шахахын тулд видео алхамуудыг дагана уу.
Алхам 17: I2C Gamepad прототип
I2C Gamepad програм нь маш энгийн бөгөөд ердөө 15 мөр кодтой. Гэхдээ гагнуурын дараа ATtiny861 -ийг дахин програмчлах нь жаахан хэцүү байдаг тул эхлээд талхны самбар дээр туршиж үзсэн нь дээр.
GitHub -аас програм татаж авах, эмхэтгэх, флаш хийх:
Алхам 18: I2C Gamepad бүтээх
Энд холболтын хураангуй байна:
ATtiny861 товчлуур
GND -> Бүх товчлуурууд нэг зүү Pin 20 (PA0) -> Дээд товчлуур Pin 19 (PA1) -> Доош товчлуур Pin 18 (PA2) -> Зүүн товч Pin 17 (PA3) -> Баруун товчлуур 14 (PA4) -> Pin 13 (PA5) -> Start товчлуур 12 (PA6) -> A товчлуур Pin 11 (PA7) -> B товчлуур Pin 6 (GND) -> I2C эрэгтэй зүү толгойн зүү 4 Pin 5 (Vcc) -> I2C эрэгтэй зүү толгойн зүү 3 зүү 3 (SCL) -> I2C эрэгтэй зүү толгойн зүү 1 зүү 1 (SDA) -> I2C эрэгтэй зүү толгойн зүү 2
Алхам 19: Чуулган 2 -р хэсэг
Хавтас болон I2C тоглоомын самбарыг үндсэн хэсэгт суулгахын тулд видео алхамуудыг дагана уу.
Алхам 20: Нэмэлт: Аудио таслах зүү
Pin 25 ба 26 -ийн ESP32 дэвтэр самбар нь аналог аудио дохиог гаргадаг бөгөөд эдгээр 2 зүү, мөн дээд талын тэжээлийн зүү (3.3 V ба GND) -ийг салгахад маш хялбар байдаг. Дараа нь та чихэвчээ залгаад залгаж болно. Эсвэл та чанга тоглуулахын тулд чанга яригчтай аудио өсгөгчийн модулийг нэмж болно.
Алхам 21: Дараа нь юу хийх вэ?
NES эмулятор бол ESP32 ашиглан хийх цорын ганц сонирхолтой зүйл биш юм. Жишээлбэл Та түүнтэй хамт микро питон консол бүтээх боломжтой. Таны өөрчлөх ёстой цорын ганц бүрэлдэхүүн хэсэг бол I2C gamepad -аас I2C гар руу шилжих явдал юм. ATtiny88 хянагч ашиглан үүнийг хийх нь тийм ч хэцүү биш гэж би бодож байна. Та статусыг харахын тулд миний твиттерийг дагаж болно.
Зөвлөмж болгож буй:
RetroPie ашиглан DIY гар тоглоомын консол: 7 алхам
RetroPie ашиглан DIY гар тоглоомын консол: Энэ төслийг илүү сайн ойлгохын тулд дээрх видеог үзээрэй. Зүгээр дээ. Эхлэх цаг боллоо! Юуны өмнө бид RetroPie ашиглах болно. Ингэснээр бидэнд хоёр сонголт үлдэх болно. Хэрэв бид Raspbian -ийг SD карт дээрээ суулгасан бол RetroP -ийг суулгаж болно
DIY Raspberry Pi Zero гар утасны тоглоомын консол: 6 алхам (зурагтай)
DIY Raspberry Pi Zero гар тоглоомын консол: Энэ төсөлд би Raspberry Pi Zero, NiMH батерей, гар хийцийн хэт цэнэгээс хамгаалах хэлхээ, арын дэлгэц, аудио өсгөгч зэргийг тоглож болох гар тоглоомын консол бий болгохын тулд ашиглах болно. чимэг тоглоомууд. Эхэлцгээе
1963 Pi Tourer тоглоомын консол: 9 алхам (зурагтай)
1963 Pi Tourer Тоглоомын Консол: Энэ бол 1963 оны Sky Tourer машины радио бөгөөд би үүнийг зөөврийн чимэг тоглоомын консол болгон хөрвүүлсэн юм. Энэ нь Raspberry Pi 3-тэй бөгөөд 6 аркад товчлууртай бөгөөд чимэг RetroPie спрайтуудыг Picade хянагч самбараар удирддаг джойстиктой
Гар тоглоомын консол - Arduboy Clone: 6 алхам (зурагтай)
Гар тоглоомын консол | Arduboy Clone: Хэдэн сарын өмнө би Arduboy компанитай танилцсан бөгөөд энэ нь албан ёсны вэбсайтаас үзэхэд онлайнаар тоглоом сурах, хуваалцах, тоглоход хялбар болгодог 8 битийн бяцхан тоглоомын платформ юм. Энэ бол нээлттэй эхийн платформ юм. Arduboy -д зориулсан тоглоомыг хэрэглэгч хийсэн болно
2.2 TFT ашиглан гар Recalbox тоглоомын консол: 6 алхам
2.2 TFT -ийг ашиглан гараар хийдэг Recalbox тоглоомын консол: 2.2 "TFT LCD, Raspberry Pi 0 W ба GPIO товчлууруудыг ашиглан гар утсан дээр дахин хийх хайрцагны тоглоомын консолыг өөрөө хийх заавар. Та энэ youtube видеог үзэж холбогдох алхамуудыг бүрэн харуулах боломжтой. Бүх эд ангиудыг аваарай. Эд ангиудыг хооронд нь гагнах