Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO Based Temperature Monitoring System with OLED Display

View and Edit Project In Cirkit DesignerImage of Arduino UNO Based Temperature Monitoring System with OLED Display

Circuit Documentation

Summary of the Circuit

The circuit described in the provided inputs consists of an Arduino UNO microcontroller interfaced with a MAX6675 thermocouple-to-digital converter module, a 0.96" OLED display, a quartz crystal, a variable transformer, a K-type thermocouple, and additional components such as a flange, rotary pump, pressure gauge, and hose which do not have direct electrical connections in the net list provided.

The Arduino UNO is programmed to interact with the MAX6675 module to read temperature data from the K-type thermocouple and display the readings on the OLED screen. The quartz crystal and variable transformer are connected, suggesting a timing or frequency control application, although specific details are not provided.

Component List

Arduino UNO

MAX6675 Module

0.96" OLED

Quartz

Variable Transformer

K-type Thermocouple

Flange, Rotary Pump, Pressure Gauge, Hose

Wiring Details

Arduino UNO

MAX6675 Module

0.96" OLED

Quartz

K-type Thermocouple

Documented Code

/*
 * This Arduino sketch controls a traffic light system using a joystick module.
 * When the joystick is moved up, the red LED turns on.
 * When the joystick is moved left, the yellow LED turns on.
 * When the joystick is moved right, the green LED turns on.
 * When the joystick is moved down, all LEDs turn on.
 */

// Pin definitions
const int VRX_PIN = A0; // Joystick X-axis
const int VRY_PIN = A1; // Joystick Y-axis
const int SW_PIN = 7;   // Joystick button (not used)
const int RED_LED_PIN = 2;   // Red LED
const int YELLOW_LED_PIN = 3; // Yellow LED
const int GREEN_LED_PIN = 4;  // Green LED

void setup() {
  // Initialize serial communication
  Serial.begin(9600);

  // Set LED pins as outputs
  pinMode(RED_LED_PIN, OUTPUT);
  pinMode(YELLOW_LED_PIN, OUTPUT);
  pinMode(GREEN_LED_PIN, OUTPUT);

  // Set joystick button pin as input
  pinMode(SW_PIN, INPUT);
}

void loop() {
  // Read joystick values
  int xValue = analogRead(VRX_PIN);
  int yValue = analogRead(VRY_PIN);

  // Determine joystick direction
  if (yValue < 300) { // Joystick moved up
    digitalWrite(RED_LED_PIN, HIGH);
    digitalWrite(YELLOW_LED_PIN, LOW);
    digitalWrite(GREEN_LED_PIN, LOW);
  } else if (xValue < 300) { // Joystick moved left
    digitalWrite(RED_LED_PIN, LOW);
    digitalWrite(YELLOW_LED_PIN, HIGH);
    digitalWrite(GREEN_LED_PIN, LOW);
  } else if (xValue > 700) { // Joystick moved right
    digitalWrite(RED_LED_PIN, LOW);
    digitalWrite(YELLOW_LED_PIN, LOW);
    digitalWrite(GREEN_LED_PIN, HIGH);
  } else if (yValue > 700) { // Joystick moved down
    digitalWrite(RED_LED_PIN, HIGH);
    digitalWrite(YELLOW_LED_PIN, HIGH);
    digitalWrite(GREEN_LED_PIN, HIGH);
  } else { // Joystick in neutral position
    digitalWrite(RED_LED_PIN, LOW);
    digitalWrite(YELLOW_LED_PIN, LOW);
    digitalWrite(GREEN_LED_PIN, LOW);
  }

  // Small delay to stabilize readings
  delay(100);
}

Note: The provided code does not match the described functionality of the circuit. The code appears to control a traffic light system using a joystick, which is not part of the circuit described in the inputs. This discrepancy should be addressed for accurate documentation.