Blynk Arduino Multiple DS18B20 Thermometer Display on IOS or Android

Published

Introduction: Blynk Arduino Multiple DS18B20 Thermometer Display on IOS or Android

About: I love keeping my mind busy with useful things. Have been involved in Electronics since school. Built my first computer from a kit in the early 80s. Tangerine Computers Microtan 65.

This project uses the Blynk app on an iOS or Android device to display the values of several DS18B20 sensors.

Step 1: Display Several DS18B20 Sensors Using Blynk on IOS or Android Device

This is a follow up project from my First Project, that was made to display one sensor. I had a request to adapt the code to allow for more than one sensor to be displayed. This is it.

Step 2: The Code

There are two bits of code here. You will need the one to read your sensor numbers first and make a note of them. Then you need to fill in those numbers in the second bit of code to identify the sensors. The code just processes all the sensors it can find on the bus, till it finds no more and then starts from the first sensor again. The code sends out the data on the virtual pins V5 to V11. You must change this to suit your needs. If you use less than 7 sensors, delete the extra parts of code associated with them. If you you more you will need to add on more.

Step 3: The Wiring.

The sensor data is sent to pin 7. You should have one 4k7 resistor between the data and 5 V pin. For more details on how to wire up the DS18B20 sensor, see my First Project.

Step 4: This Is Work in Progress

The Arduino will send out the data on V5 - V11(for 7 sensors). In the Blynk app configure your sensor displays to use those Virtual pins.

I will still refine this project when I have some more time. Feel free to ask, if you have problems with this Instructable.

Thank you.

4 People Made This Project!

Recommendations

  • Woodworking Contest

    Woodworking Contest
  • Make it Move Contest

    Make it Move Contest
  • Casting Contest

    Casting Contest
user

We have a be nice policy.
Please be positive and constructive.

Tips

2 Questions

I figured out what to write instead of question marks. But something is wrong with code. All temperatures the same in one line and blynk show same values in all widgets.?

temp.png

The problem with the sketch is that virtualwrite is in the void loop that if you read up on Blynk virtualwrite it states that putting it in void loop won't work.

This program works fine and can be used as a base starting point for your project

I fine that adding lines of programme then compiling it then add more lines and compiling it allows you to correct errors as you programe

Hope this is of some help

Peter

#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h> // This part is for Ethernet stuff

#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
char auth[] = "put auth code here before you start";
/* WiFi credentials */

/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;
/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
int temp_0;
int temp_1;

void setup()
{
Serial.begin(9600);
Blynk.begin(auth);
DS18B20.begin();
timer.setInterval(1000L, getSendData);
Serial.println(" ");
Serial.println("Testing Dual Sensor data");
}

void loop()
{
timer.run(); // Initiates SimpleTimer
Blynk.run();







} // End of Void Loop
/***************************************************
* Send Sensor data to Blynk
**************************************************/
void getSendData()
{
DS18B20.requestTemperatures();
temp_0 = DS18B20.getTempCByIndex(0); // Sensor 0 will capture Temp in Celcius
temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 will capture Temp in Celcius
Serial.print("Temp_0: ");
Serial.print(temp_0);
Serial.print(" oC . Temp_1: ");
Serial.print(temp_1);
Serial.println(" oF");
Blynk.virtualWrite(5, temp_0); //virtual pin V5 indoor temp
Blynk.virtualWrite(6, temp_1); //virtual pin V6 outdoor temp

}


Hello, i am trying to make it working, but problem is with ds18b20 sensors addresses. I don't know how to write that address (28 EE C8 F8 1C 16 2 5E) what format to use, because it is impossiblle to compile. One way it works, but blynk shows all temperatures the same. Do you have example with those lines filled? Thanks.

7 Comments

Thanks a lot. Works perfect.

Hi,

I’m irinakim and I’m work in the Wiznet.

Thank you for using our product.

We are collecting so much data using ourproduct.

And I will post the this project on our Web site.( http://wiznetmuseum.com)

Can I post your product on our Web site?

It looks great. Have you gone further ?

1 reply

Hi. No, I have done nothing further with that. It works and does what I wanted it to do.

It looks great. Have you gone further ?

It looks great. Have you gone further ?

Have you gone further ?