Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    YouTube

    Werbung:


    New Posts


    Events

    • Keine zukünftigen Events vorhanden

    The Tech-Blog

    Arduino PT100 Temperature Sensor Converter

    PT100 Arduino Sketch

    Alex @ AEQ-WEB

    Sample code from the PT100 temperature measurement project with the Arduino. This sample code prints the measured temperature values in the serial monitor.

    Werbung:

    //More information about this project can be find here: https://www.aeq-web.com/pt100-temperature-sensor-arduino-r-u-converter/
    
    const int pt100Pin = A0;  // Define PT100 input pin
    const float offset = -0.00; // Offset (depending on the line resistance)
    
    // Define known points (voltage & temperature)
    const float voltages[] = { 0.079, 0.56, 1.04, 1.99, 2.95 };    // Voltages in Volts
    const float temperatures[] = { 0, 25.0, 50.0, 100.0, 150.0 };  // Temperatures in Celsius
    
    const int numPoints = sizeof(voltages) / sizeof(voltages[0]);
    
    // Linear interpolation
    float interpolate(float x, float x0, float x1, float y0, float y1) {
      return y0 + (y1 - y0) * (x - x0) / (x1 - x0);
    }
    
    // Calculate temperature from voltage
    float calculateTemperature(float voltage) {
      
      // Set to 0°C if voltage is higher than max. known point
      if (voltage > voltages[numPoints - 1]) {
        return 0;
      }
    
      // Find limits for interpolation
      int i = 0;
      while (voltage > voltages[i + 1] && i < numPoints - 1) {
        i++;
      }
    
      // Interpolate between limits
      return interpolate(voltage, voltages[i], voltages[i + 1], temperatures[i], temperatures[i + 1]);
    }
    
    void setup() {
      Serial.begin(9600);
    }
    
    void loop() {
    
      int sensorValue = analogRead(pt100Pin);
      float voltage = sensorValue * (5.0 / 1023.0);
      float temperature = calculateTemperature(voltage)+offset;
    
      Serial.print("Voltage: ");
      Serial.print(voltage, 3);
      Serial.print("V, Temperature: ");
      Serial.print(temperature, 1);
      Serial.println("°C");
    
      delay(1000);
    }
    


    Info: This page was automatically translated and may contain errors
    122X122

    About the Author

    Alex, the founder of AEQ-WEB. He works for more of 10 years with different computers, microcontroller and semiconductors. In addition to hardware projects, he also develops websites, apps and software for computers.

    Top articles in this category:

    Vaisala RS41 Radiosonde Firmware Flash

    Radiosonde RS41 Firmware Flash

    • Video
    • DE/EN

    Every day hundreds of meteorological radiosondes fall from the sky. In this article we convert a radiosonde into a GPS tracker for APRS, RTTY & CW

    read more
    Zenner RWM3 Payload Decoder

    Smoke Detector Payload Decoder

    • DE/EN

    TTN Payload Decoder for Zenner Easy Protect LoRaWAN Smoke Detector (RWM3)

    read more

    Social Media

    YouTube

    Werbung:


    New Posts


    Events

    • Keine zukünftigen Events vorhanden