Temperature Difference Indicator with LM35, BJT Differential Amplifier, and Arduino Nano

Monitoring temperature differences is crucial in various applications, from environmental control to electronic device safety. For example, compare indoor and outdoor temperatures to control heating/cooling systems, In this project, we’ll build a simple yet effective temperature difference indicator using LM35 temperature sensors, a BJT differential amplifier, and an Arduino Nano. This setup allows you to measure and visualize the temperature difference between two points using an LED indicator.

Components Needed

  • LM35 Temperature Sensors (2x)
  • NPN Transistors (e.g., 2N3904) for the differential amplifier
  • Resistors (2.2k, 10k and 47k)
  • Arduino Nano
  • LED (for visual indication)
  • Breadboard and Jumper Wires
  • Power Supply (5V)

Understanding the LM35 and Differential Amplifier

The LM35 is a popular temperature sensor that outputs a voltage proportional to the temperature. Each sensor provides a 10 mV/°C output, making it easy to interface with analog circuits.

A differential amplifier is a circuit that amplifies the difference between two input signals. In this case, we’ll use a basic BJT differential amplifier to compare the outputs from two LM35 sensors. For a detailed explanation of how a differential amplifier works, check out our guide on the basic BJT differential amplifier.

Circuit Design

Below is circuit design that measure two LM35 output signal and then provides amplified difference signal of the two input signal and subsequently measured with Arduino Nano which will blink a LED according to the temperature difference. 

diff amplifier with LM35 and Arduino

  1. Setting Up the LM35 Sensors:

    • Connect the VCC pin of both LM35 sensors to the 5V supply.
    • Connect the GND pin to the ground.
    • Connect the output pin of the first LM35 sensor to the base of the first transistor in the differential amplifier.
    • Connect the output pin of the second LM35 sensor to the base of the second transistor.
  2. Building the Differential Amplifier:

    • Use two NPN transistors (e.g., 2N3904) for the differential amplifier.
    • Connect the emitters of both transistors together and then to ground through a common emitter resistor.
    • Connect the collectors of each transistor to the power supply (5V) through collector resistors.
    • Take the differential output from the collector of one of the transistors, which will be fed into the Arduino Nano's analog input.
  3. Arduino Nano and LED Indicator:

    • Connect the output of the differential amplifier to one of the analog input pins (e.g., A0) of the Arduino Nano.
    • Connect an LED to one of the digital pins (e.g., D13) with a current-limiting resistor.
     
The calculation of the resistor value and the expected temperature difference calculation are illustrated in the tutorial How to build basic Differerential Amplifier with BJT.

Programming the Arduino Nano

The Arduino Nano will monitor the differential output and blink the LED at different rates depending on the temperature difference. Here’s a simple code snippet:

const int ledPin = 13; // LED connected to digital pin 13
const int sensorPin = A0; // Differential amplifier output connected to analog pin A0

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
int sensorValue = analogRead(sensorPin);
int blinkRate = map(sensorValue, 0, 1023, 100, 1000); // Map the sensor value to a blink rate between 100ms and 1000ms

digitalWrite(ledPin, HIGH);
delay(blinkRate);
digitalWrite(ledPin, LOW);
delay(blinkRate);

Serial.print("Sensor Value: ");
Serial.println(sensorValue);
}


This code reads the differential amplifier’s output and adjusts the blink rate of the LED accordingly. The higher the temperature difference, the faster the LED blinks. For more information on how to blink an LED using an Arduino Nano, check out this Arduino Nano LED blink code tutorial.

Applications

  • Environmental Monitoring: Compare indoor and outdoor temperatures to control heating/cooling systems.
  • Device Safety: Monitor the temperature difference between two critical points in a circuit to detect potential overheating.
  • Experimental Setup: Use this setup in scientific experiments to measure temperature gradients.

Video Demonstration

See how the Temperature Difference Indicator with LM35, BJT Differential Amplifier, and Arduino Nano.

Conclusion

Building a temperature difference indicator with LM35 sensors, a BJT differential amplifier, and an Arduino Nano is a great way to explore analog signal processing and interfacing with microcontrollers. This project not only teaches the basics of differential amplifiers but also provides a practical tool for monitoring temperature differences in various applications. Futhermore one can use PID controller to set the difference to minimum by using FAN or cooling system when the inner temperature is higher than the surrounding or the outer temperature. See Arduino PID Controller - Temperature PID Controller for how to build controller with Arduino.

Resources

# LM35 Temperature Sensor with ATmega32 and LCD

# LM35 Temperature Sensor with Arduino and LCD

Post a Comment

Previous Post Next Post