Мазмұны:
Бейне: Arduino жауынгерлік ойын: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бала кезімде жауынгерлік ойынның қағаз бен қарындаш нұсқасын ойнағаным есімде. Шын мәнінде, бұл 1 -ші дүниежүзілік соғыстан бері бар. Менде 1960 -жылдардың басында «Sonar Sub Hunt» деп аталатын «электронды» нұсқасы болды, онда жарықтар мен дыбыстар мен жасырын миналар болды. Бүгінгі бейне ойын стандарттары бойынша Battleship өте скучно, бірақ мен немерелердің бұл туралы не ойлайтынын көру үшін бәрін жасаймын деп ойладым. Ақыр соңында, кейде ретро керемет болуы мүмкін.
Бұл жобаның ұсақ -түйектері бар, олар басқа жерде пайдалы болады, тіпті егер сіз Battleship ойынын жасағыңыз келмесе. Онда 4-разрядты 1602 СКД интерфейсі бар, ол белгілі бір таңбаның орнын белгілеуді қамтиды. Сонымен қатар 4х4 ауыстырып қосқыш матрицаны декодтауға арналған интерфейс бар. Бұл екі интерфейс бөлек файлдар ретінде қол жетімді, сондықтан олар оңай тасымалданады. Ойын сонымен қатар әр түрлі дыбыстық эффекттер мен қарапайым бір транзисторлы дыбыс күшейткіш схемасына ие.
1 -қадам: Жабдық
Мұнда ұсынылған схема бір ойыншыға арналған, сондықтан екі қондырғы жасау керек. Құрылғылар UART TX және RX желілері мен жерге қосылған сымды қамтитын 3 сымды интерфейс арқылы байланысады. Мен стандартты 1/8 дюймдік стерео құлақаспап ұясын және екі ұшында ер штепсельдері бар стандартты кабельді қолдануды таңдадым. Бір қораптан RX екінші қораптың TX-не өтеді және керісінше. Сіз мұны қораптың ішіндегі құлаққап ұясына дәнекерленген сымдарды ауыстыру немесе оны салу кезінде оларды тақтаға ауыстыру арқылы жасай аласыз.
Классикалық ойын матрица түрінде шығарылды, бірақ мен дисплейге арналған 1602 СКД көмегімен қарапайым іске асыруды шештім. Бірінші жолда ойыншының кеме орындары мен қарсыластың соққылары көрсетіледі. Екінші жолда ойыншының соққылары мен қарсыластың кемелеріне тиген соққылары көрсетіледі. Бұл кемелер үшін 16 мүмкін орын ұсынады. Кемелер саны бағдарламалық қамтамасыз етуде орнатылған, мен ерікті түрде 5 -ті таңдадым.
16 кеменің орналасуы коммутатордың талаптарына сәйкес келеді, себебі ол 4х4 матрицаны алуға мүмкіндік береді. 4х4 матрицалық коммутаторлар бар, бірақ мен желілік дисплейге сәйкес келу үшін жеке қосқыштарды бір жолда қолдануды таңдадым. Мен қосқыштарды 4х4 матрица ретінде сымға қостым, сондықтан тек сегіз Arduino түйреуіші қажет. Дұрыс қосылулар үшін қосқыштың қосылу схемасын және схемасын қараңыз.
СКД дисплейі 4 биттік интерфейс үшін сымды. Мен сондай -ақ D13 түйреуішіне сыртқы жарықдиодты қостым, ол қай ойыншыға түсіру керектігін көрсетеді. Бастапқыда ойыншылар бірінші соққыны кім қабылдайтынын шешеді, содан кейін бағдарламалық жасақтама ойынның алға -артына автоматты түрде басқарады.
Мен түсірілімге, жарылыстарға, ойынға дайын және жеңімпаз/жеңілушіге қарапайым дыбыстық эффектілер қосқым келді. Мен қарапайым пьезо -дыбыстық сигналды қолдануға тырыстым, бірақ оның орнына кішкене динамик келді. Динамикке қажет ток Arduino -ның жұмыс қабілеттілігінен асып түседі, сондықтан қарапайым транзисторлық күшейткіш қосылды. Дыбыс әлі де жақсы емес, бірақ дыбыстық сигналға қарағанда жақсы. Менің динамигім 4 Ом, бірақ егер сізде 8 Ом болса, онда схемадағы резисторды 39 Омнан 33 Омға ауыстырыңыз. Егер сіз пьезо -дыбыстық сигналды қолдансаңыз, оны Arduino түйреуішінен дыбыс сигналының екінші жағы жерге қосылған күйінде басқара аласыз.
Сыртқы қалпына келтіру қосқышы да қосылады және Arduino -дағы жерге және «қалпына келтіру» түйреуішінің арасына тікелей қосылады. Бұл ойынды қайта бастауға мүмкіндік береді.
2 -қадам: Бағдарламалық қамтамасыз ету
Бағдарламалық жасақтамада менің СКД интерфейсі үшін қосу файлы бар, мен 4x4 қосқыш матрицаны сканерлеу үшін қосу файлын құрдым. Инициализация ойыншыға кемелерінің орналасатын жерін таңдауды ұсынады, содан кейін «Дайын» күйіне өтеді. Екі ойыншы дайын болған кезде олардың бірі ойынды қосқышты басу арқылы бастайды.
Түсіру орны UART арқылы басқа ойыншыға беріледі, ал тиісті нәтиже оны атқан ойыншыға қайтарылады. Жоғарыда айтылғандай, бірінші кадр түсірілгеннен кейін, бағдарламалық жасақтама келесі кадрды кім алатынын бақылайды. Түсіруді бастамас бұрын, ол алдыңғы кадрлардың орналасқан жерлерімен салыстырылады. Егер бұл орын бұрыннан қолданылған болса, онда кадр жіберілмейді. «My_Shot» жарық диоды кімнің кезегін анықтайды. Сондай -ақ, жарамды таңдау үшін түсірілген дыбыс және кеме соғылған жағдайда жарылыс дыбысы бар. Дыбыстық әсерлер ойынға сәйкес модификациясы бар интернеттен табылған мысалдардан алынған.
Қарсыластың кемелері соққыға жығылғаннан кейін, әр СКД -да хабарлама пайда болады - біреуі жеңімпаз, бірі жеңілген. Хабарламада сонымен қатар ойынды қалпына келтіру түймесін басу арқылы қайта бастауға болатындығы көрсетілген. Жеңімпаз бен жеңілгенге арналған бөлек дыбыстық эффектілер бар.
3 -қадам: скриншоттар
Міне, ойыннан бірнеше скриншоттар. Бұл бұл пост үшін. Менің басқа нұсқаулықтарымды, сонымен қатар www.boomerrules.wordpress.com веб -сайтын қараңыз
Ұсынылған:
Үйдегі жауынгерлік робот 2: 6 қадам
Үйде жасалынған жауынгерлік робот 2 -нұсқа: Сонымен … Бұл менің салмаққа қарсы ұрыс роботымның екінші нұсқасы! Мен сізді " Sidewinder " Бұл жоба үшін мен 3D басып шығарылған бөлшектерді (мен жасаған) және 100 долларға сатып алған кейбір электронды бөлшектерді пайдаландым. Мен CAD қолдандым, сондықтан
Жауынгерлік аренада пайдалану үшін жеке дуэль дискілерін жасаңыз: 4 қадам
Жекпе -жек алаңында пайдалану үшін өзіңіздің жеке дуэль дискілеріңізді жасаңыз: Мен әрқашан Yugioh мультсериалынан табылған дуэль дискілеріне жартылай қызығатынмын. Карточкалардың көмегімен тірі жанды шақырып, содан кейін оны голографиялық жекпе -жектің қандай да бір түріне шақырту қандай жақсы болар еді? Міне, мен өтемін
Жауынгерлік роботты қалай жасауға болады (кез келген дағды деңгейі үшін): 8 қадам
Жауынгерлік роботты қалай жасауға болады (кез келген шеберлік деңгейі үшін): Жауынгерлік робототехниканы бастаған кезде мен «қадаммен» жоқ екенін байқадым. жауынгерлік роботты құру жолдары, сондықтан Интернетте көптеген зерттеулер жүргізгеннен кейін, мен олардың біреуін жауынгерлік робот жасау үшін нұсқаулық жасау үшін жинауды шештім
Arduino негізіндегі DIY ойын контроллері - Arduino PS2 ойын контроллері - DIY Arduino Gamepad көмегімен Tekken ойнау: 7 қадам
Arduino негізіндегі DIY ойын контроллері | Arduino PS2 ойын контроллері | DIY Arduino Gamepad көмегімен Tekken ойнау: Сәлеметсіздер ме, балалар, ойындарды ойнау әрқашан қызықты, бірақ өзіңіздің жеке DIY контроллеріңізбен ойнау қызықты, сондықтан біз осы нұсқаулықта arduino pro micro көмегімен ойын контроллерін жасаймыз
Ойын қысымына сезімтал төсемдер (сандық ойын алаңдары үшін және т.б.): 11 қадам (суреттермен)
Қысымға сезімтал алаңшалар (цифрлық ойын алаңдары үшін - және басқалары): бұл цифрлық ойыншықтар немесе ойындар жасау үшін қолданылатын қысымға сезімтал төсем жасауды көрсететін нұсқаулық. Ол үлкен күшке сезімтал резистор ретінде қолданыла алады және ойынға қарамастан, оны маңызды жобалар үшін қолдануға болады