Мазмуну:

3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe: 5 кадам (Сүрөттөр менен)
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe: 5 кадам (Сүрөттөр менен)

Video: 3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe: 5 кадам (Сүрөттөр менен)

Video: 3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe: 5 кадам (Сүрөттөр менен)
Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - PromoVid 2024, Июнь
Anonim
Image
Image
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe
3D4x Оюн: 3D 4x4x4 Tic-Tac-Toe

Ошол эле, эски, кызыксыз, 2 өлчөмдүү тик-точкадан ойноп чарчадыңызбы ?? Ооба, бизде сиз үчүн чечим бар! Tic-tac-toe 3 өлчөмдө !!! 2 оюнчу үчүн, бул 4x4x4 кубунда, катарынан 4 LED алып (каалаган багытта) жана сиз утасыз! Сиз жасайсыз. Сен ойнойсуң.

1 -кадам: Компоненттерди жана куралдарды чогултуу

Компоненттерди жана куралдарды чогултуу
Компоненттерди жана куралдарды чогултуу

Бул 3D Tic-Tac-Toe эң маанилүү компоненти-бул LED. Биз PL9823ту тандадык, анын ичинде интеграцияланган контроллери бар. Ал төрт казыкка ээ (Дата-в, Чыңалуу-Жеткирүү, Жер, Маалымат-Чыгуу) жана LEDдин түсүн оңой чечүүгө жана башкарууга мүмкүндүк берет. Тордун структурасы ар кандай жолдор менен курулушу мүмкүн, бирок биз үчүн бул эң арзан, бышык жана эстетикалык вариант болчу.

Компоненттердин тизмеси:

  • Arduino (биз Uno колдонгонбуз)
  • PL9823 LED (кеминде 64)
  • Жыгач таякчалар (узундугу 24 см)
  • Электр өткөргүчтөрү (биз эски Ethernet кабелинин ичин колдонгонбуз)
  • Баскычтар (учурдагы абал)
  • 7 резистор (220Ohm)
  • Breadboards (1 баскычтар жана ойноо үчүн, 1 Arduino панелине оңой туташуу үчүн)
  • Пенополистирол тактасы (панелдерди жасоо үчүн ~ 2x30x30см)
  • Көбүк полистирол блогу (~ 7x25x25см бардык тармак үчүн негиз катары)

Куралдардын тизмеси:

  • Кандооч
  • Калай калай
  • Желим
  • Башкаруучу менен түз
  • Pense
  • Сым тазалагычтар
  • Сым кескичтер
  • Кайчы
  • Маркер
  • Pen
  • Пинцет

2 -кадам: Тор жасоо

Image
Image
Тор жасоо
Тор жасоо
Тор жасоо
Тор жасоо

Биз 4х4 светодиоддон турган 4 панелди жекече жасайбыз.

  • 00: Панелдин макетин жасоо үчүн полистирол алыңыз. Үлгү тартуу. Бул учурда, биз LEDлердин ортосунда 6см аралыкты колдонуп, учунда 2см.
  • 01: LED төөнөгүчтөрүн стирофамга салыңыз. Маанилүү! Бардык LED диоддорун ошол эле багытта киргизгениңизди текшериңиз. Биздин учурда, биз чыгуучу пинди солго карай тандап алдык.
  • 02: Эми жыгач таякчалардын таякчаларын LEDдин эки жагына катар кылып кой, чекиттердин баары бир багытта экенине ынангыла. Таякты LED лампаларынын капталына чаптап, кургатыңыз.
  • 03: LEDлердин эки жагындагы жыгач таякча шиш таякчаларынын мамылары үчүн да ушундай кылыңыз, бардык пункттар бир багытта экенине ишениңиз. Желим менен кургатыңыз.
  • 04: Акырындык менен LEDлерди бошоңдотуп алып салыңыз. Панелди көтөрүп, оодарыңыз. Арткы жагын жабыштырыңыз, ошондо ал коопсузураак болот.
  • 05: Баары кургатылгандан кийин, ширетүүнү жеңилдетүү үчүн казыктарды бүгүп, электр линияларынын өтүшүнө жол бербөөгө жардам бериңиз. Биз пинцетти колдонобуз жана төөнөгүчтү базага жакын жерден бүгөбүз.
  • 06: Эми зымдарды даярдаңыз. Биз эски Ethernet кабелин колдондук, анын ичинде 4 буралган жуп зымдар бар. Кичинекей зымдарды кесүүдөн этияттап изоляцияны алып салыңыз. Андан кийин буруңуз, түстөрүңүздү ар кандай сызыктарга ылайыкташтырып тандаңыз жана LEDлердин ортосундагы туура узундукка кесиңиз. Андан кийин бир аз жылуулоону учтарынан сыйрып алыңыз. Биз жер = жашыл, Vdc = көк, маалыматтын/чыгыш = ак түстү тандап алдык.
  • 07: Solder! Байланыштар көп (64x4), андыктан этият болуңуз.
  • 08: Панелди алып салгыла жана көбүк негизине койгула!

3 -кадам: Джойстикти жасаңыз

Джойстикти жасаңыз
Джойстикти жасаңыз
Джойстикти жасаңыз
Джойстикти жасаңыз

Биз торчодо навигацияны тандоо үчүн джойстикти жасоо үчүн нанды колдондук. Биз схеманы түзүү үчүн секиргичтерди, резисторлорду жана баскычтарды жайгаштырдык (диаграмманы караңыз), багытты көзөмөлдөөчү (6 баскыч, ар бир багыт үчүн 1) жана тандоо баскычы (оюнчунун кыймылына кирет). 5V жана жер Ардуинодогу портторго туташкан. Аналогдук жана санариптик киргизүү үчүн биз Arduino портторун A5 жана 2 тандап алдык.

Тандоо баскычы антиконшинг каршылыгы бар негизги схемага ээ. Багыт командасы чыңалуу бөлүштүргүч схемасы катары иштеген резистордук тепкичке негизделген: аналогдук киришке чыңалуу басылган баскычка көз каранды жана Arduino тарабынан бир буйрук багыты катары чечмеленет.

4 -кадам: Кодду жазыңыз

Кодду жазыңыз
Кодду жазыңыз

Сиз колдонушуңуз үчүн кодубузду жүктөдүк:) Биринчиден, Arduino менен электрдик байланыштарды түзүңүз. Биз бир аз жеңилирээк болсун үчүн Arduinoнун жанына мини -нан тактасын койдук. Биз Arduino "GND" жана "5V" ды 2 тилкедеги панелге туташтырдык, анда биз ар бир панелден тийиштүү жерге жана Vdc туташтырдык. Data-In жана Data-Out үчүн биз панелдердин ар бири үчүн 4 башка Arduino казыгын, 13, 10, 7 жана 4 тандап алдык. PL9823 LED диоддорун LEDдин сандык ирети менен жекече чечүүгө болот. Мисалы, эгер сиз 1 -светодиодду белгилүү бир түскө күйгүзгүңүз келсе, LED [0] дарегине кайрылыңыз. 16 -LED үчүн дарек LED [15]. Эми сиз коддоого жана сулуу жарыктар менен ойноого даярсыз! Төмөндө 3D tic-tac-toe оюнунун кодунун жалпы түшүндүрмөсү келтирилген.

3D4x оюндун коду

Биз микро көзөмөлдөгөн LEDди башкарууга мүмкүндүк берген 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дагы маалыматтарга ылайык сериялык башкаруу сигналын жөнөтүү менен LEDлардын абалын жаңыртат. Негизги функция - "CheckVictory ()", ал "ReadButtonInput ()" тарабынан чакыруу баскычы басылган сайын чакырылат. Бул функция мейкиндиктеги тандалган чекиттин курчап турган казыктар менен утуп айкалышуусун текшерет. Комбинация утуп алган учурда, TTTMapтагы упайларга 3 же 4 саны менен кол коюлат, уткан оюнчуга ылайык, жана кызыктуу "VictoryAnimation ()" чуркайт!

Кайра ойноо үчүн, Arduinoдогу баштапкы абалга келтирүү баскычын басыңыз:)

5 -кадам: Досторуңуз менен ойноңуз

Досторуңуз менен ойноңуз!
Досторуңуз менен ойноңуз!
Досторуңуз менен ойноңуз!
Досторуңуз менен ойноңуз!
Досторуңуз менен ойноңуз!
Досторуңуз менен ойноңуз!

Бул жерде эч кандай түшүндүрмөнүн кереги жок … Бактылуу болгула!

Сунушталууда: