Intro: Wearable Infrared Thermometer
This Instructable will demonstrate how to make a wearable, mobile earpiece thermometer. This thermometer will use an infrared temperature sensor, and relies on tympanic radiation to acquired temperature readings. These readings will be able to be stored using an SD card. By storing the readings, you will be able to monitor your body temperature over a 24-hour timespan. Additionally, a detachable LCD shield can be incorporated into this device, to obtain temperature readings at any time.
1. Infrared thermometer senses tympanic temperature
2. Infrared thermometer transduces temperature reading to a digital signal
3. Arduino Uno receives a filtered and amplified signal as an input
4. Arduino Uno establishes IIC communication relationships
5. Data is a) stored on an attached SD card, b) read out on attached LCD shield
Step 1: Step 1: Materials and Tools
There are a few common materials and tools that will be necessary for this design. These items are:
- Electrical wires
- 4700 Ohm Resistors (2)
- 100 microfarad Capacitor (1)
- Printed circuit board
- Soldering iron and solder
- Arduino Uno
- LCD Shield - Linksprite
- MicroSD Shield - SparkFun, and associated SD card
- Infrared thermometer - Melexis
- Electrical power source (e.g. 9 volt battery) and connector
- Casing for electrical wires
- Thermometer casing
The brands of these items can be chosen differently, but make sure to determine whether they fulfill the same function.
Step 2: Step 2: Circuit Design
To deliver the temperature reading from the ear to the Arduino, an appropriate circuit must be designed to read, amplify, and filter the signal. The following circuit design was used to do this:
This circuit should first be tested using a breadboard, before being soldered onto the printed circuit board. In this way it can be tested and verified for functionality before unnecessary steps are taken. The next step will guide you through the soldering process.
In the above design, the IR thermometer transduces the IR thermometer reading, allowing it to be read in by the circuit. The IR thermometer does this using built-in filters and analog-digital converters, transducing the signal to an appropriate form for the Arduino to utilize. The 4700 ohm resistors in this circuit design ensured an appropriate signal to noise ratio for the signal reaching the arduino, and scales the input that the Arduino is reading in. The capacitor in the design helps to filter the signal, which, in eliminating noise from non-temperature sources, allows for cleaner readings. This design is recommended by Sparkfun as the optimal design for hooking up an IR thermometer to an Arduino for the cleanest readout.
Step 3: Step 3: Soldering the Circuit
If you are a beginner at soldering, it is recommended that you practice with a spare printed circuit board before soldering your IR thermometer device. While fixing mistakes made while soldering possible, it is not always easy and can often be time consuming. For a first timers guide to soldering, see the link below:
For this device, the IR thermometer was soldered on first, followed by the resistors, capacitor, and finally the connecting wires. This soldering set-up ensures that, if mistakes are made, it is possible to catch them early in the process.
Step 4: Step 4: Coding the Arduino Uno for Measurement Readout
The Arduino represents the core part of the device as all the functionality of the thermometer/project is determined and controlled by it. The programming for the Arduino was done by leveraging some of the open source Adafruit code on GitHub. This code was modified to suit the specific needs of our project.
The Adafruit code accomplished several things: First, it establishes the slave/master relationship needed for I2C communication. Second, it creates an “mlx” class that allows us to easily access the slave object (in this case, the MLX90614 Infrared Thermometer). Finally, it comes with a library that allows us program functions necessary for our project. To use the Adafruit code library, download it from GitHub. A zip file will be downloaded from the Adafruit GitHub repository. Transfer this .zip folder into your Arduino library by doing the following:
1. Open Windows explorer (or finder if you are using a Mac) 2. Locate the Arduino application folder in your C: drive (under Program files) 3. In the Arduino folder, locate the Libraries folder 4. Paste the .zip file into the Libraries folder Next, open up your Arduino IDE and access the example code associated with this library by going to File -> Examples -> Libraries -> Adafruit -> MLX90614 The Adafruit code contains two libraries: Wire.h and AdafruitMLX90614.h. The first library allows for I2C communication while the second allows us establish the MLX90614 as an object. Connect your Arduino to your circuit and upload the Adafruit library to your board to see what the code produces. The code should display temperature readings via the Serial monitor. If you think the results are inaccurate, go into the .cpp file associated with the Adafruit library. In this document you should see the readTemp() method. This function allows us to calibrate the output associated with the temperature reading. You can modify this code as needed to ensure appropriate output. Adding a delay (about 1s) to the output of the Arduino is highly recommended. This allows the data to be output at a rate that is usable. That’s it! You now have a working thermometer!
Step 5: Step 5: Adding Detachable Components (LCD Screen, SD Card)
In order to readout your temperature readings in real-time without using a computer, an LCD screen can be used. With this screen, you can see the temperature readout of your device at any time throughout the day.
To save the readings of your IR thermometer, you can use a microSD card in collaboration with a microSD shield. With these components, you can later read out the temperature measurements of your device, and monitor the changes in temperature over the course of a day, a week, or longer.
To incorporate the LCD screen and microSD, the components can be integrated with the Arduino. To do this, first connect the LCD screen to the micro SD shield via the normal-orientation pin holes. Then, connect the microSD shield, with SD card inserted, to the Arduino Uno. In this way both the SD shield and the LCD screen will receive input from the Arduino.
Step 6: Step 6: Creating a Wearable Casing
At this point we have a working circuit, an Arduino Uno attached to an LCD screen and microSD shield, and working code. We are finally ready to make the device wearable.
There are a variety of ways in which the device can be made wearable. One method is to use over-ear headphones, and to attach the tip of the IR thermometer inside the ear. The method used here involved surrounding the IR thermometer in a putty casing, and placing this casing into the ear. Further, a casing was developed for the wiring connecting the IR thermometer from the ear to the PCB/Arduino/LCD/SD Shield set-up. This casing used was black electrical tape, tightly wrapped around the electrical wires attaching the IR thermometer to the Arduino. This casing prevented the wiring of the device from being interfered with. Finally, a clip was used to attach the Arduino and associated components to an article of clothing. Thus, the device could be attached at either the hip, the shirt pocket, or anywhere seen fit. In our design we played our Arduino and associated components inside a fanny pack, for a fashionable and effective mobile IR thermometer device.