MAX6675 (Arduino)

При помощи ИМС MAX6675 можно измерит ТЭДС термопары типа К (ХА), результат измерения выводится в градусах Цельсия и Фаренгейта, так же микросхема MAX6675 содержит встроенный датчик температуры окружающей среды.

MAX6675 в комплекте с термопарой типа К рассчитан на измерение температуры в диапазоне от 0 до 1024 ºС, с разрешением 0.25 ºС. Для передачи данных используется SPI интерфейс.

Результат измерений

t (ºС) t измеренное (ºС)  t (ºС) t измеренное (ºС)
100 100 600 595
200 202 700 693
300 302 800 789
400 401 900 890
500 497 1000 993
#include <max6675.h>
#include <LiquidCrystal.h>
#include <Wire.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
 
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
double t_c,t_sum,t_iz; 
 
void setup(){Serial.begin(9600);lcd.begin(16, 2);delay(500);}
 
void loop(){
  t_sum=0;
  lcd.setCursor(0,0);lcd.print("MAX6675");
  lcd.setCursor(0,1);lcd.print("T = ");
  lcd.print(t_iz,1);
  lcd.print((char)223);lcd.print("C ");
  Serial.print("C = "); 
  Serial.println(thermocouple.readCelsius());
  for(int i=0;i<5;i++){
    t_c=thermocouple.readCelsius();
    t_sum=t_sum+t_c;
    delay(200);
  }
  t_iz=t_sum/5;
  lcd.clear();
}

Рекомендуемый скетч пришлось немного изменить, нестабильность показаний в пределах 0.5 º вынудили применить усреднение результата измерений, так же был добавлен конденсатор на термопарном входе 0,1 мкФ.

Библиотека max6675.h

Comments

  1. Помогите разобраться с проблемой: хочу подключить дисплей по интерфейсу I2C. Меняю библиотеку на lcd_I2C- всё работает, кроме подсветки. Строку включения подсветки не могу прописать — компилятор выдаёт ошибки.

Добавить комментарий

Войти с помощью: