DCS-BIOS에서 지원되지 않는 스위치의 연결
패널을 만들다보면, 부득이 하게 실물과 다른 스위치를 써야 하는 경우가 있을 수 있습니다.
단순히 외형만 다른경우라면 그나마 편한 편인데 연결방식이 다르거나 동작방식이 다르다면, 이부분을 일일이 수정하거나 변형시켜야 하는 것이죠.
그래서 이 페이지에서는 그 예로 TACAN의 채널스위치를 만드는 것을 소개해 드릴려고 합니다.
IFF 패널의 타칸 채널 스위치가 참 개성적으로 보입니다.
이 스위치를 간단하게 확인해보면. 참 특이한 방식으로 동작하는걸 알 수 있습니다.
썸휠셀렉터(thumbwheel selector)의 종류인데, 이놈은 채널조정막대가 하나밖에 없습니다.
찾아보니 [Digitran 24000 SERIES Digilever Toggle Switch]라는 이름이 나옵니다. (스위치 한쪽에 8만원..)
사진의 작은 막대를 위로 올리거나 내리는 방식으로 동작한다는 건데,
외형도 중요하긴 하지만 보다 중요한건 어떻게 연결되냐는 것이기에 핀배치를 확인해 봅니다.
핀이 조금 이상하게 보이는게 아니라, 저제품의 연결 방식이 이상한겁니다.
(일반적으로는 위치에 따라 10개의 핀을 1:1로 연결해서 사용하는데…)
4개의 핀으로 4Bit 신호를 만들어준다고 하는데, 이건 연결하기 매우 귀찮은 상황이라는 뜻입니다.
DCS-BIOS에서는 Tacan 채널 스위치 연결을 어떻게 처리하느냐하면,
Up/Center/Down 으로 받아들입니다.(그냥은 않된다는 겁니다.)
토글스위치나,시소스위치,록커스위치의 입력방식인건데 썸휠스위치와는 많이 달라지게 됩니다.
일반적인 썸휠스위치는 로타리스위치와 같이 각각의 값(위치)에 대응하는 핀을 연결해주는 방식이다보니 핀이 많이 필요합니다.
그런데 DCS-BIOS에서는 3PIN 까지만 연결된다니 ….
그래서 저는 약간 다른 방식의 연결을 선택했습니다.
DCS-BIOS에 직접 명령을 주는 방식으로 말입니다.
제가 사용한 스위치입니다.
이 페이지는 이 썸휠 스위치의 연결방법을 알려드립니다.
(서문이 길었습니다…)
스위치의 수정
썸휠 스위치는 앞에서 언급드릴대로 휠의 위치에 1:1로 핀이 배치되기때문에 약간의 수정이 필요합니다.
기본적인 10자리 썸휠의 핀배치입니다.
핀은 0부터 9까지 10개와 공통핀 1개로 구성됩니다.
이 스위치를 가변저항처럼 동작하도록 수정을 해 주어야 합니다.
그렇게 만들어 준 뒤 0번과 9번에 VCC와 GND를 연결하고 C핀에 아날로그입력을 연결해 주는 것이죠.
그렇게 하면 ..
사진은 실제사용한 건 아니고 페이지 등록 용으로 만든거라 실제로 사용한 건 아닙니다.
(저렇게 해도 되는데 , 완성된 패널에서는 칩저항을 사용했습니다.)
저게 어떻게 동작하냐하면, 예를 들어 3번에 다이얼이 있으면 아날로그 입력단에 0부터 3까지의 저항값이 합산해져서 입력되고, 5번이면 0부터 5까지, 7이면 7까지의 합산저항이 입력됩니다. 마치 가변저항처럼 말이죠..
스위치의 준비는 이렇게 하면 됩니다.
아두이노 코드
이제 코드를 살펴볼 차례입니다.
DCS-BIOS에서는 스위치의 입력없이 명령을 전달하게 해주는 코드가 있습니다.
sendDcsBiosMessage 라는 코드입니다.
사용법은 간단합니다
DCS_BIOS 상의 TACAN 채널 MODE 1의 스위치명령은 다음과 같습니다.
이걸 수정해서 sendDcsBiosMessage()형식으로 바꿔주면
사용된 코드도 알려드리겠습니다.
위의 코드는 어디까지나 예시일 뿐입니다. 실제 사용시 수정해야 하는 부분이 있을 수 있습니다.
(동작은 합니다.)
다만 딜레이 명령이나 map작성시 수정해야 하니 이부분만 참고하시면 되겠습니다..