Съдържание:

4 игри с бутони, използващи един аналогов вход: 6 стъпки (със снимки)
4 игри с бутони, използващи един аналогов вход: 6 стъпки (със снимки)

Видео: 4 игри с бутони, използващи един аналогов вход: 6 стъпки (със снимки)

Видео: 4 игри с бутони, използващи един аналогов вход: 6 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Ноември
Anonim
Image
Image

Тази инструкция се фокусира върху използването на една аналогова входна линия за множество бутони, които могат да бъдат открити независимо един от друг.

За да се подчертае използването на тези бутони, е включен софтуер за игра на четири различни игри с 4 бутона. Всички игри (общо 8) тук използват светодиоден стълбен дисплей (вижте по-ранния проект: инструкции: Еднолинейни LED дисплеи).

Можете да използвате вашия собствен бутон с 4 бутона с други изходи на дисплея, просто използвайте функцията „scanButtons ()“от една от включените скици. И използвайте тези скици, например да ги използвате.

Игрите са игра на умения: Whack-a-Mole, игра с памет: Саймън казва, логически игри Sea Hunt и Flip'd игра за двама играчи, подобна на Reveri. По-късно, в тази инструкция, аз също по-късно ще представя четири игри за двама игра директно.

Стъпка 1: Определяне на оптимална конфигурация на бутоните

Простото използване на някои резистори последователно с изключени бутони между всеки ще работи, ако никога не се притеснявате, че едно натискане на бутон блокира друго. В такава конфигурация всеки бутон, когато се натисне, блокира всички и всички под него. Дори когато имате нужда само от два бутона и ви е грижа само за един наведнъж, като при изпълнение на пинг-понг; би бил проблем, ако играч не успее (просто е твърде бавен или злонамерен) да премахне пръста си от бутона си, преди другият да трябва да удари неговия.

Множество бутони често са свързани към една аналогова линия, всеки със собствени различни стойности на резистора към входа. Достатъчно лесно можете да различите кой бутон или двойка е натиснат, когато има само 2 или 3 бутона. Но не надеждно с повече бутони или повече от два натиснати, тъй като най -лошата комбинация от показания стават двусмислено твърде близо една до друга.

Тук с това, което наричам Double-Y конфигурация от четири бутона и резистори, можете надеждно да различите всеки единичен, двоен, дори троен или и четирите натиснати бутона. Софтуерният драйвер за това е описан в следващия раздел и списъка с кодове.

С желание да има четири бутона, свързани към един аналогов вход, където натискането на всеки бутон може да бъде открито независимо от състоянието на другите бутони, аз моделирах няколко конфигурации в електронна таблица. Открих, че конфигурацията с двойна Y (състояща се от 2 комплекта от три резистора) дава най-добрите възможности. Вижте схематичната схема на окабеляването по -долу. Оценявах ги въз основа на най -голямото разделяне на общото съпротивление между всякакви две комбинации от натиснати бутони. Освен това моделирах изчислени аналогови стойности. Вижте файла с електронната таблица по -долу.

За да определя най -добрите стойности, които да използвам в горните конфигурации, написах симулация, която изчерпателно изпробва всички възможни пермутации на потенциалните стойности на резистора, откривайки набора, който произвежда максималната най -малка разлика между възможните входове за четене. Предоставих кода, който използвах. Това беше инструмент за груба сила, който хвърлих заедно, получих това, което исках и го оставих настрана, така че по никакъв начин не беше оптимизиран. Това е напълно както е, само за историческа справка (Solve_4R.html по -долу).

Ето резултатите от него за преглед:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 мин R делта: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 мин R делта: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 мин R делта: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 мин R делта: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 мин R делта: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 мин R делта: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 мин R делта: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR делта: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR делта: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR делта: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR делта: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR делта: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR делта: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 minR делта: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 min R делта: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 min R делта: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR делта: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR делта: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 мин R делта: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 мин R делта: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR делта: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 minR делта: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 минR делта: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 minR делта: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 min делта: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 min делта: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR делта: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR делта: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR делта: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR делта: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR делта: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR делта: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR делта: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 мин R делта: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 мин R делта: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 min R делта: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 мин R делта: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 мин R делта: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR делта: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR делта: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR делта: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 min R делта: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 min R делта: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR делта: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR делта: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR делта: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR делта: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR делта: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR делта: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR делта: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 мин R делта: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 мин R делта: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 мин R делта: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 min R delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 min R delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR делта: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR делта: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR делта: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 min R делта: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 min R делта: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR делта: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR делта: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 мин R делта: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 мин R делта: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR делта: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR делта: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 min R делта: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 min R делта: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR делта: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR делта: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 мин R делта: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 мин R делта: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR делта: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR делта: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR делта: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 мин R делта: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 мин R делта: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR делта: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR делта: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR делта: 33.2525545171

Стъпка 2: Моят 4-бутонен монтаж

Моят 4-бутонен монтаж
Моят 4-бутонен монтаж

За четирите си бутона използвах тези бутони и перфорирана печатна платка и резистори, както е посочено на диаграмата по -горе. Начинът, по който физически прилагате четирите си бутона, е широко отворен и зависи от вас и нуждите на вашите проекти. Стига да е електрически това, което е на горната диаграма. Уверете се, че монтажът ви в конструкцията е такъв, че няма да контактувате с окабеляването към бутоните, тъй като това ще отхвърли показанията, което ще доведе до погрешно поведение на бутона.

Имам добавен малък бутон на дъската, който използвам като клавиш „Функция“. Той е сериен с резистор от 2 мегама, който не изхвърля значително другите ми показания на входа; въпреки че мога да го открия само когато е натиснат сам. Можете да го игнорирате или да проверите кода, за да разберете по -нататък как го използвам.

Тестова скица 'Test_12Leds_6Btns' може да се използва за тестване на откриването на натискане на бутон (и) от вашия MCU и действителния бутон. Неговият изход е настроен да се гледа или с LED стълба, или със сериен монитор. Той може лесно да бъде променен за извеждане чрез какъвто и да е тип дисплей.

Може да се наложи да коригирате набора от референтни показания на кода, с който сравнява входа, поради потенциални разлики във вътрешния резистор на MCU или до допустимите отклонения на резисторите, които използвате. Бихте могли, ако предпочитате, да използвате прецизни резистори, надявам се да не се налага да правите настройки за калибриране. Между другото, не използвах външно издърпване, тъй като това би попречило на други приложения, които планирам за един от моите проекти.

Едно от ключовите софтуерни действия, за да се гарантира, че определянето на кой (ите) бутон (и) е натиснат, не се влияе от нивото на захранващото напрежение (и/или отклонение на MCU), е да се анализира аналоговият вход според неговото максимално отчитане, което от своя страна се влияе от захранващото напрежение.

Софтуерният „драйвер“, който обслужва тези бутони, е рутинната „scanButtons ()“. Той изчаква да се установи стойността на аналоговия вход, след което картографира отчитането в поредица от предварително определени стойности; и го превежда в съответните състояния за събирането на бутони. Тази рутина и публичните променливи, които споделя с приложния софтуер, са всичко, което е необходимо за подобно използване на този набор в независими бутони.

Забележка! Текущата версия на „scanButtons ()“не се опитва да идентифицира еднозначно всички възможни три комбинации от бутони, тъй като за мен това не беше реално необходимо и допълнително би усложнило кода и необходимата точност на калибриране.

Стъпка 3: Игра на игри

Или скица, „LadderGames4“или „Head2head“може да бъде заредена и пусната от почти всеки Arduino MCU, но LadderGames4 трябва да има „SimonSays“или някоя от другите две игри, коментирани, за да се поберат в 8K байта от програмното пространство в Атини-85. Аудиото също е проблем с ATtiny-85, вижте предишния проект, споменат по-горе. Кодът е настроен с условно компилиране и е известно, че работи с Nano, Uno и ATtiny-85.

С всеки един от тези скици след инициализация ще бъдете представени с менюто, с един цвят наведнъж, осветяващ всички червени … жълти … зелени … сини светодиоди, съответстващи на четирите възможни избора на игра. Можете или да натиснете Btn1, когато желаната опция светне, или по всяко време натиснете Btn2-4 за игри 2-4. Излишният начин за избор е така, че да бъде съвместим както с два, така и с четири изпълнения на бутони и игри. Ако играта има няколко версии, ще трябва да изберете мигащо червено за ver-1, мигащо жълто за ver-2 и т.н.

4 игри с бутони

Игра на памет, игра за координация око-ръка и две стратегически игри.

Саймън казва Това е повторно изпълнение на играта от формата, в която я имах, в тези по-ранни проекти:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Играе като почти всяка друга игра „Саймън казва“.

Тук обаче добавих версията за двама души (когато изберете опция 2, мигащо жълто), където всеки играч от своя страна добавя нова светла нотка към поредицата. Първият, който не повтори правилно всичко, което е било преди, губи играта.

Разбийте къртица

За 30 секунди се появяват различни бенки (червени, жълти, черни, сини) 1, 2 или 3 наведнъж. Трябва да ги „ударите“, като натиснете съответните бутони Btn1-4. Ще се приемат само единични натискания на бутони, няма едновременно многократно натискане на бутони. Колко дълго остават молове, става все по -кратък с напредването на играта. Ако разбиете всички показани бенки, ще се появи нов комплект; така че колкото по -бързо сте, толкова повече бенки ще имате шанс да разбиете.

След като играта е завършена, дисплеят ще отразява резултата, като осветява по един светодиод за всеки 10 мола, които са били разбити. Тъй като играта отбелязва 10 точки за всеки удар на бенка, 5 осветени светодиода ще представляват стандартен резултат от точка Whac-a-Mole 500+. За да играете друг кръг, ще трябва да изберете отново играта.

Използвам пръст на всеки бутон за бързо действие и високи резултати. За по -правилно предизвикателство трябва да използвате само един пръст на едната ръка, като отговаряте на използването на един чук.

Моят типичен резултат с един пръст е в 500 -те, с 4 пръста (по един на бутон) е 600+. Най -високият ми резултат е 700+. Използването на няколко пръста е особено сложно, тъй като ако има припокриване при натискане на един и друг, вторият няма да бъде приет от софтуера, което изисква да освободите всички бутони, преди да бъде приет друг. Ако някой получи всичките 12 светодиода за светлина, за над 1200 точки, моля да ни уведомите.

Морски лов

Има невидима подводница, движеща се в дълбините. Първоначалното му местоположение и посоката са произволни. Той прави ход по хода си след всеки завой. Трябва да предвидите местонахождението му чрез сонарни отчети и да го потопите с дълбок заряд. Звукът на сонара се излъчва (в двете посоки) от началното си място като приглушена светлина и озарява (заедно с пинг) на разстоянието на подводницата. Имайте предвид обаче, че подводницата може да е от двете страни и да се движи в неизвестна посока. Дълбокият заряд експлодира дълбоко под мястото, където е изстрелян. Чувате заглушен взрив, ако няма нищо, или го има, иначе чувате голямата експлозия на подводницата и ярка светкавица.

За да преместите курсора до мястото, където искате да пуснете сонарна шамандура, или зареждането на дълбочина се прави с Btn2 & Btn3 за ляво и дясно. Бутон-1 се използва за стартирането им.

Във версия 1 всеки опит е комбинация от доклад за дълбочина и зареждане на сонар; и можете да използвате неограничен брой от тях.

Във версия 2, Head to head, като се редувате, за да видите кой успява да потопи подводницата. Играч 1 използва Btn1, а вторият играч използва Btn4, за да стартира своите дълбочинни такси.

Във версия 3 докладите за дълбочинните зареждания и сонарните доклади се стартират независимо от Btn1 и Btn4 съответно. Имате на разположение само три дълбочинни заряда. Можете да получите всички отчети на сонара, които искате. Губите, ако не успеете да го привлечете с тези обвинения.

Във версия 4 подводницата може да се движи със скорост 1-3 интервала на залп и в противен случай играе като версия 3, но получавате 6 дълбочинни заряда.

История: За първи път създадох играта „Sea Hunt“през 70 -те години. Тогава входно -изходното устройство беше телетайп. Въпреки това тогава морето е било двуизмерна решетка, за разлика от едноизмерната, както е тук.

ЗАБЕЛЕЖКА: Коментирах ограничението на дълбочинния заряд в кода, с идеята, че вече е достатъчно трудно да се играе за повечето хора.

Обърнато

Тази игра за двама играчи прилича малко на Reveri, тъй като се опитвате да превърнете всички клетки във вашия цвят, но това се постига по различен начин.

В тази игра за двама играчи целта на един играч е да изключи всички светлини, а другият да ги включи всички. Един играч използва Btn1, за да изключи група от светлините на другия играч или да се откаже от едно от неговите „изключени светлини“(включването му). Другият играч използва Btn4, за да включи група „Изключени светлини“на „Включено“или само едно от гърбовете си „Изключено“.

Таблото започва с произволен набор от светодиоди. Когато е редът на първия играч, има бързо затъмняване или осветяване на светодиода в „курсора“, интересна точка, която потенциално може да бъде обърната. По време на хода на играч #2 има дълга светкавица на светодиод като индикатор на курсора. Ако грешният играч натисне своя бутон, извън хода се чува много кратък звуков сигнал. Курсорът се премества наляво от Btn2 и надясно от Btn3. Губещият играч започва следната игра.

Стратегията за това какво да обърнете може да бъде значителна.

Стъпка 4: Конкурси директно

Игри с два бутона / двама играчи

В първия набор от 4 игри с бутони само „Whack-a-Mole“наистина разчита на пълна независимост на обработката на бутоните. Също така съм реализирал четири директни игри, всички от които зависят от независимо откриване на бутони. Тези игри са: Quick Draw, Tug a War, Chicken и Hot Hands (Slapsies).

Бързо теглене (тест за реакция)

Състезанието започва с „Готово“/червено, „Комплект“/жълто и „Равенство!“/Зелено; е доста случаен, когато ви дава зелена светлина. Печели първият, който натисне бутона. Удряте твърде скоро и сте обезчестени с бръмчене.

Играч 1 използва Btn1 (вляво), а играч 2 използва Btn4 (вдясно).

Връхлетка

Започва с „Готов“, „Зададен“… „ВЪРНЕТЕ!“. В средата се появява предмет, „лък“на въже. След това играчите натискат бутоните си толкова бързо и често, колкото могат. Лъкът ще се движи към играча с най -много попадения. След като лъкът достигне единия край, това е победителят.

Пиле

Този конкурс започва по подобен начин. След звука и зелената светкавица на „Go!“играчите натискат и задържат бутоните си, светлинните лъчи (колесниците им) започват да се движат от тях към другия. Победител е този, който пусне бутона си (изскача от колесницата си) последно, точно преди двата блипа да се блъснат един в друг. Ако някой пусне твърде късно или изобщо не го направи, той се разби и губи. Ако и двете скочат (освободят) твърде късно, никой не печели.

В началото двойка противоположни светодиоди преминават през дисплея, в този момент, ако натиснете Fnc-Btn2, скоростта на играта ще се увеличи. Това може да се повтори няколко пъти.

Горещи ръце

Дигитална версия на играта с ръчни шамари (известна още като Red-Hands или Slapsies). За да стартират, двамата играчи натискат бутоните си заедно, едната страна отпуска, след което се опитва да натисне бутона два пъти, преди другата страна да освободи бутона. След това другата страна се опитва да направи подобно. Играчът, чийто ход е, се обозначава в началото на рунд със запалване на светодиодите отстрани. Открих, че натискането само на един бутон е твърде бързо и лесно, затова направих два задължителни, което отнема повече действия и време, като например да се налага да хвърляш ръката си над и над останалите, както и след това да плеснеш. TBD: Във втора версия, тя е безплатна за всички, по всяко време всеки играч може да се опита да извлече най -доброто от другия.

Забележка! Съветвам ви да разпечатате горните правила за работа на игрите и да ги прочетете преди да играете игра, която не сте играли наскоро. В противен случай можете да се разочаровате; мислейки, че играта не работи правилно, когато е факт, но вие и играта имате различни начини и очаквания. Аз самият съм ставал жертва на това повече от няколко пъти.

С осемте игри тук и четирите в по-ранния ми проект Single-Line-LED-Display-Games, което прави софтуера достъпен за игра на 12 игри с тази хардуерна комбинация от четири бутона + LED стълба.

Имам поне още четири дейности за отдих за този хардуер (дисплей с бутони), предстоящи преди края на годината.

Стъпка 5: Незадължителни контролери за 2 играча

Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча
Допълнителни контролери за 2 играча

За игрите, които изискват само два бутона, бих могъл, разбира се, да използвам платката с 4 бутона с тези игри; Въпреки това, когато играете тези игри, човек е склонен да стане доста физически. Така че, използвам отделни бутони от тип бутало, направени от парче пластмасова тръба, покрита с дръжка за велосипед и голям бутон.

Части от бутони тип бутало:

  • 1/2 "тръба за капкова линия, разпръскващо устройство или PVC (магазин за хардуер)
  • Дръжка за дръжка за велосипед (Walmart)
  • Големи бутони (eBay)
  • 2 резистора

За да се поддържа съвместимостта, един бутон има резистор 75 ома последователно с него, а другият има последователно 36-39 ома; така че софтуерът да ги вижда съответно като Btn1 и Btn4.

Можете да използвате тръби, например от изхвърлена дръжка за метла или чистачка.

Може дори да се направи адаптер, към който да свържете стари джойстици за игрални конзоли; бутоните за пожар да бъдат свързани като Btn1 и Btn4 за другия, докато споделяте Btn1-4, като отидете на бутоните за навигация на джойстика.

Април 2018 г.: Сега предпочитайте да използвате 5/8 компресионни съединители като тяло за външни бутони в стил бутон. Големите бутони (с добавена малко лента върху нишките) се вписват перфектно в тях и се вписват много добре в ръката. децата обичат да използват чифт от тях, добавих няколко комплекта щифтове за заглавки, така че лесно да свържете един външен ръчен бутон през контактите Bnt1 и един за Btn4.

Стъпка 6: Актуализация (и)

Актуализация (и)
Актуализация (и)

Направих 3D печатна конзолна кутия, в която да се помести In-Line LED стълба на дисплея и бутоните.

Комбинирах 12 -те игри, които създадох досега, за този 12 LED дисплей, в една скица „Menu_12Games“. Този софтуер изисква хардуера на този проект, реализиран с 32KB флаш MCU (например Nano или Uno) и 5 бутона, 4 основни + FncKey.

Менюто за избор сега е двустепенно; първо избирате 1 от 4 групи игри, след това игра 1-4 в тази група, … както е посочено по-долу. Докато чакате избраните дисплеи периодично да сканират R-Y-G-B, натискате Btn1-4 като ваш избор по всяко време, няма значение какво се показва, когато натиснете вашия избор. По време на избора на „група“всички светодиоди са поне частично улеснени по време на RYGB сканирането. За да излезете от всяка игра или да направите резервно копие от селекцията „игра“в „група“, натиснете FncKey-Btn1.

Тепърва ще кодирам последната 4. Имам 3 записани (включително „LeMans“). Не съм измислил каква ще бъде последната игра. Пишете ми с някакви идеи.

Актуализация 25 януари 17: За тези от вас, които се радват на достъп до 3D принтер, може да се интересувате от кутията за игровата конзола, която направих за моето устройство: https://www.instructables.com/id/3D-Printed-Case- for-Inline-LED-Display-Console-и/

Актуализация 17 февруари 17: Добавих финалните 4 игри, които вече са достъпни като „Menu_16Games.ino“под „Стъпка 7: Актуализиране, още игри“на Instructable: Единично-LED-дисплей-игри (Menu_12Games.ino е вече несъществуващ)

Групова игра: 1– Червено 2- Жълто 3- Зелено 4- Синьо

1 червен PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Пиле Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Препоръчано: