Агуулгын хүснэгт:
- Алхам 1: Arduino VGA консолоо хэрхэн бүтээх талаар
- Алхам 2: Бусад зохиолчдын тоглоомууд
- Алхам 3: Хавсралт 1: Хянагчдыг хэрхэн бүтээх тухай дэлгэрэнгүй мэдээлэл
- Алхам 4: Хавсралт 2: Санах ойн хязгаарын талаар зарим анхаарах зүйлс
Видео: Таван тоглоомтой Arduino VGA консол: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Өмнөх зааварчилгаандаа би хамгийн алдартай сонгодог аркад тоглоомуудын хялбаршуулсан хувилбаруудыг нүцгэн Arduino болон бусад цөөн хэдэн бүрэлдэхүүн хэсгүүдийн тусламжтайгаар хуулбарласан болно. Хожим нь би ганцхан ноорогоор тэдний тавыг нэгтгэв. Энд би Pong, Breakout, Bomber, Tetris, Etch-a-Sketch-ээс санаа авсан зургийн тоглоом тоглох энгийн консолыг хэрхэн бүтээж болохыг танд үзүүлэх болно. Энэхүү консолыг Могой болон бусад зохиогчдын бичсэн өөр хоёр тоглоомыг тоглуулахад ашиглаж болно: Сандро Маффиодо "Smaffer" -ийн Bit Ninja, Никита Курылевын стекер.
Гол онцлог нь VGAx номын сангийн ачаар VGA дохио үүсгэх бөгөөд ингэснээр консол нь VGA дэлгэцтэй байх шаардлагатай болдог. Миний зорилго бол үүнийг хийх тусгай "бүрэлдэхүүн хэсгээс" зайлсхийх явдал юм. Цорын ганц бүрэлдэхүүн хэсэг нь хоёр потенциометр, таван товчлуур, цөөн тооны резистор ба DSUB15 (VGA) холбогч юм. Пьезо чанга яригч нь заавал биш юм. Эдгээр тоглоомууд хэрхэн харагдаж байгааг энэ хуудсан дээрх зургуудаас харж болно.
VGAx номын сан нь 120 х 60 пикселийн нарийвчлалтай дөрвөн өнгийг ашиглах боломжийг олгодог боловч тийм ч олон биш боловч энэхүү чимэг тоглоомын консолын хувьд хангалттай юм. График нь түүхий боловч потенциометрийн ачаар тоглоомууд жигд ажилладаг. Энгийн дууны эффектүүд бас байдаг.
Алхам 1: Arduino VGA консолоо хэрхэн бүтээх талаар
Эхлээд энэ хуудасны доод талд байгаа ArduinoVGAgame.ino ба/эсвэл Snake.ino кодыг татаж аваад компьютер дээрээ ижил нэртэй директорт хуулна уу. VGAx номын санг GitHub дээрх линкээс татаж авна уу. Хамгийн хялбар арга бол үүнийг "номын сан" нэртэй Arduino програм хангамжийн дэд хавтсанд хуулж, танигдах болно.
ЧУХАЛ: энэ номын сан нь Arduno IDE 1.6.4 дээр ажилладаг боловч хуучин эсвэл шинэ хувилбартай бүрэн нийцдэггүй.
Кодыг Arduino самбартаа оруулна уу (Би Uno болон Nano хоёуланг нь туршсан). Санах ой бага байгаа тухай сэрэмжлүүлэг өгөх нь хэвийн үзэгдэл юм. Хэрэв танд өөр алдаа байхгүй бол бүх зүйл хэвийн байгаа тул та шууд өөрийн консолоо эхлүүлж болно.
Үүний тулд танд хэрэгтэй:
- an Arduino Uno Rev. 3 эсвэл Arduino Nano 3.x (ATmega328)
- DSUB15 холбогч, өөрөөр хэлбэл VGA эмэгтэй холбогч эсвэл огтлох VGA кабель.
- эсэргүүцэл: 2 x 68 Ом ба 2 x 470 Ом ба 5 x 1 -ээс 2 кОм хүртэл
- 10 кОм хэмжээтэй хоёр шугаман потенциометр (ижил утгууд нь бас сайн)
- таван товчлуур
- зарим нэг кабель
- бүх бүрэлдэхүүн хэсгүүдийг тавихын тулд нэг эсвэл хоёр сайхан хайрцаг.
Факультатив:
- талх эсвэл туузан самбар
- пьезо чанга яригч
Схемийг энэ алхамын дээд хэсэгт, бэлэн болсон "консол" -ын жишээний хамт мэдээлсэн болно.
схем нь товчлуур ба потенциометрийг хэрхэн холбохыг харуулж байна. Илүү нарийвчлалтай хэлэхэд та 5 товчлуурыг 5, 10, 11, 12, 13 -р зүү рүү холбох хэрэгтэй. Товчлуур бүрийн гүйцэтгэсэн үйлдлийг схемийн баруун дээд хүснэгтэд тайлбарласан болно. Зүүн талд потенциометрийг хэрхэн холбохыг харуулав (A1 ба A2 тээглүүрт хоёр потенциометр хэрэгтэй). Чанга яригч нь аналог A0 зүүтэй холбогдсон байх ёстой.
Би VGA холбогчтой Arduino самбарыг модон хайрцагт байрлуулсан бөгөөд эхний тоглогчийн потенциометр ба дөрвөн товчлуурыг багтаасан бол хоёр дахь тоглогчийн потенциометр ба түүний эхлэх товч нь тусдаа жижиг хайрцагт байна.
Хэрэв танд энэ тоглоом таалагдаж, түүнийгээ дахин бүтээхээр шийдсэн бол доорх коммент хэсэгт сэтгэгдэл бичих эсвэл зургаа илгээсэнд баяртай байна.
Алхам 2: Бусад зохиолчдын тоглоомууд
Сандро Маффиодо саяхан BitNinja тоглоомыг нийтлүүлэв. Youn эндээс илүү их мэдээлэл олж, кодыг эндээс татаж авах боломжтой.
Миний консолыг ашиглахын тулд та түүний код дээрх товчлуурыг дараах байдлаар дахин тохируулах хэрэгтэй.
#тодорхойлох BTN_UP 11 (13 -ийн оронд)
#тодорхойлох BTN_LEFT 10 (оронд 12)
#тодорхойлох BTN_RIGHT 12 (оронд 11)
Никита Курылевын стекерийг эндээс авах боломжтой. Дэлгэрэнгүй мэдээллийг эндээс авна уу.
Дахин хэлэхэд та кодын өөр хэсэгт нэг товчлуурыг дахин хийх хэрэгтэй болно: digitalRead (2) -ийг digitalRead (13) -ээр солиход л хангалттай.
Алхам 3: Хавсралт 1: Хянагчдыг хэрхэн бүтээх тухай дэлгэрэнгүй мэдээлэл
Та хянагчийг бэлэн байгаа материал, таны амтаас хамааран янз бүрийн аргаар ухамсарлаж чадна.
Би тэдгээрийг модон хайрцгаар ухамсарлах дуртай (энэ хуудсан дээрх зургуудыг үзнэ үү). Arduino, VGA холбогч, анхны тоглуулагчийн товчлуур ба потенциометрийн гол хайрцаг; хоёр дахь (жижиг) нь зөвхөн хоёр дахь тоглогчийн товчлуур ба дугуйнд зориулагдсан (Понг ба зургийн тоглоомонд шаардлагатай). Өөр нэг боломж бол бүх зүйлийг нэг том хайрцагт хийх явдал юм.
Эхлээд би VGA портыг холбохыг зөвлөж байна. Эхний болон хоёрдахь зурган дээр та зарим нарийн ширийн зүйлийг харж болно: 6 ба 7 -р зүүтэй холбогдсон Улаан, Ногоон гэсэн 470 Ом эсэргүүцэл, хэвтээ ба босоо синхрончлолын дохионы хувьд 3 ба 9 -р зүүтэй 68 68 Ом гэсэн хоёр тэмдэглэлийг анхаарна уу.
Та VGA DSUB15 холбогч дээр холбосон зүүгээс хамааран өөр өөр өнгөний хослолыг сонгож болно, 1, 2, 3 -р зүү нь Улаан, Ногоон, Цэнхэр (RGB) тус тус илэрхийлнэ. Би 1 ба 2 -р зүүг холбосон тул надад дараахь өнгөний хослол байна: (0, 0) = хар; (1, 0) = улаан; (0, 1) = ногоон; (1, 1) = шар.
Янз бүрийн боломжийн хувьд VGAx номын санг татаж авах хуудсан дээрх дэлгэрэнгүй мэдээллийг уншихыг санал болгож байна.
VGA холбогч бэлэн болмогц товчлуур, дугуй, чанга яригчийн бусад бүх кабелийг бэлтгэх боломжтой (Зураг 2 -ийг үзнэ үү).
Одоо бүх зүйлийг нэг дор тавь: товчлуурын зүү бүрийг 1 эсвэл 2 кОм эсэргүүцэлтэй холбож холбох шаардлагатай гэдгийг санаарай, эс тэгвээс товчлуур нээлттэй байх үед зүүний төлөв тодорхойгүй байж магадгүй юм. Энэ нь хэрэв зүүг салгасан бол түүнийг идэвхжүүлэх боломжтой санамсаргүй (статик) хүчдэлтэй байж болно гэсэн үг юм. Энэхүү зааварчилгааны хоёр дахь алхам дахь схемийг нарийвчлан судалж үзнэ үү.
Сүүлийн алхам бол бүх зүйлийг байрандаа засах явдал юм. Би халуун цавуу буу ашигласан, гэхдээ та өөрийн дуртай аргыг ашиглаж болно.
Алхам 4: Хавсралт 2: Санах ойн хязгаарын талаар зарим анхаарах зүйлс
Энгийн Arduino нь VGA дохио болон эдгээр бүх тоглоомыг хамтад нь үүсгэж чаддаг нь гайхалтай юм. Жинхэнэ лонхны хүзүү бол SRAM-ийн дутагдал юм. AVR микроконтроллер нь хувьсагчдыг хадгалах, удирдахад ердөө 2048 байт байдаг бөгөөд VGAx номын сан нь дэлгэцийн хувьсагчдыг 120x60 пикселийн хүрээний буферт хадгалдаг бөгөөд пиксел бүрт 2 бит (4 өнгө) шаардлагатай бөгөөд нийт 1800 байт байдаг. Энэ нь ноорог хувьсагчдад ердөө 248 байт үлдсэн гэсэн үг юм. Цаашилбал, миний туршлагаас харахад тогтворгүй байдлаас зайлсхийхийн тулд дор хаяж 100 байтыг чөлөөтэй үлдээх хэрэгтэй. 1950 байт гаруй динамик санах ойг ашигласнаар микроконтроллер хачин, урьдчилан тааварлах боломжгүй зан үйлийг үзүүлж эхэлдэг.
Энэ нь бүх хувьсагчдыг өөр өөр тоглоомуудын дунд хуваалцах ёстой гэсэн үг бөгөөд энэ нь кодыг уншаагүй, дибаг хийхэд хэцүү болгодог. Өмнөх ноорог дээр "шинэ тоглоом нэмэх" асуудал биш, харин бүх кодыг гүнзгий өөрчилж, оновчтой болгох ёстой.
Цаашилбал, би хамгийн бага боломжит хувьсагчийн форматыг ашиглах ёстой байсан: жишээлбэл, би бүх координатын хувьд "int" биш "байт" ашиглах ёстой байсан, бусад тохиолдолд "float" биш харин "int" -ийг сонгох шаардлагатай болсон.
Эцэст нь хэлэхэд миний мэдлэг бол VGAx номын сан, гайхалтай BitNinja тоглоомыг бүтээгч Сандро Маффиодо ака Смаффер руу явдаг. Энэхүү номын сангүй бол энэ төслийг хэрэгжүүлэх боломжгүй байсан.
Энгийн боловч хөгжилтэй Stacker тоглоомыг бүтээсэн Никита Курылевт баярлалаа.
Зөвлөмж болгож буй:
Өндөр таван камер: 9 алхам (зурагтай)
Өндөр таван камер: Би танд нэг нууц хэлж өгөх үү? Би гар барихад дургүй. Би үнэхээр тэгдэггүй. Гар барих нь л надад бохир санагдуулдаг. Энэ нь хэтэрхий хувь хүн биш юм. Энэ бол ямар ч сүнсгүй, аж ахуйн нэгжийн санаандгүй дохио юм. Бид яагаад энэ ганц уйтгартай харилцан үйлчлэлээр хязгаарлагдах ёстой гэж?
Лампе Пентагонале (à L'arrache). Таван өнцөгт гэрэл (6 -р алхам). 6 алхам
Лампе Пентагонале (à L'arrache). Пентагональ чийдэн (эрэлттэй арга): Франц хэл: ain: Inspir é un petit mod è le é clair é par un chemin de led neopixel d'adafruit. Cette lampe turne é galeme
Цэвэрхэн таван жижиг төсөл: 6 алхам
Цэвэрхэн таван жижиг төсөл: Залуучуудад цахилгаан бараа үзүүлэхдээ анивчдаг, чимээ гаргадаг хэлхээг хайрлах хэрэгтэй. Эдгээр таван хэлхээг бүтээхэд хэдхэн минут л шаардагддаг бөгөөд анивчих хурд эсвэл цагийг өөрчлөхийн тулд тэдгээрийг өөрчлөхөд хялбар байдаг. Эхний хэлхээ
ArduBaby - Цуваа флаш дээр 500 тоглоомтой хагас хэмжээтэй Arduboy: 10 алхам
ArduBaby - Цуваа флаш дээр 500 тоглоомтой хагас хэмжээтэй Arduboy: Та энэ youtube видеог үзэх боломжтой бөгөөд миний гар хийцийн энэхүү бяцхан Arduboy -ийг хэрхэн бүтээсэн тухай цуврал флаш санах ойтой, 500 тоглоомыг зам дээр хадгалах боломжтой. . Зохион бүтээгчид (Кевин Бейтс) өгсөн гавьяа, Ардубой бол маш
500 тоглоомтой Ardubaby Mini тоглоомын консол: 10 алхам
500 тоглоомтой Ardubaby Mini тоглоомын консол: Зохиогч (Kevin Bates) -ийн кредит, Arduboy бол маш амжилттай 8 битийн тоглоомын консол юм. Сонирхогчдын бичсэн олон мянган тоглоомыг Ардубой хотын олон нийтийн форум дээр чөлөөтэй хуваалцдаг байсан тул илүү олон хүмүүс код бичиж сурах боломжтой болсон