Датчик LM35

Seraf369
Offline
Зарегистрирован: 02.02.2013

неправильные показания температуры с датчика LM35. подскажите что делать.

код:

#include <LiquidCrystal.h> // инициализация библиотеки
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

// объявление констант
const int analogInPin1 = A1; 

// объявление переменных
float sensorValue1 = 0;        
float Temperature1 = 0;        

void setup() {
  lcd.begin(20, 4); // инициализация дисплея
  lcd.setCursor(0,1); // установка курсора в нулевое положение
  lcd.print("Temp.Inside "); // вывод не меняющейся строки 
 lcd.setCursor(4,0); // установка курсора в нулевое положение
  lcd.print("SeraffimCOMP "); // вывод не меняющейся строки
 }
 
void loop() { 
 
  sensorValue1 = analogRead(analogInPin1); //чтение значения с пина    
  Temperature1 = (5 * sensorValue1 * 100)/1023; // расчет температуры
  
  
  lcd.setCursor(12, 1); // установка курсора в нужное положение
  lcd.print(Temperature1, 1); //вывод значения температуры
  lcd.print(" ");
  delay (200); // задержка 200 милисекунд
}

 

ustas
Offline
Зарегистрирован: 12.03.2012

очень беглое гугленье вот что дало:

http://playground.arduino.cc/Main/LM35HigherResolution

там же пример. Посмотрите.

Seraf369
Offline
Зарегистрирован: 02.02.2013

спасибо, попробую

madalexfiesta
madalexfiesta аватар
Offline
Зарегистрирован: 30.03.2016

Скетчик для  lm35+uno:

long temp;
#define tempPin 1
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  temp = analogRead(tempPin); 
  long b =(long)((temp<<10)-((temp<<5)-(temp<<3)));
  int temp1=b>>11;
  long temp2=b%2048;
  temp2=((temp2<<7)-((temp2<<5)-(temp2<<2)))>>11;
  Serial.print("TEMPRATURE = ");
  Serial.print(temp1);
  Serial.print(",");
  Serial.print(temp2);
  Serial.print("*C");
  Serial.println();
  delay(1000);
//2 732 байта
}

Опорные 5 вольт!

ИгорьУ
Offline
Зарегистрирован: 24.04.2016

А как замерять отрицательную тмпературу этим датчиком? Похоже что на GND датчика надо подать смещающее напряжение, которое потом эксперементально учесть отрицательной постянной в формуле рачета температуры. Незнаю, вот такая схема подойдет?.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так в даташите же написано как отрицательные мерять и пример есть.

ИгорьУ
Offline
Зарегистрирован: 24.04.2016

ЕвгенийП пишет:

Так в даташите же написано как отрицательные мерять и пример есть.

Да примеры есть, но они сложны для простого подключения к ардуине. Большинство ввобще требует (+Vs) и (- Vs).  Что можно сделать, но зачем если можно взять другой датчик и не морочиться.