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

Arduino байлдааны хөлөг тоглоом: 3 алхам
Arduino байлдааны хөлөг тоглоом: 3 алхам

Видео: Arduino байлдааны хөлөг тоглоом: 3 алхам

Видео: Arduino байлдааны хөлөг тоглоом: 3 алхам
Видео: 50 САМЫХ ИННОВАЦИОННЫХ ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2021–2022 гг. 2024, Долдугаар сарын
Anonim
Arduino байлдааны хөлөг онгоцны тоглоом
Arduino байлдааны хөлөг онгоцны тоглоом

Бага байхдаа байлдааны хөлөг тоглоомын цаас, харандаагаар тоглодог байснаа санаж байна. Үнэндээ энэ нь Дэлхийн 1 -р дайны үеэс хойш бий болсон. Би 1960 -аад оны эхээр гэрэл, дуу чимээ, далд уурхайтай "Sonar Sub Hunt" нэртэй "цахим" хувилбартай байсан. Өнөөдрийн видео тоглоомын стандартын дагуу байлдааны хөлөг онгоц үнэхээр уйтгартай байдаг, гэхдээ ач зээ нар энэ талаар юу бодож байгааг харахын тулд би үүнийг хийх болно гэж бодсон. Эцсийн эцэст заримдаа чимэг нь дажгүй байж чаддаг.

Энэхүү төслийн зарим хэсэг нь байлдааны хөлөг онгоц хийх сонирхолгүй байсан ч өөр газар ашиг тустай байх болно. Энэ нь 4 битийн 1602 энгийн LCD интерфэйстэй бөгөөд тодорхой тэмдэгтүүдийн байршлыг тогтоох горимыг агуулдаг. Мөн 4х4 унтраалгатай матрицыг тайлах интерфейс байдаг. Эдгээр хоёр интерфэйсийг тусад нь файл хэлбэрээр авах боломжтой тул тээвэрлэхэд хялбар байдаг. Тоглоом нь янз бүрийн дууны эффект, энгийн нэг транзистортой аудио өсгөгчийн хэлхээтэй байдаг.

Алхам 1: Техник хангамж

Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж

Энд үзүүлсэн схем нь нэг тоглогчдод зориулагдсан тул хоёр нэгж хийх шаардлагатай болно. Нэгжүүд нь UART TX ба RX шугам, газардуулгын утас агуулсан 3 утастай интерфэйсийг ашиглан харилцдаг. Би стандарт 1/8 инчийн стерео чихэвчний үүр, хоёр төгсгөлд нь эрэгтэй залгууртай стандарт кабель ашиглахаар шийдсэн. Нэг хайрцгийн RX нь нөгөө хайрцагны TX руу ордог ба эсрэгээр. Та үүнийг хийхдээ хайрцаг доторх чихэвчний үүрэнд гагнасан утсыг сольж эсвэл хэлхээний самбар дээр сольж болно.

Сонгодог тоглоомыг матриц хэлбэрээр бүтээсэн боловч дэлгэцийн хувьд 1602 LCD дэлгэц ашиглан энгийн хэрэгжилтийг хийхээр шийдлээ. Эхний мөрөнд тоглогчийн хөлөг онгоцны байршил, өрсөлдөгчийн цохилтыг харуулав. Хоёрдахь мөрөнд тоглогчийн цохилт, өрсөлдөгчийн хөлөг онгоцонд хийсэн цохилтыг харуулна. Энэ нь хөлөг онгоцыг байрлуулах боломжтой 16 байршлыг өгдөг. Усан онгоцны тоог програм хангамжид суулгасан бөгөөд би дур мэдэн 5 -ыг сонгосон.

Усан онгоцны 16 байршил нь 4х4 хэмжээтэй матриц хийх боломжийг олгодог тул шилжүүлэгчийн шаардлагад нийцдэг. 4х4 хэмжээтэй матрицын унтраалга дэвсгэрүүд байдаг боловч би шугаман дэлгэцтэй тохирохын тулд ганц унтраалгыг нэг мөрөнд ашиглахаар шийдсэн. Гэсэн хэдий ч би унтраалгыг 4х4 хэмжээтэй матрицаар холбосон бөгөөд ингэснээр зөвхөн найман Arduino зүү хэрэгтэй болно. Шилжүүлэгчийн холболтын схем, схемийг зөв холболтын талаар үзнэ үү.

LCD дэлгэц нь 4 битийн интерфэйстэй. Би мөн D13 зүү дээр гаднах LED нэмж, аль тоглогч буудуулах ёстойг зааж өгөв. Эхэндээ тоглогчид эхний цохилтыг хэн хийх ёстойг шийддэг бөгөөд дараа нь програм хангамж нь тоглоомын арын болон хойд хэсгийг автоматаар хянадаг.

Би буудлага, дэлбэрэлт, тоглоомын бэлэн байдал, ялагч/ялагдагчийн хувьд энгийн дууны эффект нэмэхийг хүссэн юм. Би энгийн пьезо дуугаруулагч ашиглахыг оролдсон боловч жижиг чанга яригчтай болсон. Илтгэгчийн шаардагдах гүйдэл нь Arduino -ийн ажиллах чадвараас давсан тул энгийн транзистор өсгөгчийг нэмж оруулав. Дуу нь тийм ч сайн биш боловч дуугаралтаас илүү дээр юм. Миний чанга яригч 4 ом байна, гэхдээ хэрэв танд 8 ом байгаа бол эсэргүүцлийн схемийг 39 ом-оос 33 ом болгон өөрчилнө үү. Хэрэв та пьезо дуугаруулагч ашигладаг бол дуугарагчийн нөгөө талыг газартай холбосон Arduino зүүгээр шууд жолоодох боломжтой байх ёстой.

Гадаад дахин тохируулах унтраалгыг мөн багтаасан бөгөөд Arduino дээрх газардуулга ба "дахин тохируулах" зүү хооронд шууд холбодог. Энэ нь тоглоомыг дахин эхлүүлэх боломжийг олгодог.

Алхам 2: Програм хангамж

Програм хангамж нь миний LCD интерфэйсийн оруулах файлтай бөгөөд би 4x4 шилжүүлэгч матрицыг сканнердах файлыг үүсгэсэн. Эхлүүлэх нь тоглогчийг усан онгоцныхоо байршлыг сонгохыг санал болгож, дараа нь "Бэлэн" төлөвт орно. Тоглогчид хоёулаа бэлэн болсон үед тэдний нэг нь унтраалгыг дарж тоглоомыг эхлүүлнэ.

Буудлагын байршлыг UART -ээр дамжуулан нөгөө тоглогч руу дамжуулж, зохих үр дүнг буудсан тоглогч руу буцааж дамжуулдаг. Өмнө дурьдсанчлан, эхний цохилтыг хийсний дараа програм хангамж дараагийн цохилтыг хэн хийхээ хянадаг. Буудлага дамжуулахаас өмнө өмнөх буудлагын байршлыг шалгадаг. Хэрэв энэ байршлыг аль хэдийн ашигласан бол зураг дамжуулахгүй. "My_Shot" LED нь хэний ээлж болохыг тодорхойлдог. Зөв сонголт хийх зориулалттай буудлагын дуу, хэрэв хөлөг онгоц оногдвол дэлбэрэх чимээ бас байдаг. Дууны эффектүүд нь тоглоомд тохирсон өөрчлөлтүүдтэй онлайнаар олдсон жишээнүүдээс үүдэлтэй юм.

Өрсөлдөгчийн хөлөг онгоцууд бүгд цохигдсоны дараа LCD дэлгэц дээр нэг нь ялагч, нөгөө нь ялагдагч гэсэн мессеж гарч ирнэ. Дахин тохируулах товчлуурыг дарж тоглоомыг дахин эхлүүлэх боломжтой болохыг мөн зурвас зааж өгсөн болно. Мөн ялагч, ялагдагчийн хувьд тусдаа дууны эффектүүд байдаг.

Алхам 3: Дэлгэцийн зураг

Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг
Дэлгэцийн зураг

Тоглоомын зарим дэлгэцийн агшинг энд оруулав. Энэ бол энэ нийтлэлд зориулагдсан зүйл юм. Миний бусад зааварчилгаа болон www.boomerrules.wordpress.com вэбсайтыг үзээрэй

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