본문내용
1. 아날로그 입출력
1.1. 온도센서(LM35)
1.1.1. 원리
LM35 온도센서의 원리는 다음과 같다. ""LM35 온도센서는 금속 측온체의 원리를 이용하여 온도를 측정한다. 주변 온도 변화에 따른 센서 내부 저항값의 변화를 이용하여 온도를 측정한다. 온도가 높을수록 저항값이 커지며, 낮을수록 저항값이 작아진다. 그 측정된 온도 값을 아날로그 데이터(전압)으로 출력해준다.""
1.1.2. 공급전압, 작동온도, 출력전압과 온도의 관계
온도센서(LM35)의 공급전압, 작동온도, 출력전압과 온도의 관계는 다음과 같다.
센서의 공급전압은 5V이다. 최대/최소 작동온도 범위는 -55℃ ~ +150℃이다. 2번 핀을 통해 출력되는 전압은 온도에 비례하여 선형적으로 증가한다. 즉, 섭씨 1℃ 당 10mV의 전압이 출력된다. 따라서 2번 핀의 출력전압에 5를 곱하고 100으로 나누면 섭씨 온도 값을 구할 수 있다.
예를 들어 2번 핀에서 측정된 전압이 500mV라면, 이를 계산하면 다음과 같다.
온도 = (500mV / 10mV) = 50℃
즉, 센서의 출력전압이 500mV이면 현재 온도가 섭씨 50도라는 것을 알 수 있다.
1.1.3. 온도 측정 회로
온도를 측정할 수 있는 회로는 다음과 같다. LM35 온도센서의 2번 핀을 아두이노의 아날로그 핀에 연결하고, 1번 핀을 5V 전원에, 3번 핀을 GND에 연결하면 된다. 이때 2번 핀에서 출력되는 전압 값에 5를 곱하고 100을 더하면 섭씨 온도를 알 수 있다. 이는 LM35 센서가 섭씨 1도당 10mV의 전압을 선형적으로 출력하기 때문이다.
1.2. 아날로그 신호의 디지털 변환
1.2.1. ADC(Analog to Digital Converter) 원리
Mega2560의 아날로그 핀에서는 연속한 아날로그 신호를 변환하여 0~1023 범위의 이산(Discrete) 값으로 사용한다. 이때, 아날로그 신호를 이산값으로 변환하는 원리는 다음과 같다.
아날로그 신호를 디지털 신호로 변환시키는 장비를 ADC(Analog to Digital Convertor)라고 한다. Mega2560의 아날로그 핀에서는 보드에서 받아들일 수 있는 최저전압(0V)과 최고전압(5V, analogReference() 함수로 변경 가능) 사이를 1024개의 구간으로 나누고, 현재 읽어 들인 아날로그 신호의 전압이 어느 구간에 속하는지를 알아내는 것이다.
이러한 ADC 기능을 analogRead()라는 함수를 제공하며, 0~1023의 정수값으로 반환한다. 이때 0~5V의 전압이 선형적으로 비례하는 관계를 갖는다. 예를 들어 0V의 아날로그 신호는 디지털 값 0으로, 5V의 아날로그 신호는 디지털 값 1023으로 변환된다.
이와 같이 연속적인 아날로그 신호를 1024개의 이산 디지털 값으로 변환하여 사용함으로써 마이크로컨트롤러가 아날로그 신호를 효과적으로 처리할 수 있게 된다.
1.3. PWM ...
...