[알아두면 쓸데없는 지식] 리모컨은 어떻게 에어컨에게 신호를 전달할까?

kshired·2022년 5월 25일
2
post-thumbnail

개관

오늘 날씨가 너무 덥고 습했는데요.. 그래서 에어컨을 키려고 리모컨을 찾았습니다.

리모컨을 찾아서 에어컨을 키고나니까, 갑자기 궁금증이 들어 리모컨의 원리를 찾아 봤는데요.

적외선을 사용한다는 것까지는 알았지만, 어떤 원리인지까지는 몰랐어서 이번 기회를 통해 알아봅시다.

적외선

빛은 여러 범위의 파장으로 나뉘는데요. 대표적으로 적외선, 자외선, 가시광선으로 나뉩니다.

가시광선은 보라색과 파란색 사이의 색으로 눈으로 볼 수 있는 빛의 파장 범위입니다.

자외선은 자외선이라는 말 그대로, 보라색 바깥 빛이라는 뜻으로 가시광선보다 파장이 짧은 색입니다.

적외선은 자외선과 마찬가지로, 빨간색 바깥 빛이라는 뜻으로 가시광선보다 파장이 긴 색입니다.

리모컨은 발광 다이오드를 통해서 적외선을 발생시키고, TV나 에어컨 같은 기기는 수광 다이오드에서 이 적외선을 받아서 신호를 수용하고 그에 맞는 행동을 하게 됩니다.

그럼 적외선을 어떻게 구분하는데요?

적외선은 특정한 값의 파장을 갖는 단일의 빛이 아닌 범위를 갖고 있기 때문에, 그 범위내의 고유한 파장(주파수)을 이용하는 것입니다.

예를 들어, 300GHz의 빛이 입력으로 들어오면 에어컨 온도를 올린다던지 320GHz의 빛이 입력으로 들어오면 에어컨 온도를 내린다던지.. 이런 방식인거죠.

코드로 이해해볼까요?

이 블로그에는 개발자가 많으니까 코드로 표현해볼까요?


def is_in_range(freq):
	return 300GHz <= freq <= 430THz
    
def operation(freq):
	if freq == 300GHz:
    	air_conditioner.turn_on()
    elif freq == 320GHz:
    	air_conditioner.turn_off()
    elif freq == 330GHz:
    	air_conditioner.up()
    elif freq == 340GHz:
    	air_conditioner.down()
        
 if __name__ == '__main__':
 	while True:
    	freq = detect()
        if freq is not None and is_in_range(freq):
        	operation(freq)

대충 이런느낌 아닐까요?

에어컨은 idle하게 놀고 있다가, 입력이 들어오면 그 입력이 적외선 영역이면.. ( 사실, 적외선 이상의 주파수가 들어와야 광전 효과에 의해 수광 다이오드가 작동하는 구조가 아닐까.. 생각합니다. )

그 입력의 주파수에 따라 작동을 하는 것입니다.
( 코드에서는 "특정 주파수면, 뭘 해라!" 라고 해놨지만, 어느정도 오차를 생각해서 "특정 범위내의 주파수면, 뭘 해라!"일거 같습니다. )

마무리

오늘은 날씨가 너무 더웠고, 슬슬 날씨가 더워지는데요.

글을 읽어주시는 모두 집에서 에어컨 틀고 시원한 하루 보내시길 바랍니다.

profile
글 쓰는 개발자

0개의 댓글