해가지면 켜지는 가로등 만들기

빛 센서로 빛을 감지해 볼까요?

2016.01.22
동영상 설명

■ 무엇을 만들까요?


여러분들은 가로등이 어떻게 저절로 켜지고 꺼지는 지 아세요? 여러분들께서 가지고 계신 스마트 폰에도 빛 센서가 있어서 주변 밝기에 따라 스마트 폰 화면의 밝기가 조절됩니다.

이번 프로젝트에서 우리는 어두워지면 자동으로 켜지는 가로등을 구현해보겠습니다. 



 

[그림 1. LED 방향 표시기]






■ 준비물



 

 아두이노(UNO), 1개

 

 USB 케이블, 1개

 

 브레드 보드, 1개

 

 전선, 10개 정도

  

 LED (5mm), 6개

  

 저항 220 옴, 6개

저항 10 K 옴, 1개

  


빛센서 (CDS 포토리지스터), 1개





■ 만들어 봅시다!


[1] 빛센서란?

 [그림 1]에 가로등이 있습니다. 여러분들은 가로등이 어떻게 저절로 켜지고 꺼지는 지 아세요? 늘 우리 주변에 있던 가로등의 원리를 갑자기 물어보니까 궁금증이 생기실 것입니다.

전자 부품 중에 빛을 감지 할 수 있는 포토리지스터(Photoresistor)라는 것이 있습니다. 다른 이름으로cds 셀, 조도 센서라고도 불립니다. 이 포토리지스터는 빛을 감지하는 센서 중의 하나 입니다.


 

 [그림 1. 길거리 가로등]



[그림 2]는 포토리지스터 입니다. 우리가 이번 시간에 아두이노와 함께 사용할 빛 센서 인데요.

이런 빛 센서는 또 어디에 사용되고 있을까요?


[그림 2. 빛 센서(포토 리지스터, 위키피디아)]



카메라에 보면 빛 센서가 있습니다. [그림 3]에 보면 카메라 렌즈의 아래 부분에 조그마한 빛 센서 하나가 있습니다. 카메라의 노출을 제어하는 데에 빛 센서가 사용됩니다.


[그림 3. 카메라의 빛 센서 (링크)]


그리고 [그림 4]처럼 TV속에 빛 센서가 있어서 주변의 밝기에 따라 TV 화면의 밝기를 조절하는 데에 사용됩니다.  




 

[그림 4. TV 속의 빛 센서 (링크) ]


여러분들이 가지고 계신 스마트 폰에도 빛 센서가 있어서 주변 밝기에 따라 스마트 폰 화면의 밝기가 조절됩니다.

빛 센서를 손으로 가리거나 빛을 비추어 주면 [그림 5]의 그래프처럼 빛 센서의 저항값이 변화됩니다.



 

 [그림 5. 빛 센서의 특성 그래프]



그래서 빛 센서에 전류를 흘려주면, 빛 센서를 손으로 가려서 저항값이 커지게 되어 전류가 적게 흐르게 되고, 빛 센서에 빛을 더 많이 비추어 주면 저항값이 작아져서 전류가 더 많이 흐르게 됩니다. 이렇게 변하는 전류는 아두이노로 들어가게 되고 아두이노에서는 그 변하는 전류양을 적절한 숫자값으로 변환시켜 줍니다. 그 변환된 숫자값을 엔트리에서는 변수처럼 활용할 수 있습니다.

이런 빛 센서의 상태 값을 이용해서 이번 시간에는 빛의 양을 LED 6개로 표현해 보겠습니다. 그리고 그 빛의 양에 따라 엔트리에서는 배경이 낮과 밤으로 바뀌게 해 보겠습니다. 




[2] 하드웨어 연결하기


아두이노와 연결할 부품들의 그림은 아래 그림 3과 같습니다. 



 

  [그림 6. 아두이노와 부품 연결도]



실제 연결 사진은 [그림 7]와 같습니다.


 

[그림 7. 실제 연결 사진]




[3] 엔트리 코딩하기


STEP 1 
 

[그림 8]에서 강아지는 들판에 산책을 나와 있습니다. 점점 어두워 지면 배경을 어두운 배경으로 바꾸려고 합니다. 어두워 진다는 현상은 빛 센서를 손으로 가리면 됩니다. 그리고 휴대폰 불빛을 빛 센서에 가까이 대면 해가 뜬 오전이라고 생각해 봅시다. [그림 8] 처럼 강아지 오브젝트와 들판 오브젝트를 가져옵니다. 들판 오브젝트에서는 [그림 8]의 빨간 네모처럼  “노을 무덤” 과 “으슥한 동네” 를 추가해 줍니다.


 

[그림 8. 필요한 오브젝트와 배경 그림]


STEP 2 
 



 

[그림 9. 강아지 오브젝트 코드]


STEP 3 
 

배경 오브젝트에서는 빛 센서값에 따라서 배경을 다르게 하면 됩니다. 그리고 빛 센서값에 따라서 빛이 많으면 LED를 많이 켜고, 빛이 적으면 LED를 적게 켜는 동작을 만듭니다.



 

[그림 10. 배경 오브젝트의 엔트리 코드]



STEP 4 
 

LED를 제어하는 동작은 “LED번호”라는 이름의 함수로 만들었습니다. 함수의 엔트리 코드는 [그림 11]과 같습니다.




 

[그림 11. LED번호 함수의 엔트리 코드]


손전등이나 휴대폰 불빛을 빛 센서에 가까이 가져 갑니다. 그 때, LED가 켜지는 개수가 늘어나고, 엔트리의 배경도 변하는 지 확인합니다. 반대로 빛 센서를 손으로 가리면 LED가 모두 꺼지고 엔트리의 배경도 어두운 배경으로 바뀌는 지 확인합니다.


■ 관련자료