Датчик LM35
- Войдите на сайт для отправки комментариев
Сб, 02/02/2013 - 13:22
неправильные показания температуры с датчика 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 милисекунд
}
очень беглое гугленье вот что дало:
http://playground.arduino.cc/Main/LM35HigherResolution
там же пример. Посмотрите.
спасибо, попробую
Скетчик для 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 вольт!
А как замерять отрицательную тмпературу этим датчиком? Похоже что на GND датчика надо подать смещающее напряжение, которое потом эксперементально учесть отрицательной постянной в формуле рачета температуры. Незнаю, вот такая схема подойдет?.
Так в даташите же написано как отрицательные мерять и пример есть.
Так в даташите же написано как отрицательные мерять и пример есть.
Да примеры есть, но они сложны для простого подключения к ардуине. Большинство ввобще требует (+Vs) и (- Vs). Что можно сделать, но зачем если можно взять другой датчик и не морочиться.