First thanks for any help. I have looked at the examples but they do not really work for me. I have tried to set a timer but it appears not to have been set up properly.
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Follow us: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
Output any data on LCD widget!
App project setup:
LCD widget, switch to ADVANCED mode, select pin V1
*************************************************************/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define TRIGGERPIN D1
#define ECHOPIN D2
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "c48e77b790e64b05adf1ee77fb4dbb40";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";
WidgetLCD lcd(V1);
BlynkTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, millis() / 3000); //was 1000
}
void setup()
{
// Debug console
Serial.begin(9600);
pinMode(TRIGGERPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
lcd.clear(); //Use it to clear the LCD Widget
lcd.print(0, 0, "Distance in cm"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
// Please use timed events when LCD printintg in void loop to avoid sending too many commands
// It will cause a FLOOD Error, and connection will be dropped
timer.setInterval(5000L, myTimerEvent);
}
void loop()
{
void mytimerEvent() ;{
lcd.print(0, 0, "Sump depth in cm"); // use: (position X: 0-15, position Y: 0-1, "Message you want to print")
long duration, distance;
digitalWrite(TRIGGERPIN, LOW);
delayMicroseconds(6);
digitalWrite(TRIGGERPIN, HIGH);
delayMicroseconds(14);
digitalWrite(TRIGGERPIN, LOW);
duration = pulseIn(ECHOPIN, HIGH);
distance = 68-(duration/2) / 29.1;
Serial.print(distance);
Serial.println("Cm");
lcd.print(7, 1, distance);
Blynk.run();
}
timer.run(); // Initiates BlynkTimer
}
1. Search forum for similar topics
2. Check http://docs.blynk.cc and http://help.blynk.cc/
3. Add details :
⢠Hardware model + communication type. For example: Arduino UNO with Ethernet Shield
⢠Smartphone OS (iOS or Android) + version
⢠Blynk server or local server
⢠Blynk Library version
⢠Add your sketch code. â**Code should be formatted as example below.**
Simply paste your code between ``` If you don't format your code, your topic can be deleted by moderators.
```cpp
void loop()
@sladecolin Am a newbie myself to both c and blynk.
Youâve declared mytimerEvent() in loop(). Why? Best to keep loop() simple. Just have blynk.run(); timer.run(); in loop(). Handle everything else outside either in setup or defined routines that are invoked by timer in the setup().
Move the set of statements that print to lcd as a call say write_sump_depth() {âŚ} . Setup this routine to be called by the timer e.g timer.setInterval(1000L, write_sump_depth); in setup().
As @Costas and @Gunner keep saying, keep the loop simple and to the bare minimum.
And in those same Blynk doc files there is a link to a simple example⌠(also found in the Sketch Builder under Push Data)
In you sketch, you assign/declare the timerâŚ
BlynkTimer timer;
In your setup() you assign one or more timersâŚ
timer.setInterval(1000L, myTimerEvent);
And each timer can call a function or âloop()â when the timer indicatesâŚ
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, millis() / 1000);
}
Thanks
for now quite happy to watch the time fly by. Added 2nd timer and it works, here is code for future users.
/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Follow us: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
This example shows how value can be pushed from Arduino to
the Blynk App.
NOTE:
BlynkTimer provides SimpleTimer functionality:
http://playground.arduino.cc/Code/SimpleTimer
App project setup:
Value Display widget attached to Virtual Pin V5
*************************************************************/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "c22bf1d27d074a289c633996618f3239";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";
BlynkTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V5, millis() / 1000);
}
void myTimerEvent2()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V6, millis() / 1000);
}
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
// Setup a function to be called every second
timer.setInterval(5000L, myTimerEvent);
timer.setInterval(1000L, myTimerEvent2);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
@Dharmendra_Vishwakar this is a two year old topic and @sladecolin hasnât been seen on the forum since 28th February last year.
even if is was a current topic, simply saying
isnât very helpful. Iâs a bit like posting on an automotive forum and saying âmy car wonât startâ.
If you share information about exactly what hardware you are trying to use, what steps youâve taken, what results you get when you compile and upload the code and what you see in the serial monitor then forum members may be able to assist.