Max6675 impreuna cu o termocupla de tip K

In acest articol vom folosi un modul cu MAX6675 impreuna cu o termocupla de tip K pentru a citi temperaturile ridicate.

Chip-ul MAX6675 se poate alimenta cu o tensiune cuprinsa intre 3,3V si 5V. Gama de temperatura este intre 0 si 1024 grade Celsius.

Conectarea intre chip si arduino se face pe interfata SPI si avem nevoie de doar 3 fire. In cazul de fata am folosit modulul conectat in urmatorul mod la Arduino Mega:

MAX6675                   Arduino

D0     --------------------  D22

CS     --------------------  D24

CLK   --------------------  D26

Pentru a putea folosi acest modul vom avea nevoie de libraria MAX6675-library. Aceasta oate fi descarcata de aici si se adauga in editorul Arduino accesand  Schita > Incarcare biblioteca > Adauga biblioteca.zip.

Sketch-ul folosit pentru afisarea temperaturii in terminalul serial este mai jos:

#include "max6675.h"

int termoDO = 22;
int termoCS = 24;
int termoCLK = 26;

MAX6675 termo(termoCLK, termoCS, termoDO);

  
void setup() {
  Serial.begin(9600);
  Serial.println("Testarea modulului MAX6675");
  delay(1000);
}

void loop() {
   Serial.print("Celsius = "); 
   Serial.println(termo.readCelsius());
   Serial.print("Fahrenheit = ");
   Serial.println(termo.readFahrenheit());
 
   delay(1000);
}

De asemenea putem folosi un display LCD 1604 pentru a afisa temperatura. Eu voi folosi modul de conectare a acestui tip de display asa cum am prezentat in acest articol.

Sketch-ul va arata in felul urmator:

 

#include "max6675.h"
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int termoDO = 22;
int termoCS = 24;
int termoCLK = 26;

MAX6675 termo(termoCLK, termoCS, termoDO);
byte customChar[] = {
  B00100,
  B01010,
  B00100,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000
};

  
void setup() {
  lcd.begin(16,4); 
  lcd.setCursor ( 0, 0 ); 
  lcd.print (" www.");  
  lcd.setCursor (0, 1 ); 
  lcd.print ("electronicstore");
  lcd.setCursor (0, 2 );
  lcd.print ("            .ro");
  lcd.setCursor (0, 3 );
  lcd.print ("****************");
  delay (2000); 
  lcd.clear(); 
  lcd.setCursor ( 0, 0 ); 
  lcd.print ("Termocupla tip K");  
  lcd.setCursor (0, 1 ); 
  lcd.print ("si MAX6675");
  lcd.setCursor (0, 2 );
  lcd.print ("");
  lcd.setCursor (0, 3 );
  lcd.print ("****************");
  delay (2000); 
  lcd.clear();
  lcd.createChar(0, customChar);
}

void loop() {
  lcd.setCursor ( 0, 0 ); 
  lcd.print ("Temperatura... ");  
  lcd.setCursor ( 0, 1 ); 
  lcd.print (termo.readCelsius());
  lcd.print (" ");
  lcd.write(byte(0));
  lcd.print ("C"); 
  lcd.setCursor ( 0, 2 ); 
  lcd.print ("Temperatura... "); 
  lcd.setCursor ( 0, 3 ); 
  lcd.print (termo.readFahrenheit());
  lcd.print (" ");
  lcd.write(byte(0)); 
  lcd.print ("F "); 
   delay(1000);
}

Poze cu modulul folosit mai jos:

 

Nu sunt comentarii in “Max6675 impreuna cu o termocupla de tip K”

Lasa un comentariu

Raspuns lui Some User

ESP32

ESP32 impreuna cu un senzor de lumina

    Pentru a detecta prezenta sau absenta luminii de catre ESP32 vom folosi un fotorezistor. Iar in acest articol vom folosi un modul detector de lumin cu fotorezistor.     Acest modul se poate alime...

ESP32 si un led

    Pentru a semnaliza o anumita stare dintr-un program executat de catre ESP32 puem folosi ca martor indicator un led. In acest exemplu vom folosi un led conectat cu anodul la pinul GPIO_25 al ESP32,...

ESP32 si comunicarea seriala

    Daca dorim sa vedem diferite date returnate de catre ESP32 putem folosi terminalul serial pentru a realiza acest lucru. Folosirea acestuia este destul de simpla, de fapt fiind acelasi cod sursa fo...

More Articles

Mai multe de la: ESP32

Autentificare