The following information is for the EMANT300, EMANT380

Analog Output

A thermistor will be used to measure the forehead temperature. Thermistors are widely used in industrial applications because of their sensitivity, small size, ruggedness and low cost. Thermistors have an electrical resistance that varies non-linearly with temperature. The R-T characteristics of most thermistors can be described by the Steinhart-Hart equation:

1/T = A + B*(Ln R) + C*(Ln R)^{3}

T is the absolute temperature (in Kelvin) and A, B, and C are constants which can be determined by measuring three sets of resistance and temperature values during calibration.

Most thermistors have a negative temperature
coefficient (NTC), their resistance decreases with increasing
temperature. Thermistors are specified according to its nominal
resistance at 25 ^{o}C and commonly available thermistors
range from 250 ohms to 100 kohms

The thermistor that we are using has the following characteristics

Nominal resistance @ 25

^{ o}C: 10 kohmsnegative temperature coefficient (NTC)

Steinhart-Hart equation parameters:

A= 0.001129148

B= 0.000234125

C= 8.76741E-8

As the DAQ module Analog Input measures only
voltage, we will need to provide a current source to convert the
resistance to voltage. The EMANT300 has an 8 bit current DAC (digital
to analog converter). As the DAC has 8 bits resolution, we can drive
the resistance from 0 to 1mA in 255 steps with increments of about
39uA. In our exercise, we will drive 0.1mA into the thermistor. As
the thermistor has a nominal value of 10 kohm at 25^{ o}C, at
this temperature the voltage across the thermistor will be (0.1mA *
10 kohm) = 1V.

Connect the thermistor to the Light Application Adaptor screw terminals labeled AIN3 and AIN2

Connect a wire from IDAC to AIN3

Connect a wire from AGND to AIN2

Open the Visual Basic solution

**VB_2010_Solution.sln**.Set the

**Temperature**project as the startup project.View the project code by opening the project's

**Module1****.vb**If you are using the

**EMANT380 Bluetooth DAQ,**change the parameter to**False**and**COM5**to the COM port you are using, See exercise 1 step 4.

`DAQ.Open(False,"COM5")`

Press

**Ctrl+F5**to**Start without Debugging**to run the program. Observe the thermistor resistance and temperature value.Use your finger to touch the thermistor. The temperature should change to reflect the higher temperature of your body.

Press any key to return to the development environment.

```
Imports Emant
Module Module1
Sub Main()
Const A As Double = 0.001129148
Const B As Double = 0.000234125
Const C As Double = 0.0000000876741
Dim volt, temp, R As Double
Dim DAQ As Emant300 = New Emant300
DAQ.Open(True,"COM5")
DAQ.WriteAnalog(0.1)
For i = 0 To 9
volt = DAQ.ReadAnalog(Emant300.AIN.AIN3, Emant300.AIN.AIN2)
R = volt / 0.0001
Console.WriteLine(R)
temp = 1 / (A + B * Math.Log(R) + C * Math.Pow(Math.Log(R), 3))
temp = temp - 273
Console.WriteLine(temp)
DAQ.Delay(1000)
Next
DAQ.Close()
End Sub
End Module
```

If
you are writing this program from scratch, in order to use the
**Emant300** class, the class library **Emant300.dll** must be
added to the references folder. See exercise 5.

**Constants** are used when you value you have
assigned is fixed throughout the program. Unlike **Variables**,
the value cannot be reassigned. Thus it is suitable for A, B and C
found in the Steinhart-Hart equation.

Const A As Double = 0.001129148

Const B As Double = 0.000234125

Const C As Double = 0.0000000876741

`DAQ.WriteAnalog(0.1)`

The parameter 0.1 (variable is double data type) sets the current output to 0.1 mA. Value must be between 0 to 1 mA

`Math.Log(R)`

Returns the natural (base e) logarithm of a specified number. It is one of the methods from the Math Class. The Math Class provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions. The other method we used in this example is

Returns a specified number raised to the specified
power. The following code performs the following calculation (Ln R)^{3}

`Math.Pow(Math.Log(R),3)`

Information on the Math Class can be found at the Microsoft website.

Temperature
can be measured using either the Centigrade scale or Fahrenheit
scale. The Fahrenheit scale is common in the USA whereas most of the
other countries adopt the Centigrade or metric scale. If you are
developing a temperature measurement solution that will be used in
the USA, you will have to show the temperature in ^{o}F.

Develop a Visual Basic program that measures the
temperature in ^{o}F

Hints:

Use the earlier temperature sensor program.

To convert

^{o}C to^{o}F use the following equation