Съдържание:
- Стъпка 1: Инструментите
- Стъпка 2: Части и основно оформление
- Стъпка 3: Създайте прототип (по избор)
- Стъпка 4: Съвети за окабеляване
- Стъпка 5: Изрязване на лицевата плоча с лазер
- Стъпка 6: Свързване на бутони и превключватели
- Стъпка 7: Свързване на джойстици и LCD
- Стъпка 8: Светодиодни горивни уреди
- Стъпка 9: Изграждане на корпуса
- Стъпка 10: Софтуер и тестване
- Стъпка 11: Към Луната
Видео: KerbalController: Персонализиран контролен панел за космическа програма Kerbal за ракетни игри: 11 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Защо да изградите KerbalController?
Е, защото натискането на бутони и хвърлянето на физически превключватели е много по -съществено от натискането на мишката. Особено когато това е голям червен предпазен превключвател, при който първо трябва да отворите капака, да натиснете превключвателя, за да активирате ракетата си, да стартирате обратното броене и 3.. 2.. 1.. имаме излитане!
Какво е KerbalController?
KerbalController, наричан още Контролен панел, Simpit (симулирана кабина), DSKY (клавиатура на дисплея) или персонализиран джойстик, е персонализирано входно устройство за управление на популярното ракетостроене и полет и надявам се да не експлодира игра Kerbal Space Program, комбинирана с опционален изход от играта, като например светлини за състоянието, телеметрични дисплеи и/или манометри.
Тази специфична конструкция включва входове като управление на въртене и превод чрез джойстици, плъзгач на газта, множество бутони със светлини за състоянието, LED индикатори за гориво и телеметричен LCD дисплей с множество режими.
Това ръководство ще включва всичко необходимо, за да създадете идентично копие или да направите корекции и подобрения по пътя, както сметнете за добре. Включени са:
- списък с части
- чертежи за цифров дизайн, готови за лазерно рязане
- инструкции за окабеляване
- Код на Arduino
- Код за придружаващия KSP плъгин
- Много снимки
Готов за излитане? Да тръгваме!
Стъпка 1: Инструментите
Най -важният инструмент, който трябва да имате за тази конструкция, е поялник. Това включва малко спойка, метална гъба за почистване за почистване на върха на поялника и „трета ръка“.
Други инструменти са машина за сваляне на тел, резачка за тел, пинсети и някои отвертки с малък размер.
Стъпка 2: Части и основно оформление
Да направите възможно най -добрия контролер за вас означава да изберете точно кои бутони и превключватели искате да приложите. Защото всеки играе по различен начин. Някои хора летят със самолети и изграждат SSTO (едноетапни до орбита). Други предпочитат роверите на космически станции. А някои просто искат нещата да избухнат грандиозно!
Помага да нарисувате всички части в приблизителния им размер и да ги плъзнете в програма за векторно рисуване (като Affinity Designer или Inkscape) или програма за 3D рисуване (като SketchUp).
Ако искате по -лесно изграждане, можете просто да копирате моя контролер и да получите частите, изброени в прикачения списък с части.
Стъпка 3: Създайте прототип (по избор)
Ако копирате моя контролер, можете да пропуснете тази стъпка.
Ако отивате за персонализирано оформление, препоръчвам първо да използвате кутия за обувки, за да създадете работещ прототип с основните контроли. Това наистина помага за фина настройка на позицията на основните контроли. Също така е хубаво да получите увереността, че можете да я накарате да работи, преди да продължите да инвестирате време и пари в окончателното изграждане. Всъщност играх играта доста дълго с контролера на кутията за обувки. Не е ли начинът Kerbal да използва спасени части за хакване на нещо заедно?
Стъпка 4: Съвети за окабеляване
Когато създавате прототип, не запоявайте всичките си бутони, освен ако не искате да ги споите, когато стигнете до последния корпус. Запоях някои проводници към бутоните и използвах без запояване макет, за да направя временните връзки към Arduino.
Когато свързвате цялата електроника към крайната лицева плоча, можете да намалите бъркотията, като създадете контури за 5V и маса. Не свързвате всички заземителни щифтове директно към Arduino, а по -скоро свързвате заземяването на един бутон към заземяването на следващия бутон и завъртате наоколо. Накрая се свързвате с Arduino.
След създаване на контури за захранване и заземяване, всички връзки към щифтовете на Arduino остават. Препоръчвам да вземете няколко ленти от щифтове и да запоите проводниците към тях. Можете да ги използвате като голям конектор, така че все още можете да изключите вашия Arduino за тестване.
Дължината на проводниците е балансиращ акт между достатъчно кратък, за да предпази корпуса от излишни заплитания на тел (което може да ви попречи да затворите кутията), и достатъчно дълъг, за да можете да преместите части от пътя към спойка останалите части, затегнете винтовете и прободете с вашия мултицет, докато отстранявате грешки.
Стъпка 5: Изрязване на лицевата плоча с лазер
Постигането на чист, професионален вид е много трудно при рязане и боядисване на ръка. За щастие лазерното рязане вече не е много скъпо. Тя позволява изключителна прецизност, стига вашият дизайн да е точен.
Приложен е моят дизайн на лицевата плоча, във формати, подходящи за Affinity Designer и други програми за векторно рисуване като безплатния InkScape.
Имах лазерно изрязване на лицевата плоча в Холандия в Lichtzwaard. Оттогава те са затворени и дейностите са поети от Laserbeest, където направих лазерно изрязване на кутията. Всеки магазин може да има различни изисквания за дизайна, така че проверете в магазина си, преди да изпратите. Те също така почти винаги предлагат помощ при проектирането на почасова ставка.
Важни неща, които трябва да имате предвид:
- Всичко трябва да се основава на вектор. Ето защо логото в моя дизайн на лицевата плоча не се гравира. Обърнете внимание, че това не е фиксирано в приложените дизайни.
- Дори текстът се основава на вектор. Затова превърнете тези букви в криви!
- Измерете. Измерете. Измерете. Не успях да взема предвид размера, необходим за монтиране на джойстиците, и трябваше да го хакна. Оказа се, за щастие. Обърнете внимание, че това е фиксирано в приложените дизайни.
След като проверите всичко старателно, изпратете го в магазина за лазерно рязане. Очаквайте да платите 40-50 евро в Холандия и да получите този красив резултат по пощата на следващия ден!
Стъпка 6: Свързване на бутони и превключватели
Повечето превключватели и бутони имат конекторите с етикет C, NO, NC, +, -. Ето как да ги свържете към Arduino.
Прост превключвател или бутон:
- Земя C (често срещана)
- Arduino цифров извод NO (нормално отворен)
Ще конфигурираме цифровия щифт като INPUT_PULLUP, което означава, че Arduino ще поддържа щифта на 5V и ще открива кога щифтът се заземява и ще го третира като вход. Конекторът NO на превключвателя или бутона е нормално отворен, така че веригата не е свързана. Когато натиснете бутона или превключите превключвателя, веригата се затваря и щифтът се заземява.
Бутон с LED:
Частта с бутоните е същата като по -горе. За светодиода прикачвате допълнителни проводници:
- Земя - (отрицателна)
- Arduino цифров пин + (положителен)
Тази част е доста ясна. Ще използваме щифта Arduino в нормален режим OUTPUT.
Предпазни превключватели с LED:
Те са малко по -различни и не позволяват управление на светодиода независимо от позицията на превключвателя. Светодиодът винаги ще светне само когато превключвателят е включен. Те имат +, - и сигнален конектор.
- Земя - (отрицателна)
- 5V + (положително)
- Arduino цифров пин S (сигнал)
Ще използваме щифта Arduino в режим INPUT. Когато превключвателят е включен, светодиодът светва и сигналният щифт се издига високо.
Стъпка 7: Свързване на джойстици и LCD
LCD
LCD дисплеят е много прост. Нуждае се само от захранване, наземно и серийно.
- 5V VDD
- Земя GND
- Arduino Tx PIN RX
Можете да използвате JST конектор или да запоявате проводниците директно към платката.
Джойстици
В началото джойстиците може да изглеждат обезсърчаващи, но са доста лесни за свързване. Има три оси, които са свързани по същия начин. Двама от тях използват съединителите в долната част на джойстика. Третият използва някои проводници.
- Земя
- Чистачка за аналогов вход за чистачки Arduino
- 5V
Съединителите могат да бъдат прикрепени в този ред. Не се притеснявайте да го върнете назад, чистачката винаги е средната. Ако захранването и земята се разменят, по -късно можем да обърнем оста в кода на Arduino.
Проводниците може да имат различна схема на оцветяване на джойстика, но като цяло: двата проводника с еднакви цветове са за бутона отгоре. Червеното или оранжевото е 5V, черното или кафявото е заземено. Останалият проводник е чистачката.
Стъпка 8: Светодиодни горивни уреди
Добре. Това е най -трудната част от цялата конструкция. Не се колебайте да пропуснете това при първото си изграждане или да го подобрите и да ме уведомите!
Взех тези страхотни LED ленти, които искам да използвам като показатели за гориво. Горният светодиод е син, после малко зелен, после оранжев и накрая червен. Ако можем да запалим един светодиод наведнъж, можем да го оставим да представлява нивото на гориво на нашия космически кораб.
Първоначално поръчах при тях IC драйвери. Те работят чудесно! Можете да изберете режим на точка или режим на лента и той ще показва аналогово входно напрежение като единичен светодиод (точка) или диапазон от светодиоди (лента). Но Arduino не извежда аналогово напрежение! А функцията PWM, която ви позволява да затъмнявате светодиод, като емулиране на аналогово напрежение, не работи с тези интегрални схеми на драйвера.
Към план 2: смени регистрите. Можете да работите с тях във всеки стартов комплект на Arduino. И можете да научите повече за тях тук:
Планът е по някакъв начин да се преобразуват нивата на горивото в правилния низ от битове, които ще представляват нивата на горивото на LED лентите. При 5 габарита за гориво всички нива на заредено гориво трябва да са 1000000000100000000000100000000010000000001000000000. При празен монопропелант той ще стане: 100000000010000000001000000000100000000000000001.
Звучи достатъчно просто. Има някои усложнения. Регистрите за смяна имат 8 пина, докато LED лентите имат 10 светодиода. Използвам 7 регистъра за смяна, за да получа 56 изхода. Когато ги свързвах, пропуснах някъде IC извод (ще го поставим в кода). И свързвам една LED лента, започвайки от другия край (ще поправим това в код). О, и математиката на Arduino, от която се нуждаем, понякога използва аритметика с плаваща запетая, която причинява грешки при закръгляване (ще поправим това в кода). Обърнете внимание, че споделям кода в по -късна стъпка.
Окончателното ми изграждане не съвпада с приложената електрическа схема, така че ако възстановите този контролер, са необходими някои актуализации на кода. Коментирайте по -долу, ако имате нужда от помощ.
Всеки светодиод изисква собствен резистор. Опитайте някои различни стойности, за да съответствате на яркостта. Зеленото изглежда много по -ярко от червеното със същите резистори, така че помага да се балансира това.
Краен резултат: вместо 50 цифрови пина, необходими за захранване на 5 -те светодиодни ленти, това се намалява до 3: часовник, сигнал за заключване и сигнал за данни.
Стъпка 9: Изграждане на корпуса
Време е да си отмъстя с тези лога!
Преобразувах логото в подходящи векторни рисунки, така че да се гравират отлично. Този път имам различен проблем. Отворите за винтове не са на правилните места за правилното сглобяване на кутията. Използвах 6 мм MDF за кутията. За съжаление, завинтването на пирони в краищата ги кара да се разделят. Хакнах го заедно с допълнителни дървени отпадъци и лепило. Много лепило.
За тези от вас, които са по -добри с дърво, лепило и/или пирони, прикачих версия на дизайна без изцяло отворите за винтове.
Въпреки трудностите, крайният резултат е доста хлъзгав.
Стъпка 10: Софтуер и тестване
Изтеглете следния софтуер, за да накарате контролера да работи с Kerbal Space Program:
Приставка за KSP:
ZIP файлът е компилираната приставка. Останалото е изходен код, който можете да използвате, за да промените приставката и да компилирате своя собствена версия. Разопаковайте приставката в директорията GamaData.
Код на Arduino:
Използвайте Arduino IDE, за да качите кода в Arduino Mega във вашия контролер.
Погледнете в долния десен ъгъл на Arduino IDE, за да разберете на кой сериен порт е контролерът (напр. /Dev/cu.usbmodem1421). Отворете файла config.xml от директорията с приставки и се уверете, че вашият порт е попълнен. Сега можете да започнете!
Можете да използвате режима за отстраняване на грешки, като поставите малкия превключвател за включване/изключване горе вляво в положение ON. LCD дисплеят трябва да показва низ от букви. Всяка буква представлява бутон или превключвател и превключва между малки и големи букви, когато натиснете бутона или превключите превключвателя. Задаването на превключвателите xyz в Xyz (включване/изключване/изключване) също ще показва стойностите на плъзгача на газта. xYz показва стойностите на джойстика за джойстика за превод (вляво). xyZ за джойстика за въртене (вдясно).
LCD режими
Следните режими на показване могат да бъдат избрани за показване на LCD дисплея с помощта на превключвателите x, y и z
Режим TakeOff: Suface Velocity / Acceleration (G)
Режим на орбита: Апоапсис + Време до Апоапсис / Периапсис + Време до Периапсис
Режим на маневриране: Време до следващия възел за маневриране / Оставащ Delta-V за следващия възел
Rendezvous Mode: Разстояние до целта / Скорост спрямо целта
Режим на повторно влизане: Процент прегряване (макс) / забавяне (G)
Режим на полет: Надморска височина / номер на Мах
Режим на кацане: Радарна височина / вертикална скорост
Допълнителен режим: не е приложен (все още)
За да видите различните режими в действие, погледнете видеоклипа в края на инструкциите.
Стъпка 11: Към Луната
Запалете KSP, заредете любимия си кораб или изградете нов и тръгвайте!
Съвети:
- Използвайте персонализирана група действия 5 за вашите стълби
- Използвайте персонализирана група действия 6 за вашите слънчеви панели
- Използвайте персонализирана група за действие 7 за парашути или парашути
- Задайте системата за бягство при стартиране и съответните разединители към групата за прекъсване
- Не забравяйте, че трябва да активирате бутона за поставяне
Вицешампион в Arduino Contest 2017
Вицешампион в първия конкурс за автори 2018
Препоръчано:
Контролен панел на Nasa за деца: 10 стъпки (със снимки)
Контролен панел на НАСА за деца: Създадох това за моята сестра по закон, която управлява дневни грижи. Тя видя моя лагер, който построих преди почти три години за панаир на фирмата и много ми хареса, затова му направих този за коледен подарък. Връзка към другия ми проект тук: https: //www
Стенно монтиране за IPad като контролен панел за домашна автоматизация, използване на серво контролиран магнит за активиране на екрана: 4 стъпки (със снимки)
Стенно монтиране за IPad като контролен панел за домашна автоматизация, използване на магнит със серво управление за активиране на екрана: Напоследък прекарвам доста време в автоматизиране на нещата в и около дома ми. Използвам Domoticz като приложение за домашна автоматизация, вижте www.domoticz.com за подробности. В моето търсене на приложение за табло, което показва цялата информация на Domoticz
Контролен панел за космически кораб - Играчка с лазерно изрязване Arduino: 11 стъпки (със снимки)
Контролен панел на космически кораб - Играчка с лазерно изрязване Arduino: Преди няколко месеца реших да стана член на местното пространство за създаване, тъй като от векове искам да науча инструментите на търговията на производители. Имах малко опит с Arduino и бях взел курс по Fusion тук на Instructables. Въпреки това аз ч
Свързан към мрежата SMART LED анимационен часовник с уеб базиран контролен панел, синхронизиран сървър на времето: 11 стъпки (със снимки)
Свързан с мрежата SMART LED анимационен часовник С уеб-базиран контролен панел, синхронизиран сървър на времето: Историята на този часовник датира от далечен път-повече от 30 години. Баща ми беше пионер в тази идея, когато бях само на 10 години, много преди революцията на светодиодите - тогава, когато светодиодите бяха 1/1000 от яркостта на техния ослепяващ блясък. Истина
Сензорен екран за семейна синхронизация и домашен контролен панел със сензорен екран: 7 стъпки (със снимки)
Сензорен сензорен панел за семейно синхронизиране и домашен контролен панел: Имаме календар, който се актуализира ежемесечно със събития, но се извършва ръчно. Ние също сме склонни да забравяме неща, които сме свършили или други дребни задължения. На тази възраст си мислех, че е много по -лесно да има синхронизиран календар и система от тип бележник, която да