Manufacturers

RSS feed

No RSS feed added

Linkerkit Thermal Temperature Sensor Module

Linkerkit Thermal Temperature Sensor Module with a TMP36 analog sensor provides a handy method for your project to sense the environment.

More details


AU$2.50

AU$2.50 per each

LKT-00173

Availability: This product is no longer in stock


Notify me when available

Add to my wishlist

Loyalty program By buying this product you can collect up to 2 loyalty points. Your cart will total 2 points that can be converted into a voucher of AU$0.04.


100 quantities 75 quantities 50 quantities 10 quantities 5 quantities
-AU$0.35 -AU$0.34 -AU$0.33 -AU$0.32 -AU$0.28

Customers who bought this product also bought...

Board Manufacturer: Linksprite (P/N: LINKER_TEMP)

Sensor Manufacturer: Analog Systems (P/N: TMP36 in TO92 package)

Description:

The TMP35/TMP36/TMP37 are low voltage, precision centi-grade temperature sensors. They provide a voltage output thatis linearly proportional to the Celsius (centigrade) temperature.The TMP35/ TMP36/TMP37 do not require any externalcalibration to provide typical accuracies of ±1°C at +25°C
and ±2°C over the −40°C to +125°C temperature range.
 
The low output impedance of the TMP35/TMP36/TMP37 andits linear output and precise calibration simplify interfacing totemperature control circuitry and ADCs. All three devices are intended for single-supply operation from 2.7 V to 5.5 V maxi-mum. The supply current runs well below 50 μA, providing very low self-heating—less than 0.1°C in still air. In addition, a shutdown function is provided to cut the supply current to less than 0.5 μA.
 
The TMP36 is specified from −40°C to +125°C, provides a 750 mV output at 25°C, and operates to 125°C from a single 2.7 V supply. The TMP36is functionally compatible with the LM50. Both the TMP35 and
TMP36 have an output scale factor of 10 mV/°C.
 
 

Example C/C++ source for use with pcDuino


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>

#define ADC_PATH "/proc/"
#define ADC_FILE "adc"
#define ADC_PIN 4 // LKT-00173 Temp sensor connected to pin A4 on pcDuino

int readADC(FILE *ADCfd)
{
        int value=0, c;

        fseek(ADCfd,0,SEEK_SET);

        // pcDuino's ADC returns a string "adcx:[value]n"
        // so we need to read and ignore until we get to the value
        c = getc(ADCfd);
        while(c != EOF && c != ':')
        c = getc(ADCfd);
        // check to see if we're at EOF. If yes, return an error (-1)
        if(c == EOF) return -1;

        // we are at the value so read as long as what we
        // are reading is a number
        c = getc(ADCfd);
        while(c >= '0' && c <= '9')
        {
                value = value * 10 + c -'0';
                c = getc(ADCfd);
        }

        // Continue to read to the end of file but we ignore the data now
        while(c != EOF)
                c = getc(ADCfd);

        // we're going to return the value as an integer
        return value;
}

int main(void)
{
        int ADCResult;
        char path[80];  // create large buffer for file paths
        FILE *adcFD;     // file descriptor for the adc pin

        printf("nUsing a TMP36 thermal sensor to measure temperature on the pcDuinon");

        // create ADC pin file descriptor
        memset( path, 0, sizeof(path));
        sprintf( path, "%s%s%d", ADC_PATH, ADC_FILE, ADC_PIN);
        printf("path is: %sn",path);

        // we open the ADC port file
        adcFD = fopen(path, "r");

        // and read it using the function above which returns just the value as an integer
        ADCResult = readADC(adcFD);
        printf("ADC[%d] ADCResult: %dn",ADC_PIN,ADCResult);

        // convert adc value to volts
        // For 5V systems change 3.3 to a 5
        // pins A2 to A5 are 12bit ADC inputs on the pcDuino so
        // we divide by 4096.
        float voltage = ((float)ADCResult * 3.3) / 4096.0;
        printf("Voltage at pin %d is: %4.2f voltsn",ADC_PIN, voltage);

        // now we convert to Celcius
        float tempC = (voltage - 0.5) * 100;

        // convert to farenheit
        float tempF = (tempC * (9.0 / 5.0)) + 32.0;

        // display temperature reading
        printf("Measured temp is %4.1fC or %4.1fFnn",tempC,tempF);
}
 
Above source produces output like:
Using a TMP36 thermal sensor to measure temperature on the pcDuino
path is: /proc/adc4
ADC[4] ADCResult: 959
Voltage at pin 4 is: 0.77 volts
Measured temp is 27.3C or 81.1F
 

Example Arduino sketch:


//TMP36 Pin Variables
int sensorPin = 0; //the analog pin the TMP36's Vout (sense) pin is connected to //the resolution is 10 mV / degree centigrade with a //500 mV offset to allow for negative temperatures   /* * setup() - this function runs once when you turn your Arduino on * We initialize the serial connection with the computer */ void setup() { Serial.begin(9600); //Start the serial connection with the computer //to view the result open the serial monitor }   void loop() // run over and over again { //getting the voltage reading from the temperature sensor int reading = analogRead(sensorPin);   // converting that reading to voltage, for 3.3v arduino use 3.3 float voltage = reading * 5.0; voltage /= 1024.0;   // print out the voltage Serial.print(voltage); Serial.println(" volts");   // now print out the temperature float temperatureC = (voltage - 0.5) * 100 ; //converting from 10 mv per degree wit 500 mV offset //to degrees ((volatge - 500mV) times 100) Serial.print(temperatureC); Serial.println(" degrees C");   // now convert to Fahrenheight float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0; Serial.print(temperatureF); Serial.println(" degrees F");   delay(1000); //waiting a second }

 

No customer comments for the moment.

Only registered users can post a new comment.

Cart  

No products

Shipping AU$0.00
Total AU$0.00

Check out