● 플로팅 상태(floating)
아두이노 전자회로에 입력신호를 보낼때 5V(HIGH) 또는 0V(LOW) 전압을 사용한다.
여기서 5V는 입력값 1을 상징하고, 0V는 입력값 0을 상징한다.
숫자 1, 0으로 생각하지 말아야 한다. 물리적으로 5V 전압과 0V 전압를 사용하여 두 가지 신호를 상징화한 것이다.
전자회로에서 입력값(5V 또는 0V)이 없는 상태이면
의도하지 않은 요소(소자의 특성, 주위 환경 때문에)의 영향으로 소량의 전류가 흘러 입력핀이 오작동 될 수 있다.(명령 즉 전기신호가 전달되지 않았는데 5V 또는 0V 로 인식)
● 풀업저항(pull up)과 풀다운저항(pull down)
플로팅 상태의 문제를 해결하기 위하여
아예 5V로 세팅해 놓는 풀업저항 또는 0V로 세팅해 놓는 풀다운저항을 사용한다.
전선연결방식과 저항을 이용하여 이것을 세팅하는데
전선연결방식은 이해가 되은데 왜 저항을 사용하는지는 이해가 잘 가지 않는다.
직접적으로 전압이 입력되면 전기회로 등 전기신호는 손상될 수 있다.
이것을 완화 시키기 위해 저항을 사용 한다고 심플하게 생각해 두자
풀업에서 저항은 5V를 완화 시키는 역할을 하고
풀다운에서 저항은 전기가 그라운드 쪽으로 흐르는 것을 저항을 통해 소량만 흐르게 하고 다량이 입력핀 쪽으로 가게 만든다.(전류는 저항이 낮은 쪽으로 흐른다. 저항 있는 쪽보다 저항 없는 쪽으로 간다)
이제 그림으로 살펴보자
풀다운저항에서 스위치 off 상태 - 아두이노 입력핀에 0V가 세팅됨 - LED에 불 꺼진 상태
풀다운저항에서 스위치 on 상태 - 아두이노 입력핀에 5V 입력되어 - LED에 불 들어옴
풀업저항에서 스위치 off 상태 - 아두이노 입력핀에 5V가 세팅되어 - LED에 불 켜진 상태.
풀업저항에서 스위치 on 상태 - 아두이노 입력핀에 0V 입력되어 - LED에 불 꺼짐.