Мазмуну:

Portal 2 Turret - Master Turret Control: 9 Steps (Сүрөттөр менен)
Portal 2 Turret - Master Turret Control: 9 Steps (Сүрөттөр менен)

Video: Portal 2 Turret - Master Turret Control: 9 Steps (Сүрөттөр менен)

Video: Portal 2 Turret - Master Turret Control: 9 Steps (Сүрөттөр менен)
Video: Полное прохождение Portal 2 - без HUD и комментариев 2024, Июль
Anonim
Image
Image

Бул долбоор менин Instructables боюнча баштапкы Portal Turretтин кеңейтүүсү же ремикси (Portal-2-Turret-Gun). Ал ошондой эле nRF24L01 радио чипин колдонгон нерсени көзөмөлдөө үчүн арзан контролер катары колдонулушу мүмкүн. ЖК экраны ыңгайлаштырууда өзгөчө пайдалуу.

(Менин радиолорум "тармакта" башка nRF24L01 менен байланышты качан үзүп, жоготуп жатканын текшерүүдө абдан пайдалуу болуп чыкты. Мен ары -бери басып, дисплей экранында радиолордун байланыш статусун көрсөтө алам! Жөндөөлөрдү тууралоо жана текшерүү үчүн абдан пайдалуу диапазону!)

Порталдык мунараны бүтүргөндөн кийин, 2 -порталдын аягында Cara Mia опера сахнасынын кыска видеоклипин көрдүм. Мен ойлодум: «эй, мен азыр бир нече мунара тургуздум. Мен муну кыла алам! Ооба, менде мунаралар бар болчу, бирок анын иштеши үчүн алар азыр бири -бири менен же башка түзмөк менен байланышуусу керек. Бир аз ойлонуп, кол менен башкаруу дагы сонун болот деп ойлогондон кийин, мен Master Turret Controller же MTC курууну чечтим.

Макул, анан бул тууралуу кантип айтса болот? Ооба, мен мунараларды өтө эле өзгөрткүм келбеди, ошондуктан бул чектөө болду. Менде азырынча колдоно элек nRF24L01 радио чиптери бар болчу жана бул менин арзан компоненттерди колдонуу жана механикалык дизайнга жана кодго таянуу максатыма ылайык келет деп ойлогом. Мен контроллер курушум керек жана контроллердин ичинде эмне бар экенин жана мунараларга эмне кылсам болорун ойлоно баштадым. Кара Миа күн тартибинде болчу, бирок дагы эмне?

Кол менен башкаруу: Ошентип, канаттар ачылгандан кийин, мен чайырды жана бурулушту башкаргым келет. 2 огу = джойстик, ошондуктан джойстикти башкаруу жана кээ бир баскычтар. Баскыч 1 баскычты турнаны күйгүзүп, балким 2 баскычын басуу менен анын сөздөрүнүн бирин айтууга мажбур кылмак. Жакшы болчудай! Жеткиликтүү жөнөкөй…

Чат: Мен жакында эле "Ким биринчи" - Эбботт менен Костелло тартибин дагы көрдүм, башымда жарык өчтү! Мен ошондой эле бир нече мунараларды колдонуп, бардык сөздөрдү колдонуп, эскиздик комедия тартибин түзмөкмүн !! Макул, бул толугу менен табылган жок, бирок мен курулушум жүрүп жатканда аны иретке келтирериме ишенем.

Мен дагы бул МТКнын зымсыз болушун кааладым, ошондуктан 9В батарейка менен иштеген опцияны тандадым жана контроллерди арткы жагындагы Nano аркылуу мини-USB сайгыч менен иштөө үчүн иштелип чыккан. Жаңыртуу үчүн да пайдалуу.

1 -кадам: Радиону мунараларга киргизүү

Мен адегенде радиону бир нече жылаңач нано менен иштедим, аны иштетип, бир нече түзмөктүн ортосунда маалымат жөнөтө алам. Муну аткаргандан кийин, радиону учурдагы мунараларга кошуу жөнүндө сөз болгон. Хм, физикалык ПХБны мунарага кошуу абдан оңой болду. Мен жөн эле nRF24L01, Nano жана mp3 чиптерин камтыган чип кармагычты өзгөрттүм. Макул. Кээ бир зымдары менен физикалык бөлүгү өзгөртүлгөн.

Өзгөртүлгөн чип кармагыч азыр мунаранын басылган бөлүктөрүнүн бир бөлүгү. Мен ошол түзүлүштөгү басылган бөлүктөрдөн радио эмес вариантты жок кылдым. Кимдир бирөө радио эмес вариантты кургусу келсе, анда эч кандай мааниге ээ болбойт. Жөн гана nRF24L01 радио чипин кошпогула.

2 -кадам: Туреттердин зымдары (кайра)

(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары
(Re) туреттердин зымдары

Эхх…

Бул жакшы көрүнгөн жок. Мен Наного 5 туташууну кошушум керек болчу, жана мен буга чейин жеткиликтүү төөнөгүчтөргө аз калдым. Муну бир аз карап чыккандан кийин, мен кайсы туташуулардын артыкчылыктуу экенин түшүндүм жана бул ишти жасоо үчүн мен учурдагы нано байланыштарынын көбүн кайра түзүү керек экенин түшүндүм.

"Радио мунара" жасагысы келгендерге жана мурунку генди кургандарга … Кечиресиз …

Эми, мен бул өзгөрүүнү бир нече жолу кылдым жана бул процесс өтө деле жаман эмес экени белгилүү болду. Бул кайра кирүүнү камтыйт, бирок мен Нано менен болгон байланыштарды жокко чыгардым, андан кийин кайгырбастан тиешелүү казыктарга кайра туташа алдым. Мен радио чиптин 7 зымын nRF24L01ге коштум (5 комм, 3v жана GND), андан кийин башка учтарын нано менен туташтырдым.

Азыр ал жерде дагы зымдар бар, андыктан зымдарды иретке келтирүүдө нерселерди иретке келтирүү алда канча маанилүү.

МААНИЛҮҮ: Чогултканда, зымдар тактадагы Nano баштапкы абалга келтирүү баскычын баспасын текшериңиз !! Бул менин башыман өткөн окуя болду жана мени керексиз укурукка ыргытып жиберди!

Ошентип, мунаранын курулушунда азыр 2 зым схемасы бар: эски "радио эмес" вариант жана кайра каралган "радио мунарасы" опциясы. Эгерде бүгүн "радио эмес" мунара куруп жатсам, мен дагы эле радионун схемасын жана кодун колдонмокмун. Тандалган маршрут, же жок болсо, жөн эле радио бөлүктөрүн жок кылыңыз же комментарий бериңиз. Мунара дагы эле радиосу жок өз алдынча иштеши керек.

3 -кадам: MTC Электр компоненттери

MTC электр компоненттери
MTC электр компоненттери
MTC электр компоненттери
MTC электр компоненттери
MTC электр компоненттери
MTC электр компоненттери

Мунараларды иретке келтирип, МТК жасоого убакыт келди.

МТК төмөнкү компоненттерди колдонот, алардын баары Amazon же Baggood же Ali Express аркылуу ж. Механикалык дизайнды баштоодон мурун колума керектүү нерселерди алуу үчүн 2+ жума күтө туруңуз!)

  • Arduino Nano 0.96”LCD, (SSD1306) Мен Көк/Сары версиясын колдондум
  • Small Joystick (HW-504) 5V PS джойстик модулу
  • Өчүрүү (dx-004) 22мм * 13мм
  • Радио - (nRF24L01)
  • 12мм баскычтар (түстүү баскычтар үчүн CLT1088, кара үчүн PBS-33B)
  • 2 мм бурамалар (M2 өз алдынча таптоо бурамалары топтому, Cross Drive Pan Head ассортимент)
  • 5мм LED көрсөткүчтөрү үчүн сиз тандаган. (Жарык диоддорду колдонбоңуз !!)
  • Pigtails менен жалпы 9V батарея туташтыргычы
  • 9V батарейкасы (бул проекттер үчүн дайыма эле жетиштүү кубаттуулук бере албаган доллар дүкөнүнүн бирин эмес, жакшы бирин колдонуңуз!)
  • Мен силикон менен капталган зымды колдондум. Мен аны бул долбоорлордо колдонууну жакшы көрөм.

Мен башында кээ бир жарык диоддорду колдондум, бирок алар өтө жакшы экенин көрдүм. Алар мени сокур кылып жатышты! Мен кээ бир эски, алсыз диоддорду колдонууну аяктадым жана бул колдонмо үчүн көбүрөөк мааниге ээ болду.

4 -кадам: 3D басылган бөлүктөр

3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү
3D басылган бөлүктөрү

Мен МТКны мунаранын дизайнын жасаганга окшош Fusion менен иштеп чыктым.

Басылган монтаж 3 бөлүктөн гана турат:

  • Жогорку панель (1 же 2 версия)
  • Төмөндөгү турак жай
  • LCD боосу

NRF чипи, Нано, 9В батареясы, которуштургуч жана светодиоддор жогорку табакка бекиткичтерсиз орнотулган. Светодиоддор жөн эле табакка басып, өтмөктөрдүн ордунда кармалып турат. Алар жөн эле кирип кетиши керек, бирок ашыкча кылбаңыз. Үстүнкү табак нанону кармоо үчүн иштелип чыккан жана nRF чипи акырын кириши керек. NRF кичинекей өтмөгүнө этият болуңуз; ал кичинекей жана ачуу үчүн кайра ийилип, чипти басып алуу үчүн бошотулган. Анын саякаты чектелүү болсо да, бул жерде жумшак болуңуз.

Джойстикке жана ЖКга аларды 2 мм бурамалар керек (узундугу 5 мм), аларды үстүңкү табакка кармашат. Джойстиктин PCB чоң тешиктери бар, андыктан бурамалар тартылып кетпеши үчүн мага кичинекей шайбалар керек экенин сездим.

Мен ПКБнын ЖКсы бир аз өлчөмдө өндүрүүчүдөн өндүрүүчүгө чейин өзгөрүп турганын байкадым, ошондуктан мен аны илгичтердин же илгичтердин ордуна кармап туруу үчүн жөнөкөй боону колдонууну чечтим.

Белгилей кетчү нерсе, ЖКны физикалык түрдө үстүңкү табакка орнотууга болот, бирок дисплей бир багытта ачылуу аркылуу толугу менен көрүнөт! Ушул себептен улам, мен сары/көк экраны колдонулганда 2 -табак опциясын коштум. Бир версиянын үстү жагында сары түс бар, экинчиси менин сүрөттөрүмдө көрсөтүлгөндөй ылдый жагында сары түстү көрсөтөт.

ЖКнын бир түстүү версиясы үчүн, кайсынысы колдонулганынын мааниси жок, анткени сиз программалык камсыздоону колдонуп дисплейди оодара аласыз.

Бардык өткөргүчтөр жогорку табакта жасалгандыктан, түбү эффективдүү түрдө үстүнкү пластинага узундугу 2 мм бурамалар менен жабылган капкак (qty: 4).

"Батарея эшиги" дегендин ордуна, мен батарейканы үстүңкү табакка киргиздим. Бул батарейканы алмаштыруу үчүн ылдыйды өйдө караган 4 бураманы алып салууну билдирет, бирок ал дүйнөнүн акыры эмес, USB кабели менен иштесе болот. Үстүнкү плитасы 9В батарейка кармагыч системасы менен жасалган, ал кайра -кайра колдонуу үчүн бышык болушу керек, өтө татаал эмес, бирок батарейканын ары -бери жылышына жол бербейт.

Сүрөттөрдө көрүнгөндөй үстүнкү табакты 2 түстө басып чыгардым. Мен Prusa i3 Mk2ди көп түстүү вариантсыз колдоном, бирок процесстин бир бөлүгүндө түсүн өзгөртүү үчүн алардын түстүү басып чыгаруу куралын (https://www.prusaprinters.org/color-print/) колдоном. Текст токтоп, катуу болуп калган катмарды текшерип, ошол өткөөл катмарды жасаңыз. Voila! Түстүү текст!

Мен тетиктерди 0.35мм бийиктикте басып чыгардым, анткени бул жалпак бөлүктөрдө майда чечимдердин кереги жок. Мен дагы бул токтомго караганды жактырам. Оо, ал да абдан тез басып чыгат!

5 -кадам: Электр жыйын

Электр чогултуу
Электр чогултуу
Электр чогултуу
Электр чогултуу
Электр чогултуу
Электр чогултуу
Электр чогултуу
Электр чогултуу

Электрдик компоненттердин бардыгы үстүңкү плитанын астына орнотулган жана бардык зымдары бирге жасалат. Адегенде баскычтарды жана которгучту орнотуш керек, жана LCD, Nano, Joystick, nRF радиосунун баары Жогорку табакка орнотулганга чейин алдын ала зымдалышы мүмкүн. Мен жеке компоненттерди алдын ала зым менен жабуунун бул ыкмасын сунуштайм, анан аягында Нано менен акыркы байланыштарды түзөм. Мен ошондой эле зымдарды бүтүрүүдөн мурун, эскизди жылаңач нанога жүктөөнү сунуштайм.

Аспапты күйгүзүп, аяктагандан кийин күтүлгөндөй жанданышын көрүүдөн өткөн канааттандырарлык эч нерсе жок!

Электрдик бөлүктү даярдоонун бирден -бир талабы, үстүнкү табактын астына туура келиши үчүн, джойстиктен баш пиндерди алып салуу болгон. ЖК экранды казыктары бар же орнотулбастан сатып алса болот, жана эки жакта тең иштейт. Nano баш казыктары жок тандалышы керек.

6 -кадам: Код

MTC, Red turret, White Turret жана Blue Turret үчүн код азыр

Ооба, бул коддоо тажрыйбасы болду! Менде мунара өз алдынча иштечү, бирок радиону киргизүү мен ойлогондон да кыйын болчу! Мен дагы "Чат" бөлүмүн каалагандай иштетүү менен көңүл ачтым (бул тууралуу кийинчерээк).

MTC коду, толугу менен түшүнүлгөндөн кийин, нанонун эс чектерине салык сала баштады! Эстутумдун эффективдүүрөөк болушу үчүн мен кодду үнөмдөшүм керек болчу. Дагы бир жакшы окуу тажрыйбасы.

Мен бул түзүлүшкө "Turret w radio option" тиешелүү кодун коштум, анткени алар чогуу иштешет. Радио вариантынын мунарасын турниктин бетине куруу аны МТК менен же башка nRF24L01 башкаруу ыкмаңыз менен колдонууга даяр кылат.

Ошондой эле, бул код менен иштөө үчүн үндөрдү алуу бир топ убакытты талап кылды, жана үндөр жалпыга жеткиликтүү болгон башка веб -сайттардан алынгандыктан, мен аларды бардык ZIP файлдарына колдонгонумдай коштум; бири кадимки мунарага, бири бузук мунарага. Сиз үчүн жакшы нерсе, урматтуу окурман, сиз SD карталарыңыздагы үндөрдү жазылгандай коддору менен колдоно аласыз жана барсаңыз жакшы болот!

7 -кадам: MTC менюсу - Навигация

MTC менюсу - Навигация
MTC менюсу - Навигация
MTC менюсу - Навигация
MTC менюсу - Навигация
MTC менюсу - Навигация
MTC менюсу - Навигация

MTC коду атайын Splash экраны менен башталат, андан кийин мунаралардын абалын текшерет. Эгерде мунаралар жок болсо, ал мунаралар туташмайынча ошол жерде отурат!

Эгерде жок дегенде бир мунара туташтырылган болсо, анда башкалардын менюсу көрсөтүлөт жана мунаралар үзүлбөсө же "кимдир бирөө менен иштөө" менен алектенбесе, "Даяр" LEDы күйөт. Эгерде алар бош эмес болсо, "Турралар бош эмес" экраны көрсөтүлөт, ал эми "Бош эмес" LEDи күйөт.

МТК мунараларды башкара электе, бардык активдүү туташ мунаралар "Даяр режимде" болушу керек.

Меню тандоолорунда айлануу үчүн джойстикти (өйдө жана ылдый) колдонуңуз:

  • Aria
  • Чат
  • Кол менен

'X' баскычын колдонуу менен же джойстикти басуу менен каалаган опцияны тандаңыз.

Aria Mode - бул параметрди тандоо "Aria Mode" экранын көрсөтөт жана мунаралар Portal 2 оюндун аягында Aria көрүнүшүн аткарат. Бүткөндөн кийин, мунаралар жабылып, кимдир бирөөнүн ойготушун күтүшөт.

Чат режими - Бул параметрди тандоо "Чат режими" экранын көрсөтөт жана Чат ыраатын баштайт. Бүткөндөн кийин, мунаралар жабылып, кимдир бирөөнүн ойготушун күтүшөт.

Кол режими - Бул параметрди тандоо "Кол режими" экранын көрсөтөт, "Кол менен" LEDди жарыктандырат жана мунаралардын кол менен иштешине мүмкүндүк берет. Чайкоо жана бурулуштун джойстик көзөмөлү. "X" баскычын басуу ок атуунун ыраатын активдештирет. "T" баскычын басуу аларды "сүйлөшүүгө" мажбур кылат, бул жерде мунаралар китепканасынан туш келди сөздөрдү айтышат.

"<" Же артка баскычын басуу бул үч режимди жокко чыгарат, мунараларды жабат жана башкы менюга кайтат.

Эгерде сиз мунараларыңыздын байланыш статусун көргүңүз келсе (учурда 3 менен чектелген), негизги менюда турганда 'T' баскычын басыңыз. Сиз "мунаранын абалы" экранына алып барасыз, анда ар бир мунаранын туташуу абалын көрө аласыз.

"Мунаранын абалы" экранында болгондо, ар бир мунаранын абалын көрөсүз.

  • Даяр - көзөмөлгө даяр
  • Бош эмес - мунара кимдир бирөөгө "багуу" менен алек
  • Жеткиликтүү эмес - МТК бул мунарага туташа албайт

Негизги менюга кайтуу үчүн "<" баскычын басыңыз.

8 -кадам: Кодду ыңгайлаштыруу

Кодду ыңгайлаштыруу
Кодду ыңгайлаштыруу

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

Код жогоруда көрсөтүлгөн көзөмөлдү жана параметрлерди камсыздайт, бирок кодду ыңгайлаштыруу жөнүндө эмне айтууга болот?

Албетте! Бирок бул жерде адилеттүү сумма болуп жатат, ошондуктан бул жерде кээ бир көрсөтмөлөр же кеңештер бар.

Tip1 - "Чат" тизмегин өзгөртүү. Бул өзгөртүү мунара кодунда ишке ашат.

Колдон келген жерде мен үчүн кодду иштетүү жолун ойлоп таптым. Мен окуяга көбүрөөк көңүл буруш үчүн чаттын ырааттуулугун оңдой алам (бул сөзбү?), Бирок кийинчерээк ыңгайлаштырууну жеңилдетет.

Чаттын ырааттуулугун коддоо структурасын колдонуу менен алмаштыруу, эгерде сиз коддо колдонулган ыкманы аткарсаңыз. Портал 2 оюнунан берилген үн файлдарын колдонуп, (chatSayings ) таблицасын гана өзгөртүү керек.

Кадимки мунарага же бузук мунарага карата айтылган сөздү тандаңыз. Бул сөз "00XX -" менен аныкталган mp3 файлы, андан кийин сөздү сүрөттөгөн текст. Бул маанилүү бөлүгү болгон сан. # 1 мунарасы бул XX баалуулугун столдо колдонмок. # 2 -мунара XX маанисин "1" менен, ал эми # 3 мунарасы XX баасын "2" менен кошот. Мисалы, эгер сиз "0040 - кечиресиз" деген сөздү тандап жатсаңыз жана мунаранын айтылышын каалаган болсоңуз, анда "240" столго туура ырааттуулукта киргизилмек. Эгерде мунара # 1 муну айтса, сиз столго "40" коёсуз.

Кийинки сөз айкашы үчүн да ушундай кылыңыз ж.б. Бул мунаралардын ортосундагы бир нече сөздөр болушу мүмкүн, же бир аз. (Мен бул ыкманын чектөөлөрүн билбейм, эс тутумдан башка).

Башка таблицалардын маанилерин өзгөртүүнүн кажети жок, анткени алар жадыбалдагы сөздөргө дал келет. Башка линия 520 сызыгынын тегерегинде.

if (i> = 43) {// ырааттуулуктун аягы

Бул жердеги i мааниси chatSayings таблицасындагы сөздөрдүн санына коюлушу керек.

Толук ыңгайлаштырылган сөздөрдү жасоо үчүн (чыныгы көңүл ачуу башталат!), Сиз сандардагы файлдардагы сөздөрдү орнотуп, файлды ойнотуу үчүн канча убакыт керек экенин билишиңиз керек. Файлды SD картанын түп каталогундагы "mp3" папкасына төрт орундуу ыкма менен сактаңыз ("0001", "0002" ж. Б.). Андан кийин, файлды ойнотуу үчүн керектүү убакытты миллисекундтар менен жазыңыз. Бул баалуулуктарды тиешелүү столго киргизиңиз.

5400 миллисекундка созулган "0037 - [сиздин сөзүңүз]" деп сакталган сөз айкашы үчүн, тийиштүү жерге chatSayings таблицасына '37'ди коймоксуз (жана мунаранын айтканына жараша префиксти кошуңуз) it), жана 5400 ошол эле жердеги NormaTimings таблицасында (мисалы, ар бир столдун 5 -пункту).

Эми 'i' мааниси көбөйгөндө, код 0037 5400 миллисекунд үчүн ойнойт.

Мен ойноп жатканда ар бир сөзгө бир аз кошумча убакыт кошуп турган "timeadder" өзгөрмөсүн кошконума көңүл буруңуз. Бул сөздөрдүн ортосунда бир аз аралыкты түзөт, ошондуктан алар бири -бирине дал келбейт.

Бул методдун кооздугу - толтурулган столдордун ар бир мунарада так бирдей болушу! Бул столдорду ар бир мунарага ылайыкташтыруунун кажети жок. Сиз болгону бир үстөлдү иреттешиңиз керек жана код бир столдун негизинде ар бир мунаранын айткандарын аныктайт.

Бул сиз коддоонун ордуна сценарий жазууга басым жасай аласыз дегенди билдирет!

Эгерде кимдир бирөөнүн муну жасоонун жакшыраак жолу бар болсо, мен муну уккум келет !!

9 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Ошентип, бул мен ойлогондон алда канча көп убакытты талап кылды, бирок мен жыйынтыкка караганда кытыгыландым. Чаттын кээ бир тартиби мени дагы деле күлдүрөт!

Мен кодумдун чегинде кылган нерселеримдин башка ыкмаларын уккум келет. Көбүрөөк мүмкүнчүлүктөргө же параметрлерге жол берип, кайра жазылып, аз эстутумду колдоно турган бөлүмдөр бар экенине ишенем.

Мен дагы башка идеялардын МТКга киргизилгенин жана мунаралардын көзөмөлүн көргүм келет!

Мен башка дизайнерлерге жана кодерлерге / уурдоого / үйрөнүүгө платформа бердим деп үмүттөнөм. Мен муну адамдарга кодду үйрөнүүгө жардам берүү үчүн колдонуп жатканын көрдүм. Мисалы, "Кол режими" сыяктуу МТКдан жана/же мунарадан бир бөлүмдү алып салыңыз жана студенттерге кол менен башкарууну киргизүү үчүн өз жолун иштеп чыгууга мүмкүнчүлүк бериңиз!

Мен бул жамааттан жана жалпы жонунан көп нерселерди үйрөндүм. Мен дагы деле таң калам, көптөгөн адамдар нерселерди ойлоп таап, дүйнө менен бөлүшүүгө убактысын жумшашат. Мен үйрөнгөнүмдү алып, аны колдонуп, анан сени менен бөлүшүү керек деп ойлойм!

Ийгилик жана мунаралардын өз армиясын куруу менен көңүл ачыңыз!

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