-
아두이노 | 온도센서 LM35Technology/Arduino 2024. 7. 12. 18:00
1. 온도센서 LM35
온도센서 LM35는 TMP36과 마찬가지로, 주변 온도를 감지해 전기 신호로 변환하는 전자 소자이다. -55°C부터 150°C도까지 측정할 수 있어 TMP36보다 넓은 범위의 온도를 감지한다. 총 3개의 단자(접원 단자, 접지 단자, 출력 신호 단자)를 가지고 있으며, 주변 온도에 따라 해당 소자의 출력 신호 단자로부터 아날로그 전압 신호를 받을 수 있다. 온도센서 LM35는 아래 링크로 접속하면 구매할 수 있다.
아두이노 하드웨어는 10비트 ADC를 지원하기 때문에, 아두이노 하드웨어로 전압 0V와 전압 5V 사이의 아날로그 신호를 받는다면 0과 1023 사이의 정수로 인식한다. 정수에 해당하는 전압값을 알고 싶다면 아래와 같은 식을 이용해 계산할 수 있다.
LM35는 온도 0°C일 때 0V의 출력 신호를 내보내고, 1°C당 10mV의 출력 전압을 갖는다. LM35의 출력 전압에 따른 온도는 아래와 같은 식을 이용해 계산할 수 있다.
2. 예제
2.1. 회로 구성
2.2. 프로그램 작성
void setup() { pinMode(A0, INPUT); // 아날로그 입력 A0번 핀을 입력(INPUT) 모드로 설정 Serial.begin(9600); // 시리얼 통신 시작 (통신 속도: 9600 bps) } void loop() { // 아날로그 입력 A0번 핀으로부터 아날로그 신호를 입력 받은 후 변수에 저장 int value = analogRead(A0); // 아날로그 값에 해당하는 전압을 연산한 후 변수에 저장 float voltage = 5.0 / 1023 * value; // 전압에 해당하는 온도를 연산한 후 변수에 저장 float temperature = 1 / 0.01 * voltage; Serial.print("Temperature in Celcius: "); // 시리얼 모니터에 변수에 저장된 값을 출력 Serial.println(temperature); // 시리얼 모니터에 변수에 저장된 값을 출력한 뒤 줄 바꿈 delay(100); // 100 ms 대기 }
[함께 읽으면 좋은 페이지]
참고문헌
- Texas Instruments. (2017). LM35 Precision Centigrade Temperature Sensors. https://www.ti.com/lit/ds/symlink/lm35.pdf. 2023.11.04.
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 라이브러리 | 유니폴라 스텝모터 드라이버 ULN2003 (3) 2024.11.07 아두이노 프로젝트 | 스마트 냉각팬 (0) 2024.07.19 아두이노 | 온도센서 TMP36 (1) 2024.07.05 아두이노 프로젝트 | 디지털 도어락 (0) 2024.06.28 아두이노 라이브러리 | 키패드 (0) 2024.06.21