Погрешность измерения датчика температуры LMT 84
Я хочу измерить температуру атомосферы с помощью датчика arduino, который я использую, - это LMT84. технический паспорт :http://www.ti.com/lit/ds/symlink/lmt84.pdf После загрузки следующего кода на плату arduino я получаю очень высокую температуру в последовательном окне .Я новичок в области электроники, поэтому не могу понять, в чем ошибка в моем коде .Я подключил колпачок 0,1 мкф между vcc и землей,вывод данных подключен к разъему arduino.
Пожалуйста, проверьте следующий код:
const int sensor = A1; // Assigning analog pin A1 to variable 'sensor'
float tempc; //variable to store temperature in degree Celsius
float vout; //temporary variable to hold sensor reading
float vout1; //temporary variable to hold sensor reading
void setup()
{
Serial.begin(9600);
pinMode(sensor, INPUT); // Configuring pin A1 as input
}
void loop()
{
vout = analogRead(sensor);
vout1 = (vout * 500) / 1023;
tempc = vout1; // Storing value in Degree Celsius
Serial.print("LMT84 temp=");
Serial.print(tempc);
Serial.println();
delay(1000);
}
Последовательное окно, показывающее эти значения::
LMT84 temp=168.13
LMT84 temp=168.13
LMT84 temp=168.64
LMT84 temp=168.89
LMT84 temp=168.13
@Nikhil P, 👍0
1 ответ
Arduino использует аналоговое напряжение в качестве эталона. По умолчанию установлено значение Vcc микроконтроллера, которое составляет около 5 В для Arduino Uno. Функция analogReference может быть использована для установки чего-либо другого в качестве ссылки.
Когда эта ссылка не соответствует точно 5,0 В, невозможно точно измерить напряжение. Это почти никогда не бывает точно 5,0 В. При использовании USB-разъема для питания платы Arduino это может быть где-то между 4,5 и 5,0 В.
Arduino Uno имеет внутреннее опорное напряжение 1,1 В., что лучше, чем при использовании 5 В. по умолчанию. Фактическое напряжение может составлять от 1,0 до 1,2 В, вы должны указать фактическое значение в своем скетче.
LMT84 имеет выход 1034 мВ при 0°C и 476 мВ при 100°C. Это означает, что ваш расчет неверен. В таблице приведены два способа расчета температуры: точная формула и простой расчет.
Вы можете избежать всех этих проблем с помощью датчика температуры, который имеет цифровой интерфейс к плате Arduino. Например, DS18B20. Это дешевый и точный датчик температуры.
- Колебания показаний датчика температуры LM35 (+- 5°C) с Arduino UNO
- Неверные показания PT100 и MAX31865
- Проблема с условием if
- L293D для изменения направления тока и усиления его - Стабилизатор температуры
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- Данные DHT11 из Arduino UNO в Firebase через ESP8266
- BMP280 возвращает 0
- Почему показания датчика температуры становятся непоследовательными при добавлении к плате дополнительного оборудования?