Мазмуну:

ESP8266 VGA Pong: 5 кадам (Сүрөттөр менен)
ESP8266 VGA Pong: 5 кадам (Сүрөттөр менен)

Video: ESP8266 VGA Pong: 5 кадам (Сүрөттөр менен)

Video: ESP8266 VGA Pong: 5 кадам (Сүрөттөр менен)
Video: Mining Dogecoin Menggunakan VGA Withdraw Otomatis Ke Indodax 2024, Ноябрь
Anonim
Image
Image
Материалдардын тизмеси
Материалдардын тизмеси

Бул көрсөтмөлөрдө мен ESP8266 жана башка бир нече компоненттерди колдонуп, VGA монитору үчүн классикалык Pong оюнунун репродукциясын кантип курууну көрсөтөм.

Бул оюн жакында GitHubда Сандро Маффиодо (ака Smaffer) тарабынан чыгарылган EspVGAx китепканасы аркылуу мүмкүн болду жана мен билгенден бул аны колдонуп жаткан биринчи оюн.

Китепкана 512 x 480 пикселдик токтомду ишке ашырат, RAM ичиндеги буферде сакталат, ага 30720 байт талап кылынат. Чечим Arduino TVout же VGAx менен салыштырмалуу чоң (128 x 96 жана 120 x 60 пиксел). Бул оюн башка программисттерди татаал оюндарды иштеп чыгууга же кайра чыгарууга шыктандырат деп үмүттөнөм.

1 -кадам: Материалдардын тизмеси

EspVGAx китепканасы ESP-12E, NodeMCU-12E тактасы же GPIO5 (D1), GPIO4 (D2) жана GPIO13 (D7) ачыкка чыгаруучу ар кандай такта сыяктуу бардык GPIO ачык ESP8266 талап кылат.

Атап айтканда, мен колдонгон:

  • бир ESP8266 NodeMCU-12E (шилтеме бул жерде)
  • DSUB15 туташтыргычы (б.а. VGA аял коннектору)
  • 330 Ом резистору
  • башка резистор (болжол менен 1-3 кОм)
  • эки 10 кОм потенциометр
  • баскыч (баскыч)
  • эки диод (мисалы, 1N4007s)
  • нан
  • зымдар

Мен DSUB15 коннекторун эски VGA PC тактасынан алдым. Же болбосо, эски VGA кабелин кесип, зымдарды түз эле нан тактасына туташтырсаңыз болот.

2 -кадам: Китепкана жана эскиз жүктөө

Китепкана жана эскиз жүктөө
Китепкана жана эскиз жүктөө

Программалоонун ар кандай ыкмалары бар жана ESP8266; Понг жазуу жана кодду жүктөө үчүн Arduino IDE колдондум.

Эске алыңыз, EspVGAx китепканасы Arduino IDE 1.8.1 үчүн иштейт. Эгерде сизде башка версиялар болсо, эң жакшы.zip файлдарын жүктөө жана аны атайын папкада ачуу. Windows версиясы бул жерде. Башка OS үчүн версиялар бул жерде.

Андан кийин, сиз EspVGAx китепканасын GithHub баракчасынан бул жерден жүктөп алышыңыз керек (бул жерде zip версиясы үчүн түз шилтеме), жана аны Arduino программалык камсыздоосундагы папкалардын китепканаларында ачыңыз.

NB espvgax_draw.h файлында кичине ката бар. Аны оңдоо үчүн жөн гана 17 -сапты алмаштырыңыз:

while (x0%32) {менен while (x0%32 && sw> 32) {

Акыры бул кадамдын аягында ESP8266_Pong.rar жүктөп алсаңыз болот.

Аны ачкандан кийин, аны ESP8266га жүктөө үчүн, Arduino IDEди конфигурациялашыңыз керек.

Эгер сиз муну эч качан кыла элек болсоңуз, анда ушул Нускамалар боюнча бардык керектүү көрсөтмөлөрдү таба аласыз, атап айтканда 2 -кадамда.

Баары конфигурациялангандан кийин, ESP8266 орнотуулары жогорудагы сүрөттө көрсөтүлгөндөй болушу керек.

Эгерде сиз кодду катасыз жүктөй алсаңыз, анда тетиктерди чогултууну баштасаңыз болот.

3 -кадам: Бөлүктөрдү туташтыруу: VGA Connector

Бөлүктөрдү туташтыруу: VGA туташтыргычы
Бөлүктөрдү туташтыруу: VGA туташтыргычы
Бөлүктөрдү туташтыруу: VGA туташтыргычы
Бөлүктөрдү туташтыруу: VGA туташтыргычы
Бөлүктөрдү туташтыруу: VGA туташтыргычы
Бөлүктөрдү туташтыруу: VGA туташтыргычы

Мен жогорудагы сүрөттөрдө көрсөтүлгөндөй, биринчи VGA портун туташтырууну сунуштайм. Сураныч, Кызыл, Жашыл жана Көк деген үч казыкты бириктирүү менен (б.а. DSUB15 туташтыргычындагы 1, 2 жана 3 -казыктар) экраныңызда B&W сүрөтү пайда болот. Сиз ошондой эле ар кандай түстөрдүн айкалышына ээ боло аласыз. Кененирээк маалыматты GitHub Library баракчасынан караңыз.

Мындан тышкары, ESP8266дагы RGB казыктары менен D7 (GPIO13) ортосундагы 330 Ом резисторун туташтыруу керек. Бул мага мониторумда бир аз боз түстүү сүрөттү берди, андыктан бир нече аракеттен кийин, мен аны таптакыр жок кылууну чечтим.

Бул жерде, эгерде баары туура иштесе, мониторду туташтырып, "ESP8266 VGAx Pong" баннери менен оюндун баштапкы экранын көрө аласыз.

4 -кадам: Бөлүктөрдү туташтыруу: потенциометрлер жана баскыч

Бөлүктөрдү туташтыруу: потенциометрлер жана баскыч
Бөлүктөрдү туташтыруу: потенциометрлер жана баскыч

Баскыч 3.3V менен пин D0 (GPIO16) ортосунда туташышы керек. D0дан жерге чейин 1-3 кОм резисторду да туташтырыңыз. Бул D0 баскычы ачык болгондо аныкталбаган абалда болуудан сактайт.

Эки потенциометрдин туташуусу анча маанилүү эмес, чындыгында ESP8266 аналогдук кирүү порту A0 (ADC0) бар! Айла - бул pot.s чыгууларын бир портко туташтыруу жана аларды "мультиплекс" кылуу. Мультиплексинг - бул потенциометрди күйгүзүп, окуп, анан өчүрүп, экинчисине өтүүңүздү билдирет.

Бул метод жөнүндө көбүрөөк билгиңиз келсе, бул Нускаманы окуй аласыз.

Бир потенциометрди GNDге, экинчисин сол оюнчу үчүн D5ке жана оң оюнчу үчүн D6га туташтырыңыз.

Ар бир потенциометрдин борбордук пини жеке диодго, ал эми диоддордун башка жактары A0 (ADC0) менен туташышы керек, полярдуулугу жогорудагы сүрөттө көрсөтүлгөн.

5 -кадам: Жыйынтык жана ыраазычылык

Мен Сандро Маффиодого ыраазымын - SMAFFER - ESPVGAX либары үчүн. Ансыз бул оюн мүмкүн эмес болчу.

Бул Instructable башка программалоочуларга Arduinoго караганда азыраак чектелген ESP8266 менен татаал классикалык аркада оюндарынын репродукцияларын жасоого шыктандыруучу болот деп үмүттөнөм.

Акыр -аягы, мен бул Нускаманы оюнчуктар сынагына тапшыруу үчүн жаздым: эгер сиз аны жактырсаңыз же кайра чыгарсаңыз, бир аз убакыт бөлүп, добуш бериңиз!

Сунушталууда: