본문 바로가기
aCodingTo

Arduino Uno - LM35 온도센서 이용하기 - 2

by redi 2018. 11. 22.
반응형

심기일전하여 레퍼런스를 지정하면 되지 않을까 기대를 하며... 다시 코드를 짜봤다.

        #include<LiquidCrystal_I2C.h>

#include<Wire.h>

LiquidCrystal_I2C lcd(0x3F,16,2);

const int lm35OUT=A0;

int A0out=0;

float Temp=0;

  //to calculate temperature:

void setup() {

  // put your setup code here, to run once:

lcd.init();

lcd.backlight();

  //to drive LCD:

Serial.begin(9600);

analogReference(INTERNAL);

  //for Serial input:

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

  //to control LED:

}

void loop() {

  // put your main code here, to run repeatedly:

A0out=analogRead(lm35OUT);

Temp=500.0*A0out/1024.0;

lcd.setCursor(0,0);

lcd.print("Temperature");

lcd.setCursor(13,0);

lcd.print(Temp);

  //diplay temperature:

digitalWrite(13,LOW);

digitalWrite(12,LOW);

  //turn off all LEDs:

if(Temp>=26){

  digitalWrite(13,HIGH);

}

else if(Temp<=20){

  digitalWrite(12,HIGH);

}

delay(3000);

lcd.clear();

}


이번엔 LCD에 온도를 출력하고 동시에 LED 두 개를 온도 범위에 따라 켜도록 했는데 잘 될까?

컴파일은 잘 되었고.....


이게 잘 되야 다른 센서도 구동을 해 보는데 말이야...


그러나.. analogReference를 설정하자 출력값은 더 높아졌다. 온도가 막 250도...
아놔..

일단 이건 좀 내버려두자.

센서가 불량이 아닐까 싶은데... 우씨 -_-;






728x90
반응형