При помощи ИМС 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
Помогите разобраться с проблемой: хочу подключить дисплей по интерфейсу I2C. Меняю библиотеку на lcd_I2C- всё работает, кроме подсветки. Строку включения подсветки не могу прописать — компилятор выдаёт ошибки.
lcd.backlight();
Я уже прописывал эту строчку но появляются ошибки в других строчках. Может я не в то место прописывал?
Вот изменённый скетч и ошибка которая появляется:
Скетч:
http://forum.rcl-radio.ru/viewtopic.php?pid=2489#p2489