Thinking Different




조도 (빛) 센서를 활용하여 자동으로 LED가 켜지고 꺼지는 것을 만들어 보도록 하겠습니다.

 

예를 들면 센서등이라던가 가로등이 대표적인 예 입니다.

 

 

조도 센서는 밝기에 값에 따라 저항값이 변하며 그 저항값은 아날로그 신호로 출력해줍니다.

 

 

※ 디지털 신호와 아날로그 신호

 

디지털 신호는 0 또는 1만 갖는 신호를 말합니다. 쉽게 예를 들면 전기가 통하면 1, 안통하면 0 입니다.

모든 전자기기 컴퓨터 등 전기적 신호가 흐르는 부분은 디지털 신호로 작동된다고 보시면 됩니다.

 

그러나 아날로그 신호는 시간에  따라 연속적으로 자연스럽게 변화하는 특성을 갖습니다. 즉 데이터나 물리량이 연속적으로 변화하는 경우 아날로그적 특성을 갖는다고 하며 이러한 신호를 아날로그 신호라고 합니다.

 

 

 

자 그럼 조도 센서를 갖고 LED 등을 자동으로 켜고 끌수 있게 하는 회로를 구성해 봅니다.

 

구성 : 아두이노 보드, LED x 1 , 220Ω x 1, 조도센서 x 1, 10K x 1, 점프선 등

 

 

조도 센서

 

 

다음은 코드를 작성합니다.

 

조도 센서 코드

 

※ 사용된 코드 알아보기

 

Serial.begin(속도) : 속도 9600 등을 입력합니다. (아두이노 전송속도: 9600)
시리얼 통신은 직렬 통신이라고 하며, 하나의 선으로 비트를 하나씩 차례로 보내는 통신방법입니다.
이 시리얼 통신을 통해 pc와 아두이노간의 데이터 통신을 위해 사용하였으며, IDE 개발툴의 시리얼모니터로 통신 상태를 확인 가능합니다. 가장 중요한 것은 통신 속도가 같게 입력하여야 데이터 전송이 가능합니다.

Serial.println(value) : 시리얼 모니터에 value를 출력합니다.

 

analogRead(핀) : 아날로그 신호를 읽어올때 사용합니다. 아날로그 값의 범위는 0 ~ 1023 입니다.

map(기준값, 기준값 범위 최소값, 기준값 범위 최대값, 변경값 범위 최소값, 변경값 범위 최대값) : 이 함수는 기준값에 대한 값의 범위를 다른 범위로 변경할 때 사용합니다. 위 코드에서는 아날로그 범위인 0~1023을 0~100범위로 변경하도록 하였습니다.

 

 

 

다음은 결과 입니다. 환경이 어두워지면 불이 켜지고 밝아지면 꺼지게 됩니다.