This article describes a temperature monitoring system on an Android smartphone. Temperature is sensed by a temperature sensor installed in the circuit and is sent over Bluetooth to the smartphone. An Android application is used in the smartphone to display temperature data. The system provides easy monitoring of process data on a smartphone.
You can connect the smartphone wirelessly with the system and monitor the process variable, when desired. The system can easily be customised to monitor other process variables also. Authors’ prototype of the transmitter side is shown in Fig. 1. The receiver side consists of the smartphone. A screenshot of the Android app is shown in Fig. 2. Block diagram of the project is shown in Fig. 3.
Circuit and working for Temperature Monitoring System
The circuit diagram of the temperature monitoring system on a smartphone is shown in Fig. 4. Components used in this project are given below.
Android smartphone
Install the temperature monitoring app on Android smartphone. The app (temperaturemonitoring.apk) used here has been built using MIT App Inventor. When the app is running on the smartphone, data sent by HC-05 Bluetooth module is received and displayed on the app.
Arduino Uno
Arduino Uno is an AVR ATmega328P microcontroller (MCU)-based development board with six analogue input pins and 14 digital I/O pins. The MCU has 32kB ISP flash memory, 2kB RAM and 1kB EEPROM. The board provides the capability of serial communication via UART, SPI and I2C. The MCU can operate at a clock frequency of 16MHz.
On the transmitter side, interface LM35 temperature sensor with Arduino Uno.
HC-05 Bluetooth module. HC-05 module is an easy-to-use Bluetooth Serial Port Protocol (SPP) module, designed for transparent wireless serial connection setup. Serial port Bluetooth module is a fully-qualified Bluetooth V2.0+EDR (enhanced data rate) 3Mbps modulation with complete 2.4GHz radio transceiver and baseband. It uses CSR Bluecore 04-external single-chip Bluetooth system with CMOS technology and adaptive frequency hopping feature. It can auto-connect to the last device on power by default. The default auto-pairing password is 1234.
LM35 temperature sensor
LM35 series are precision integrated circuit (IC) temperature sensors, whose output voltages are linearly proportional to Celsius (Centigrade) temperature. LM35, thus, has an advantage over linear temperature sensors calibrated in ° Kelvin You are not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling.
LM35 does not require any external calibration or trimming to provide typical accuracies of ±1⁄4°C at room temperature and ±3⁄4°C over a full -55 to +150°C temperature range. Scale factor is 10mV/°C. Vout pin of LM35 temperature sensor is connected to analogue input pin A0 of Arduino Uno on the transmitter side.
On the transmitter side, LM35 temperature sensor is used to sense temperature. Arduino senses this voltage and the program (Temp.ino) running in the MCU calculates the equivalent temperature. Temperature value is sent to HC-05 Bluetooth module via serial communication.
As shown in Fig. 4, RX and TX pins of Bluetooth module are connected to TX and RX pins of Arduino Uno, respectively. HC-05 Bluetooth module sends temperature data wirelessly to the smartphone via Bluetooth. Android app receives this data and displays it. To connect Bluetooth module with the smartphone, these two must be paired.
Software
Arduino IDE software is used to program Arduino Uno. The steps to program Arduino Uno are given below.
1. Open Arduino IDE software.
2. Select proper COM port and board from Tools menu in the IDE.
3. Compile and upload Temp.ino source code to the board.
Download Source Folder
Construction and testing
Assemble the circuit as per the circuit diagram. Testing of the circuit is simple. Download and install .apk file on your smartphone. After successful installation, turn on Bluetooth on your smartphone. Power on transmitter side, and pair Bluetooth module with Android smartphone. Default passkey for pairing is 1234.
After successful pairing, open the installed application on the smartphone and click on Bluetooth logo. The paired devices list will appear. Select the HC-05 device from the list to connect the smartphone with HC-05 Bluetooth module.
After successful connection, ‘connected’ message will be displayed on the main screen of the application. Android app will start to display the data received from the transmitter side. A screenshot of the detected temperature observed on the smartphone is shown in Fig. 5.
Shibendu Mahata is M.Tech (gold medallist) in instrumentation and electronics engineering from Jadavpur University. Currently, he is pursuing PhD from NIT, Durgapur. He has a keen interest in MCU-based real-time embedded signal processing and process control systems
Saikat Patra is passionate about electronics and MCU-based embedded system applications
i had done the same but my device is showing fluctuations in temperature with 5 degree celcius
how can i monitor the temperature reading to from HC-05 to my laptop??
what should i do?
Here’s the reply received from Shibendu Mahata : The query is a good suggestion. I will implement it in a future project. Here’s how it can be done: The data may be sent from the smartphone to the PC via bluetooth of the smartphone. The receiver side also should have a bluetooth with an Arduino (which reads the data) and displays the received data on the serial monitor of Arduino.
I AM NOT ABLE TO OPEN THE SOURCE CODE GIVEN HERE!! CAN YOU SEND ME THE SOURCE CODE!!!
ALSO WHICH APP DO I NEED TO DOWNLOAD FOR THIS ON MY PHONE??
Dear Sir,
After completion of this (Temp. in smartphone) project,I am getting the result in Serial Monitor/Plotter and the
Tx LED on Arduino Uno board is blinking. But status LED in HC-05 is off. When I am using external 9V power supply Tx LED on Arduino Board is off, as well as the status LED in HC-05 module, and smartphone app(MIT) showing “Not Connected”. If possible show me the way to sort out.
Thanks.
The author Shibendu Mahata replies: Please follow the following steps for troubleshooting:
1. Disconnect the Bluetooth module from the Arduino board and try to connect it with your smartphone and check its working.
2. Do not use Serial plotter and Bluetooth module at the same time.
3. While using the 9V power supply/battery please use the 5V output of Arduino board to power the Bluetooth module and connect the common ground pin of power supply/battery, Arduino board and Bluetooth module.
Dear Sir,
Previously what I wrote, managed to solve. Most probably my jumper wires caused problem. Now the project is running successfully. Except the readings getting in the smart phone fluctuating randomly. I measure the room temperature with a room thermometer and as well as with my DMM in Centigrade mode at the LM35 sensor. Both are giving nearly same result which is far from the readinds in smartphone(getting 1 in 10 ). Could you help me to sort yhis out?
Thanking you. Your’s faithfully
Soubhik