예, 그것은 좋은 생각처럼 보이지만 어쨌든 나는 방금 내 마음에 온 대안을 제안 할 것입니다.
논리 게이트에 액세스 할 수 있으면 부울 논리를 통해 많은 n버튼을 ceil(log2(n + 1))핀에 매핑 할 수 있습니다 . 예를 들어 4 개의 버튼이 있지만 2 개의 핀만있는 경우 다음과 같이 구성을 만들 수 있습니다.
Buttons | Pins
---- | --
0123 | 01
---- | --
0001 | 00
0010 | 01
0100 | 10
1000 | 11
즉, button0눌려 pin0지고 pin1낮아야합니다. button1, pin0낮은 및 pin1높은; button2, pin0높음 pin1낮음; 와 button3, pin0및 pin1높은.
이것으로부터 다음과 같은 부울식이 생길 것입니다
pin0 = button2 OR button3
pin1 = button1 OR button3
따라서 2 개의 OR 게이트만으로 4 개의 버튼을 2 개의 핀으로 매핑 할 수 있습니다. 그러나 버튼을 눌렀는지 여부를 나타 내기 위해 추가 핀과 추가 로직이 필요합니다.
물론 여러 개의 버튼을 동시에 누르면 여전히 문제가 발생합니다.
또한 저항 접근 방식을 계속 사용하는 경우 5V부터 100Ω 이하의 저항을 통한 100Ω이 아닌 100Ω 이외의 저항에 더 큰 값을 사용하는 것을 고려하십시오. 불필요하게 높은 더 합리적인 값은 10k Ohm 또는 47k Ohm 일 것입니다.