우선 100Ω 저항은 잊어 버리십시오. 버튼 작동에 필요하지 않으며 프로그래밍 오류가 발생할 경우를 대비하여 보호 기능이 있습니다.
- 버튼을 누르면 P2가 + 5V에 직접 연결되므로 "1"인 하이 레벨로 표시됩니다.
- 버튼에서 손을 떼면 + 5V는 더 이상 계산되지 않으며 포트와 접지 사이에는 10kΩ 만 있습니다.
×
이제 100Ω 저항입니다. 실수로 핀 출력을 만들어 낮게 설정 한 경우 버튼을 누르면 단락이 발생합니다. 마이크로 컨트롤러는 핀에 0V를 설정하고 같은 핀에 스위치 + 5V를 설정합니다. 마이크로 컨트롤러는 마음에 들지 않으며 IC가 손상 될 수 있습니다. 이러한 경우 100Ω 저항은 전류를 50mA로 제한해야합니다. (아직 여전히 너무 많으면 1kΩ 저항이 더 좋습니다.)
낮은 누설을 제외하고 입력 핀으로 전류가 흐르지 않기 때문에 저항을 가로 지르는 전압 강하가 거의 없습니다.
10kΩ은 풀업 또는 풀다운의 일반적인 값입니다. 값이 낮을수록 전압 강하가 낮아 지지만 10mV 또는 1mV는 큰 차이가 없습니다. 그러나 다른 것이 있습니다 : 버튼을 누르면 저항에 5V가 있으므로 5V / 10kΩ = 500µA의 전류가 흐릅니다. 그것은 문제를 일으키지 않을 정도로 낮아서 어쨌든 버튼을 길게 누르지 않을 것입니다. 그러나 버튼을 스위치로 교체하면 오랫동안 닫힐 수 있습니다. 그런 다음 1kΩ 풀다운을 선택했다면 스위치가 닫혀있는 한 저항을 통해 5mA가됩니다. 이는 약간의 낭비입니다. 10kΩ이 좋은 값입니다.
이 저항을 뒤집어 풀업 저항을 얻고 버튼을 누를 때 접지로 전환 할 수 있습니다.
그러면 논리가 반전됩니다. 버튼을 누르면 "1"대신 "0"이 표시되지만 작동은 동일합니다. 버튼을 누르면 입력이 0V가됩니다. 버튼을 놓으면 저항이 연결됩니다. +5 V 레벨로의 입력 (무시할만한 전압 강하).
이것이 일반적으로 수행되는 방식이며 마이크로 컨트롤러 제조업체는이를 고려합니다. 대부분의 마이크로 컨트롤러에는 내부 풀업 저항이있어 소프트웨어에서 활성화 또는 비활성화 할 수 있습니다. 내부 풀업을 사용하는 경우 버튼을 접지에 연결하기 만하면됩니다. (일부 마이크로 컨트롤러에는 구성 가능한 풀다운도 있지만 일반적이지 않습니다.)