Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

Arduino UNO Thermocouple Temperature Monitor with I2C LCD Display

Image of Arduino UNO Thermocouple Temperature Monitor with I2C LCD Display

Circuit Documentation

Summary

This circuit involves an Arduino UNO microcontroller interfaced with a MAX6675 thermocouple module and a 16x2 I2C LCD display. The circuit is powered by a 5V battery. The Arduino UNO reads temperature data from the MAX6675 module and displays it on the 16x2 I2C LCD.

Component List

  1. MAX6675 Module

    • Description: Thermocouple-to-Digital Converter
    • Pins: GND, VCC, SCK, CS, SO, -, +
  2. Arduino UNO

    • Description: Microcontroller Board
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  3. 16x2 I2C LCD

    • Description: 16x2 Character LCD with I2C Interface
    • Pins: GND, VCC, SDA, SCL
  4. 5V Battery

    • Description: Power Supply
    • Pins: positive, negative

Wiring Details

MAX6675 Module

  • GND connected to Arduino UNO GND
  • VCC connected to 5V Battery positive
  • SCK connected to Arduino UNO D13
  • CS connected to Arduino UNO D10
  • SO connected to Arduino UNO D12

Arduino UNO

  • 5V connected to 5V Battery positive
  • GND connected to 5V Battery negative
  • GND connected to MAX6675 Module GND
  • D13 connected to MAX6675 Module SCK
  • D12 connected to MAX6675 Module SO
  • D10 connected to MAX6675 Module CS
  • A4 connected to 16x2 I2C LCD SDA
  • A5 connected to 16x2 I2C LCD SCL

16x2 I2C LCD

  • GND connected to 5V Battery negative
  • VCC connected to 5V Battery positive
  • SDA connected to Arduino UNO A4
  • SCL connected to Arduino UNO A5

5V Battery

  • positive connected to Arduino UNO 5V
  • positive connected to MAX6675 Module VCC
  • positive connected to 16x2 I2C LCD VCC
  • negative connected to Arduino UNO GND
  • negative connected to 16x2 I2C LCD GND

Code Documentation

Arduino UNO Code

Sketch File (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Documentation File (documentation.txt)

#include <max6675.h> // Include the MAX6675 library

// Define pins connected to the MAX6675 module
int SO_pin = 12; // Serial Output pin
int SCK_pin = 13; // Clock pin
int CS_pin = 10; // Chip Select pin

// Initialize MAX6675 object
MAX6675 thermocouple(SCK_pin, CS_pin, SO_pin);

void setup() {
  Serial.begin(9600); // Start serial communication for debugging
  Serial.println("Thermocouple Test");
  delay(500); // Allow some time for initialization
}

void loop() {
  // Read temperature in Celsius
  double tempC = thermocouple.readCelsius();

  // Print temperature to the Serial Monitor
  if (tempC != NAN) {
    Serial.print("Temperature: ");
    Serial.print(tempC);
    Serial.println(" °C");
  } else {
    Serial.println("Thermocouple not connected!");
  }

  delay(1000); // Update every second
}