Max6675

Ciao a tutti.
Ho preso un mega 2560, ci ho collegato un Max6675 e ci ho inserito questo programma dopo aver caricato la libreria

#include <MAX6675_Thermocouple.h>

#include <max6675.h>

// ThermoCouple
int thermo_gnd_pin = 45;
int thermo_vcc_pin = 47;
int thermo_so_pin = 49;
int thermo_cs_pin = 51;
int thermo_sck_pin = 53;

MAX6675 thermocouple(thermo_sck_pin, thermo_cs_pin, thermo_so_pin);

void setup() {
Serial.begin(9600);

pinMode(thermo_vcc_pin, OUTPUT);
pinMode(thermo_gnd_pin, OUTPUT);
digitalWrite(thermo_vcc_pin, HIGH);
digitalWrite(thermo_gnd_pin, LOW);
}

void loop() {
Serial.print("Temp: ");
Serial.println(thermocouple.readCelsius());

delay(1000);
}

La temperatura letta sul monitor serial è sempre 0. Cosa ho sbagliato?

ciao

puoi allegare uno schema dei collegamenti? :)

Il programma che hai postato fa parte degli esempi?

MD

Errore cretino. Il mio max6675 aveva due collegamenti invertiti rispetto a quello della figura e non avevo pensato di controllare.

Ora ci ho aggiunto uno schermo lcd e il risultato è nan (not a number), non capisco

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

#include <MAX6675_Thermocouple.h>

#include <max6675.h>

LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

// ThermoCouple
int thermo_gnd_pin = 45;
int thermo_vcc_pin = 47;
int thermo_so_pin = 53;
int thermo_cs_pin = 51;
int thermo_sck_pin = 49;

MAX6675 thermocouple(thermo_sck_pin, thermo_cs_pin, thermo_so_pin);

void setup() {
lcd.init();

lcd.backlight();
// Print a message to the LCD.

Serial.begin(9600);

pinMode(thermo_vcc_pin, OUTPUT);
pinMode(thermo_gnd_pin, OUTPUT);
digitalWrite(thermo_vcc_pin, HIGH);
digitalWrite(thermo_gnd_pin, LOW);

}

void loop() {

lcd.setCursor(0,0);
lcd.print(“Temperatura”);
lcd.setCursor(0,1);
lcd.print(thermocouple.readCelsius());
lcd.setCursor(7,1);
lcd.print(“Gradi C”);

Serial.print("Temp: ");
Serial.println(thermocouple.readCelsius());

delay(1000);
}

int thermo_gnd_pin = 45;
int thermo_vcc_pin = 47;

Non si possono usare dei pin di uscita come alimentazione per circuiti esterni.
Ciao Uwe