아두이노는 디지털 입력과 출력을 제어할 수 있으며, 아날로그 입력과 출력도 제어할 수 있다.
그래서 다양한 센서를 사용할 수 있다. 디지털 입력 신호뿐만 아니라 아날로그 신호도 쉽게 처리할 수 있다.
디지털 입력 값은 digitalRead()함수를 이용해서 값을 읽는다. 그리고 아날로그 입력은 analogRead() 함수를 이용하여 아날로그 입력 신호를 처리한다. 이번 실습은 여러 가지 센서를 이용하여 센서 입력 데이터를 처리하는 방법을 실습한다.
아날로그 온도센서는 LM35는 브레드보드에 저항 연결 없이 바로 사용할 수 있는 온도센서이다. 아두이노의 아날로그 입력 핀에 연결하여 온도를 측정하고, 아두이노 시리얼 모니터에 입력된 온도를 나타낼 수 있다. 그리고 4~20V 전압에서 제어 할 수 있다. 아두이노는 작동 공급 전압이 5V이므로 온도센서의 출력값을 읽을 수 있다.
LM35는 내부에 저항을 따로 연결하지 않고 선을 바로 연결하면 된다. LM35의 오른쪽 다리는 아두이노의 GND에 연결하고 왼쪽 다리는 아두이노의 5V와 연결한다. 가운데 신호선은 아날로그 입력 핀 중 하나에 연결하면 된다.

// LM35 온도 측정
int Pin =A0; // 입력 핀
int reading;
float tempC;
void setup(){
Serial.begin(9600); //시리얼 통신속도 설정
}
void loop(){
reading =analogRead(Pin); // 센서 값을 읽어 옴
tempC = (5.0*reading*100.0)/1024.0;
Serial.print(tempC); // 센서 값을 섭씨온도로 변환(LM35 계산 공식에 의함)
Serial.print("도");
delay(1000); // 온도 측정 간격 설정(1000은 1초)
}
