Агуулгын хүснэгт:

ESP8266 VGA Pong: 5 алхам (зурагтай)
ESP8266 VGA Pong: 5 алхам (зурагтай)

Видео: ESP8266 VGA Pong: 5 алхам (зурагтай)

Видео: ESP8266 VGA Pong: 5 алхам (зурагтай)
Видео: ESP8266 VGA Pong 2024, Долдугаар сарын
Anonim
Image
Image
Материалын жагсаалт
Материалын жагсаалт

Энэхүү гарын авлагад би ESP8266 болон бусад цөөн хэдэн бүрэлдэхүүн хэсгүүдийг ашиглан сонгодог тоглоом болох VGA мониторыг хэрхэн бүтээхийг үзүүлэх болно.

Энэ тоглоомыг саяхан GitHub дээр Sandro Maffiodo (aka 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 кОм хэмжээтэй хоёр потенциометр
  • дарах товчлуур (no)
  • хоёр диод (1N4007s гэх мэт)
  • талхны самбар
  • утаснууд

Би DSUB15 холбогчийг хуучин VGA PC самбараас авсан. Эсвэл та хуучин VGA кабелийг хайчилж, утсыг талхны самбар руу шууд холбож болно.

Алхам 2: Номын сан ба ноорог байршуулах

Номын сан ба ноорог байршуулах
Номын сан ба ноорог байршуулах

Програмчлах өөр өөр аргууд байдаг бөгөөд ESP8266; Би Arduino IDE -ийг ашиглан Pong бичиж, кодыг байршуулав.

EspVGAx номын сан нь Arduino IDE 1.8.1 дээр ажилладаг болохыг анхаарна уу. Хэрэв танд өөр хувилбар байгаа бол.zip файлуудыг татаж аваад тусгай хавтсанд задлах нь хамгийн зөв арга юм. Windows хувилбар энд байна. Бусад OS -ийн хувилбарууд энд байна.

Үүний дараа та EspVGAx номын санг GithHub хуудаснаас эндээс татаж аваад (zip хувилбарын шууд холбоосыг эндээс) татаж аваад Arduino програм хангамжийн фолдерын санд задлах хэрэгтэй.

NB espvgax_draw.h файлд бага зэрэг алдаа байна. Үүнийг засахын тулд 17 -р мөрийг солиход л хангалттай.

while (x0%32) {with while (x0%32 && sw> 32) {

Эцэст нь та энэ алхмын төгсгөлд ESP8266_Pong.rar програмыг татаж авах боломжтой.

Үүнийг задалсны дараа ESP8266 дээр байршуулахын тулд та Arduino IDE -ийг тохируулах хэрэгтэй.

Хэрэв та үүнийг хэзээ ч хийж байгаагүй бол энэ зааврын талаархи шаардлагатай бүх зааврыг, ялангуяа 2 -р алхамаас олж болно.

Бүх зүйлийг тохируулсны дараа ESP8266 тохиргоо нь дээрх зураг дээр үзүүлсэн шиг харагдах ёстой.

Хэрэв та кодыг алдаагүй байршуулж чадвал эд ангиудыг угсарч эхэлж болно.

Алхам 3: эд ангиудыг холбох: VGA холбогч

Эд ангиудыг холбох: VGA холбогч
Эд ангиудыг холбох: VGA холбогч
Эд ангиудыг холбох: VGA холбогч
Эд ангиудыг холбох: VGA холбогч
Эд ангиудыг холбох: VGA холбогч
Эд ангиудыг холбох: VGA холбогч

Дээрх зурган дээр үзүүлсэн шиг эхлээд VGA портыг холбохыг зөвлөж байна. Улаан, Ногоон, Цэнхэр гэсэн гурван зүүг (өөрөөр хэлбэл DSUB15 холбогч дээрх 1, 2, 3 -р зүү) холбосноор таны дэлгэц дээр B&W дүрс гарч ирэх болно гэдгийг анхаарна уу. Та мөн янз бүрийн өнгөний хослолтой байж болно. Номын сангийн GitHub хуудаснаас дэлгэрэнгүй мэдээллийг үзнэ үү.

Цаашилбал, та ESP8266 дээрх RGB зүү ба D7 (GPIO13) хооронд 330 Ом эсэргүүцэл холбох ёстой. Энэ нь миний дэлгэцэн дээр бага зэрэг саарал өнгөтэй болсон тул хэд хэдэн оролдлогын дараа би үүнийг бүрмөсөн арилгахаар шийдлээ.

Энэ үед, хэрэв бүх зүйл зөв ажиллаж байвал та дэлгэцээ аль хэдийн холбож, "ESP8266 VGAx Pong" баннертай тоглоомын дэлгэцийг харж болно.

Алхам 4: эд ангиудыг холбох: потенциометр ба товчлуур

Эд ангиудыг холбох: потенциометр ба товчлуур
Эд ангиудыг холбох: потенциометр ба товчлуур

Товчлуурыг 3.3V ба D0 зүү (GPIO16) хооронд холбох ёстой. Мөн 1-3 кОм эсэргүүцлийг D0 -аас газарт холбоно. Энэ нь товчлуур нээлттэй байх үед D0 нь тодорхойгүй төлөвт байхаас зайлсхийдэг.

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

Хэрэв та энэ аргын талаар илүү ихийг мэдэхийг хүсвэл энэхүү зааврыг уншиж болно.

Нэг потенциометрийг GND руу, нөгөө хязгаарыг зүүн тоглогчийн хувьд D5, баруун тоглогчийн хувьд D6 руу холбоно уу.

Потенциометрийн төв зүү бүрийг тусдаа диодтой холбох ёстой бөгөөд диодын бусад талыг дээрх зурган дээр харуулсан туйлыг A0 (ADC0) холбосон байх ёстой.

Алхам 5: Дүгнэлт ба талархал

ESPVGAX libary -ийн хувьд Sandro Maffiodo - SMAFFER -д талархаж байна. Үүнгүйгээр энэ тоглоом боломжгүй юм.

Энэхүү зааварчилгаа нь бусад програмистуудад Arduino -ээс хамаагүй бага хязгаарлагдмал ESP8266 -ийн тусламжтайгаар илүү төвөгтэй сонгодог аркад тоглоомуудын хуулбарыг хийх урам зориг өгөх болно гэж найдаж байна.

Эцэст нь би үүнийг "Тоглоомын уралдаанд" оруулахын тулд энэхүү зааварчилгааг бичсэн: хэрэв танд таалагдсан эсвэл хуулбарласан бол хэсэгхэн хугацаанд саналаа өгөөрэй!

Зөвлөмж болгож буй: