Arduino 온도센서(LM35) 사용
아두이노를 접하면 기본적인 센서 중 하나가 온도센서 LM35이다.
작동전압은 작동 전압은 2.7V ~ 5.5V 이다.
0~100도까지 측정가능하다고 한다.
아래 이미지의 순서대로 연결하면 센서가 작동한다.
Source
float temperature; int reading; int lm35Pin = A0;
void setup() { analogReference(DEFAULT); // param Serial.begin(9600); }
void loop() { reading = analogRead(lm35Pin); //temperature = reading/9.31; //1.1기준전압인 INTERNAL로 할 때 적용 식 temperature = (5.0 * analogRead(lm35Pin) * 100.0) / 1024;
Serial.println(temp); delay(1000); } |
LM35센서에 적용되어 전압을 온도로 변환시키는 공식이 설명되어있다.
http://playground.arduino.cc/Main/LM35HigherResolution
temp = (5.0 * analogRead(tempPin) * 100.0) / 1024; |
결과
analogReference(INTERNAL)
analogReference(DEFAULT)
====================================================
analogReference() : ADC의 기준전압을 설정하는 함수
param -DEFAULT: analogReference() 함수를 사용하지 않고 analogRead() 함수를 사용하면 기본으로 동작하는 모드이며, analogReference(DEFAULT) 함수를 사용하면 5V 전압을 사용하는 아두이노 보드들에서는 5 볼트, 3.3V 전압을 사용하는 아두이노 보드들은 3.3 볼트를 아날로그 기준 전압 값으로 사용한다.
-INTERNAL: 내장 기준 전압을 사용한다는 의미이며, ATmega168과 ATmega328 MCU를 사용한 아두이노 보드에서는 1.1 볼트, ATmega8 MCU를 사용한 보드에서는 2.56 볼트가 아날로그 기준 전압이 된다. 이 설정은 아두이노 메가에서는 사용할 수 없다.
-INTERNAL1V1 (아두이노 메가 보드 전용): 내장 1.1 볼트를 아날로그 입력 기준 전압으로 사용한다는 의미다. 아두이노 메가 보드에서만 사용 가능하다.
-INTERAL2V56 (아두이노 메가 보드 전용): 내장 2.56 볼트를 아날로그 입력 기준 전압으로 사용한다는 의미이며, 아두이노 메가 보드에서만 사용 가능하다.
-EXTERNAL: AREF 핀에 외부 전원(0에서 5V 사이의 전압만 사용하여야 함)을 연결하여 기준 전압으로 사용할 수 있다. |
경고
===
0V 보다 작거나 5V 보다 높은 외부 전압을 AREF 핀에 연결하지 안됨. AREF 핀에 외부 기준 전압을 연결하여 사용하고자 하면, analogRead() 함수를 사용하기 전에 꼭 EXTERNAL로 기준 전압을 설정해야 한다. 이렇게 하지 않으면, 내부에서 만들어낸 기준 전압과 외부에서 AREF 핀으로 공급되는 전압이 합선되어(short) 아두이노 보드의 마이크로컨트롤러를 손상시킬 수 있다.
다른 방법으로서, 외부와 내부 기준 전압을 번갈아 가며 사용할 수 있도록 외부 기준 전압을 5K 저항을 통하여 AREF 핀에 연결할 수 있다. 이렇게 저항을 통하여 외부 기준 전압을 공급하면 AREF 핀에 내부 저항 32K가 연결되어 있어 외부 기준 전압과 다른 전압이 AREF 핀에 공급되게 된다. 두 저항이 전압 분배기와 같이 동작하기 때문이며, 예를 들어 2.5V가 저항을 통하여 AREF 핀에 공급되면, AREF 핀의 전압은 2.5 * 32 / (32 + 5) = ~2.2V가 된다.
'Study Note > SBC' 카테고리의 다른 글
[아두이노] 초음파센서(HC-SR04) 사용하기 (0) | 2016.12.19 |
---|---|
[아두이노] LED 제어하기 (0) | 2016.12.19 |
[아두이노] Tool 설치 및 기본 정보 (0) | 2016.12.19 |
[라즈베리파이] LED 제어 (C언어) (1) | 2016.11.03 |
[라즈베리파이] 원격 연결하기 (1) | 2016.04.01 |