All of the components for the thermometer are provided in the Arduino Sidekick (linked). Below are images and descriptions of each component you will need.
Picture 1: 503 Thermistor- This is a 50k Ohm resistor provided in the Sidekick. Thermistors are variable resistors that change their resistance as the temperature changes. This is what will be "measuring" your temperature.
Picture 2: 5 to 7 wires- We all love wires! These will be connecting all of our components.
Picture 3: Five 10k Ohm resistors- These will create the voltage divider needed for the Arduino to read the proper voltage (Stripes for 10k Ohm: Brown, Black, Orange, Gold)
Picture 4: Arduino- Our one true love, this is where the brains of the operations happen
Picture 5: USB Cord- This will connect the Arduino to your computer
Computer with Arduino IDE- IDE is the software where you put your Arduino code. Here is a link to download the software: Arduino IDE Download
Picture 6: Breadboard- This is where you will be putting the components
Our first step is to create the circuit. To do this, grab all the needed components above and assemble the circuit below
Note: the thermistor is represented by the blue circle
Here is an explanation of how it works:
This is a basic circuit that links the thermistor to Arduino pin A0 and provides power and ground to the thermistor. The Arduino measures the voltage put through the thermistor. You can see we power the thermistor with 5V and then take a wire from the grounded side to A0. Next, we need to create a voltage divider with the resistors. Find out the strength of your thermistor (the 503 thermistor provided in the Sidekick is 50k Ohm) and place an equal value of resistors to divide the voltage (the Sidekick’s highest resistors are 10k Ohm, so I used five 10k Ohm resistors). Then ground the last resistor.
For a more in-depth technical explanation, see the page titled "Troubleshooting."
Pictures of Circuit:
Code
Next, we need to write the code for our thermometer. To do this, open Arduino IDE on your computer and copy the code below.
So what's happening in this code?
The code above does a few things; the first few lines establish various integers to make the code more understandable. We also establish an array called "dX[ ]", which we will use to monitor the rate at which the temperature is fluctuating later on in the code. We begin the code with ‘void setup(){‘, which sets up the serial output. This is what will display the temperature on your computer. Next, "float calcTemp()" takes the output from pin A0 and converts this voltage to temperature through the Steinhart-Hart equation (that is the math stuff written under calcTemp(), which you can read more about on our Troubleshooting page). Next, we fill that array we established earlier with temperatures collected by the thermometer, which is done by the code under "if(T>0) {". This also ensures there are no funky values stored (if wire connections are not secured, you may get strange readings such as negative temperatures). We then calculate the difference between temperature readings in order to minimize temperature fluctuation; sometimes it takes some time for the thermometer to heat up or cool down. After the temperature begins to level out and there is an average difference of 0.15 degrees Fahrenheit between values, twenty temperatures are collected and averaged. Finally, the average temperature is printed on the serial monitor!
How do I use the code with my Arduino thermometer?
Once you have the code in Arduino IDE, plug the USB cable into your computer and Arduino. Then, verify your code with the checkmark on the top left. Lastly, upload your code to the Arduino with the arrow pointing right, which is next to the verify button. If it does not work, make sure you linked your Arduino board to the computer. Go to tools>Board:>Arduino Uno.
Finally, open the serial monitor to check your results! Click the magnifying glass on the top right, and a new window will pop up, displaying the temperatures your new thermometer is reading. You can also click Tools>Serial Monitor to open the serial monitor.
Test your thermometer by squeezing the thermistor between your fingers. You should see the temperatures increase on the serial monitor! For more information on how to collect your body temperature, go to the page titled "Collecting & Recording Temperature."
Final (Optional) Steps
Now with the thermometer complete, there are a few add-ons if you’re feeling really spicy.
First, you can take two additional wires and solder them to the thermistor to extend the sensor. If you do not have a soldering kit, there are some other alternatives to connect two wires. For example, you can use tape or some hot glue. When using tape or hot glue, make sure to twist the thermistor wires around the connecting wires really well to ensure good contact. Now you can plug the two wires in where the thermistor was on the breadboard, and then cover the thermistor with a straw or some Saran Wrap. Now you have a thermometer you can stick in your mouth!