Мазмұны:
- 1 -қадам: компоненттер мен құралдарды жинаңыз
- 2 -қадам: торды жасаңыз
- 3 -қадам: джойстикті жасаңыз
- 4 -қадам: кодты жазыңыз
- 5 -қадам: Достарыңызбен ойнаңыз
Бейне: 3D4x ойыны: 3D 4x4x4 Tic-Tac-Toe: 5 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Сіз бірдей, ескі, жалықтыратын, екі өлшемді тик-то-аяқ ойнаудан шаршадыңыз ба? Ал, бізде сіз үшін шешім бар! Tic-tac-toe 3 өлшемді !!! Бұл 4х4х4 текшеде 2 ойыншыға қатарынан 4 жарықдиодты алыңыз (кез келген бағытта) және сіз жеңесіз! Сіз жасайсыз. Сіз оны ойнаңыз.
1 -қадам: компоненттер мен құралдарды жинаңыз
Бұл 3D Tic-Tac-Toe-дің ең маңызды компоненті-жарық диоды. Біз PL9823 таңдадық, оның ішінде интеграцияланған контроллері бар. Ол төрт түйреуіштен тұрады (Data-in, Voltage-Supply, Ground, Data-Out), және жарық диодтың түсін оңай басқаруға және басқаруға мүмкіндік береді. Тордың құрылымын әр түрлі жолмен салуға болады, бірақ біз үшін бұл ең арзан, берік және эстетикалық нұсқа болды.
Компоненттер тізімі:
- Arduino (біз Uno қолдандық)
- PL9823 жарық диоды (кем дегенде 64)
- Ағаштан жасалған таяқша (ұзындығы 24 см)
- Сымдар (біз ескі Ethernet кабелінің ішкі бөлігін қолдандық)
- Түймелер (уақытша күй)
- 7 резистор (220 Ом)
- Нан тақталары (түймелер мен ойнауға арналған 1, Arduino -ға оңай панельдік қосылымдар үшін 1)
- Көбік полистирол тақтасы (панельдерді дайындау үшін ~ 2x30x30см)
- Көбік полистирол блогы (~ 7x25x25см бүкіл тор үшін негіз ретінде)
Құралдар тізімі:
- Пісіру темірі
- Пісіру қалайы
- Желім
- Сызғышпен түзету
- Қысқыштар
- Сымды тазартқыштар
- Сым кескіштер
- Қайшы
- Маркер
- Қалам
- Пинцет
2 -қадам: торды жасаңыз
Біз 4х4 жарықдиодты 4 панельді жеке жасаймыз.
- 00: Панельдің орналасуын жасау үшін стиролды алыңыз. Үлгіні салыңыз. Бұл жағдайда біз светодиодтар арасында 6 см қашықтықты қолдандық, ұштарында 2 см.
- 01: Жарық диодты түйреуіштерді полистиролға салыңыз. Маңызды! Барлық бағдаршамдарды бір бағытта қосқаныңызға көз жеткізіңіз. Біздің жағдайда біз шығыс түйреуішті солға қарай таңдадық.
- 02: Енді светодиодтардың екі жағына ағаштан жасалған таяқшаларды қатарға қойыңыз, осылайша нүктелердің барлығы бір бағытта екеніне көз жеткізіңіз. Таяқшаны жарықдиодты шамдардың екі жағына жабыстырыңыз және құрғатыңыз.
- 03: Светодиодтардың екі жағындағы ағаш таяқшалар бағаналары үшін де осылай жасаңыз, осылайша нүктелердің барлығы бір бағытта екеніне көз жеткізіңіз. Желімдеп құрғатыңыз.
- 04: Айналадағы жарықдиодты босату арқылы ақырын алып тастаңыз. Панельді көтеріп, аударыңыз. Артқы жағын жабыстырыңыз, сонда ол сенімді болады.
- 05: Барлығы құрғақ болғаннан кейін, дәнекерлеуді жеңілдету үшін түйреуіштерді бүгіңіз және электр желілерінің өтуін болдыртпаңыз. Біз пинцетті қолданамыз және түйреуішті негізге жақын жерден бүгеміз.
- 06: Енді сымдарды дайындаңыз. Біз ескі Ethernet кабелін қолдандық, оның ішінде 4 бұралған жұп сым бар. Кішкене сымдарды кесіп алмау үшін оқшаулауды алып тастаңыз. Содан кейін бұраңыз, әр түрлі сызықтарға сәйкес түстерді таңдаңыз және светодиодтар арасындағы дұрыс ұзындықты кесіңіз. Содан кейін оқшаулағыштың ұштарын аздап алып тастаңыз. Біз жер = жасыл, Vdc = көк, деректерді енгізу/шығару = ақ таңдадық.
- 07: Дәнекер! Байланыстар көп (64х4), сондықтан дәнекерлеуді мұқият жүргізіңіз.
- 08: Панельді шешіп, көбік негізіне қойыңыз!
3 -қадам: джойстикті жасаңыз
Біз торды шарлауға және таңдау жасауға арналған джойстикті жасау үшін тақтаны қолдандық. Біз бағытты реттегішті анықтайтын схеманы (диаграмманы қараңыз) және секіргіштерді, резисторларды және түймелерді орналастырдық (6 түймешік, әр бағыт үшін 1) және таңдау түймесі (ойыншының қозғалысына кіреді). 5V және жер Arduino порттарына қатысты. Аналогты және цифрлық кіріс түйреуіштері үшін біз сәйкесінше A5 және 2 Arduino порттарын таңдадық.
Таңдау батырмасында түйілуге қарсы резисторы бар негізгі схема бар. Бағыт пәрмені кернеуді бөлу тізбегі ретінде жұмыс істейтін резисторлық баспалдаққа негізделген: аналогтық кіріске кернеу басылған батырмаға байланысты және оны Arduino бір командалық бағыт ретінде түсіндіреді.
4 -қадам: кодты жазыңыз
Біз сізге өз кодты жүктедік:) Алдымен Arduino -ға электр қосылымын жасаңыз. Біз сәл жеңілдету үшін шағын нан тақтасын Arduino жанына қойдық. Біз Arduino «GND» және «5V» нандарды екі жолға жалғадық, содан кейін әр панельден тиісті жер мен Vdc қосылды. Деректерді енгізу және деректерді шығару үшін біз панельдердің әрқайсысы үшін 4 түрлі Arduino түйреуіштерін таңдадық, 13, 10, 7 және 4. PL9823 жарық диодты жарықдиодты сандық ретпен жеке реттеуге болады. Мысалы, егер сіз 1 -ші жарық диодты белгілі бір түске қосқыңыз келсе, онда LED [0] адресін беріңіз. 16 -шы жарық диоды үшін адрестік жарық диоды [15]. Енді сіз әдемі шамдармен кодтауға және ойнауға дайынсыз! Төменде 3D tic-tac-toe ойынының кодына жалпы түсініктеме берілген.
3D4x ойынының коды
Біз микро-басқарылатын жарықдиодты басқаруға мүмкіндік беретін fastled.h кітапханасын қолданамыз.
Текше «TTTMap» 3D бүтін массивінде іс жүзінде есте сақталады, онда әр элемент сәйкес жарыққа сәйкес 5 күйдің 1 -де болуы мүмкін: 0 = ойыншы жоқ, 1 = ойыншы 1, 2 = ойыншы 2, 3 = жеңімпаз комбинациядағы 1 ойыншы, ал 3 = жеңімпаз комбинациядағы 2 ойыншы. TTTMap виртуалды текшесінің элементтерін нақты жарық диодтарына салыстыру үшін LEDMap0, LEDMap1, LEDMap2, LEDMap3 бүтін сандар массивтері қолданылады.
«Орнату» функциясы панельге қосылған Arduino порттарын инициализациялайды, барлық светодиодтарды «қара» күйге келтіреді және TTTMap массивінің элементтерін 0 -ге инициализациялайды.
«Цикл» функциясы «ReadButtonInput ()», «SendLED ()» функцияларын орындайды, ал егер бір ойыншы жеңсе, «VictoryAnimation ()» функциясын орындайды. Бірінші функция бағыттау командасының аналогтық кірісін және таңдау батырмасының сандық кірісін оқиды. «ButtonPushed» және «SelectPushed» логикалық айнымалылары батырманы ұстап тұрғанда цикл жылдамдығында қозғалыстың қайталануын болдырмау үшін қолданылады. «SendLED ()» функциясы TTTMap мәліметтеріне сәйкес сериялық басқару сигналын жіберу арқылы жарық диодтардың күйін жаңартады. Таңдау түймесі басылған сайын «ReadButtonInput ()» деп аталатын «CheckVictory ()» негізгі функциясы болып табылады. Бұл функция кеңістіктегі таңдалған нүктенің айналадағы түйреуіштермен ұтымды комбинация жасайтынын тексереді. Комбинация жеңген жағдайда, TTTMap ұпайларына жеңімпаз ойыншы сәйкес 3 немесе 4 нөмірімен қол қойылады және қызықты «VictoryAnimation ()» жүгіреді!
Қайта ойнау үшін Arduino -дегі қалпына келтіру түймесін басыңыз:)
5 -қадам: Достарыңызбен ойнаңыз
Мұнда түсініктеме қажет емес … ҚУАНЫҢЫЗ!
Ұсынылған:
DIY 37 Leds Arduino рулетка ойыны: 3 қадам (суреттермен)
DIY 37 Leds Arduino рулетка ойыны: Рулетка - бұл кішкентай дөңгелекті білдіретін француз сөзімен аталған казино ойыны
BBC Micro: бит және Scratch - интерактивті руль және жүргізуші ойыны: 5 қадам (суреттермен)
BBC Micro: бит және Scratch - интерактивті руль және көлік жүргізу ойыны: Менің осы аптадағы тапсырмаларымның бірі - біз жазған Scratch бағдарламасымен интерфейс жасау үшін BBC Micro: bit пайдалану. Мен бұл ThreadBoard тақтасын ендірілген жүйені құрудың тамаша мүмкіндігі деп ойладым! Менің сызатқа шабытым
3d лабиринт ойыны Arduino көмегімен: 8 қадам (суреттермен)
Arduino қолданатын 3d лабиринт ойыны: Сәлем достар, бүгін біз ARDUINO UNO көмегімен лабиринт ойынын жасамақпыз, өйткені Arduino Uno - бұл жиі қолданылатын тақта, онымен ойын жасау өте керемет. Бұл нұсқаулықта джойстиктер көмегімен басқарылатын лабиринт ойынын жасауға мүмкіндік береді. Ұмытпаңыз
Arduino Sorta Sudoku ойыны: 3 қадам (суреттермен)
Ардуино Сорта Судоку ойыны: Көптеген адамдар Судоку мен немерелеріне ойын ойнағанды ұнатады, сондықтан мен портативті «Сорта Судоку» ойынын жасауды шештім. Менің нұсқамда ойын 4х4 торлы, бірақ тек бір сан берілген. Ойдағы қалған сандарды болжау
(Түймесін) басыңыз; // Arduino СКД ойыны: 5 қадам (суреттермен)
(Түймесін) басыңыз; // Arduino LCD ойыны: жақында скауттарда мен Game Design лайықты белгісінде жұмыс жасадым. Талаптардың бірі үшін мен бұл ойынды LED Rocker ойынына негізделген Arduino көмегімен құрдым. Ойынның мәні - мүмкін болатын ең көп ұпай жинау. Т басында