Blynkexamples
Blynkexamples
/*************************************************************
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
// Set incoming value from pin V0 to a variable
int value = param.asInt();
digitalWrite(2,value);
}
void setup()
{ Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// You can also specify server:
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,1,100), 8080);
pinMode(2,OUTPUT);
}
void loop()
{
Blynk.run();
}
Example-2(Analog Read and Write)
/*************************************************************
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "MYTEL-c9gJ";
char pass[] = "m4Xj7Z7P";
// Declaring a global variable for sensor data
int sensorVal, writevalue;;
const byte led_gpio = 2; // the PWM pin the LED is attached to
float Percentage;
void setup()
{ Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// You can also specify server:
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,1,100), 8080);
}
void loop()
{
// Reading sensor from hardware analog pin A0
sensorVal = analogRead(34);
Percentage = (float)sensorVal/4095*100;
writevalue = map(sensorVal,0,4095,0,255);
Blynk.virtualWrite(V1, Percentage);
ledcWrite(0, writevalue);
Blynk.virtualWrite(V0, sensorVal);
// Runs all Blynk stuff
Blynk.run();
// runs BlynkTimer
delay(30);
}
Example-3(Temperature Reading)
/*************************************************************
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
// Set incoming value from pin V0 to a variable
int value = param.asInt();
digitalWrite(2,value);
}
// Declaring a global variable for sensor data
int sensorVal;
float mV;
float Temp;
BlynkTimer timer;
void myTimer()
{
// This function describes what will happen with each timer tick
// e.g. writing sensor value to datastream V5
Blynk.virtualWrite(V3, Temp);
}
void setup()
{ Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
// You can also specify server:
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, IPAddress(192,168,1,100), 8080);
void loop()
{
// Reading sensor from hardware analog pin A0
sensorVal = analogRead(34);
mV=(float)sensorVal*3300/4095;
Temp=mV/10;
// Runs all Blynk stuff
Blynk.run();
// runs BlynkTimer
timer.run();
Arduino TimmerInterrupt
https://deepbluembedded.com/arduino-timer-interrupts/
Example-4(Distance/WaterHeight)
/*************************************************************
/* Fill-in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPL6dVBRi34F"
#define BLYNK_TEMPLATE_NAME "Distance"
#define BLYNK_AUTH_TOKEN "HhBAhUidUgJCVsnHrp7NcTaiv8OaAzSQ"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Preferences.h>
Preferences prefs;
int counter;
int flag=1;
void setup()
{ Serial.begin(115200);
prefs.begin("my-app");
counter = prefs.getInt("counter", 1); // default to 1
counter++;
prefs.putInt("counter", counter);
}
void loop()
{ delay(2000);
while(flag==1)
{Serial.print("Reboot count: ");
Serial.println(counter-1);
flag=0;
}
delay(2000);}
#include <nvs_flash.h>
void setup()
{
nvs_flash_erase(); // erase the NVS partition and...
nvs_flash_init(); // initialize the NVS partition.
while(true);
}
void loop() {}
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Preferences.h>
Preferences pref;
bool toggleState = LOW; //Define integer to remember the toggle state for
led
BlynkTimer timer;
BLYNK_WRITE(VPIN_BUTTON) {
toggleState = param.asInt();
digitalWrite(LED, toggleState);
pref.putBool("LED", toggleState);
}
void getLedState()
{ toggleState = pref.getBool("LED");
digitalWrite(LED, toggleState);
Blynk.virtualWrite(VPIN_BUTTON, toggleState);
delay(200);
}
void setup()
{
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
//Open namespace in read-write mode
pref.begin("LED State", false);
pinMode(LED, OUTPUT);
pinMode(wifiLed, OUTPUT);
pinMode(SwitchPin, INPUT_PULLUP);
//During Starting all Relays should TURN OFF
digitalWrite(LED, toggleState);
digitalWrite(wifiLed, LOW);
timer.setInterval(2000L, checkBlynkStatus); // check if Blynk server is
connected every 2 seconds
delay(1000);
getLedState(); //fetch data from NVS Flash Memory
delay(1000);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates SimpleTimer
manual_control();
}
Example-8(Servomotor)
/*************************************************************
#include <ESP32Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
void loop() {
pos=analogRead(34);
Angle=map(pos,0,4095,0,180);
myservo.write(Angle);
delay(100);
}
Example-9(Servomotor door)
/*************************************************************
#include <ESP32Servo.h>
#include <Preferences.h>
Preferences pref;
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
const int IR = 18;
int Angle, Pos=0;
bool flag;
void door()
{ pref.putBool("Open",HIGH);
for(Angle=Pos; Angle<=90; Angle+=1)
{myservo.write(Angle);
pref.putInt("position",Angle);
delay(35);}
delay(200);
pref.putBool("Open",LOW);
for(Angle=90;Angle>=0;Angle-=1)
{myservo.write(Angle);
delay(35);Pos=Angle;
pref.putInt("position",Angle);
if(digitalRead(IR)==LOW) {delay(100); door();}
}
Pos=0;
pref.putInt("position",0);
}
void InitialState()
{ Pos = pref.getInt("position");
flag = pref.getBool("Open");
if(flag==HIGH)
door();
else
{pref.putBool("Open",LOW);
for(Angle=Pos;Angle>=0;Angle-=1)
{myservo.write(Angle);delay(20);Pos=Angle; pref.putInt("position",Angle);
if(digitalRead(IR)==LOW) {delay(200); door();}}
Pos=0;
pref.putInt("position",0);
}
}
void setup() {
myservo.attach(13); // attaches the servo on pin 13 to the servo object
pinMode(IR, INPUT);
//Open namespace in read-write mode
pref.begin("mydoor",false);
InitialState();
}
void loop() {
if(digitalRead(IR)==LOW) door();
}
void loop() {
if(digitalRead(forward_Switch)==LOW)
forward_flag=1;
if(forward_flag==1 && backward_flag==0)
{digitalWrite(forward,HIGH);digitalWrite(backward,LOW);}
if(digitalRead(backward_Switch)==LOW)
backward_flag=1;
if(backward_flag==1 && forward_flag==0)
{digitalWrite(forward,LOW);digitalWrite(backward,HIGH);}
if(digitalRead(stop_Switch)==HIGH) flag=1;
if(flag==1)
{digitalWrite(forward,LOW);
digitalWrite(backward,LOW);
flag=0;
forward_flag=0;
backward_flag=0;
}}
#include<Preferences.h>
Preferences pref;
int forward_flag=0,backward_flag=0;
const int PIR=18;
const int forward=12;
const int backward=14;
const int LS_1=4;
const int LS_2=5;
int flag=0;
void door()
{ pref.putInt("Open",1);
forward_flag=1;
while(forward_flag==1 )
{digitalWrite(forward,LOW);
ledcWrite(0,4095/4);
if(digitalRead(LS_2)==LOW)
{forward_flag=0;
digitalWrite(forward,LOW);
ledcWrite(0,0);}
}
delay(500);
pref.putInt("Open",2);
backward_flag=1;
while(backward_flag==1)
{digitalWrite(forward,HIGH);
ledcWrite(0,4095*3/4);
if (digitalRead(PIR)==HIGH)
{backward_flag=0;delay(500); door();}
if (digitalRead(LS_1)==LOW)
{backward_flag=0;
digitalWrite(forward,LOW);
ledcWrite(0,0);}
}
pref.putInt("Open",3);
}
void InitialState()
{
flag=pref.getInt("Open");
if(flag==1)
door();
else if (flag==2)
{pref.putInt("Open",2);
backward_flag=1;
while(backward_flag==1)
{digitalWrite(forward,HIGH);
ledcWrite(0,4095*3/4);
if(digitalRead(PIR)==HIGH)
{backward_flag=0;delay(500); door();}
if(digitalRead(LS_1)==LOW)
{backward_flag=0;
digitalWrite(forward,LOW);
ledcWrite(0,0);}
}
pref.putInt("Open",3);
}
else if(flag==3) {}
}
void setup()
{
delay(200);
pinMode(PIR,INPUT);
pinMode(forward,OUTPUT);
ledcAttachPin(backward,0);
ledcSetup(0,5000,12);
ledcWrite(0,0);
pinMode(LS_1,INPUT_PULLUP);
pinMode(LS_2,INPUT_PULLUP);
digitalWrite(forward,LOW);
pref.begin("mydoor,false");
InitialState();
}
void loop()
{
if(digitalRead(PIR)==HIGH)
door();
}
void setup() {
Serial.begin(115200); //Start Serial Monitor to display current read value
on Serial monitor
pinMode(2,OUTPUT);
delay(200);
get_offset();
}
void loop()
{for(int i=0; i<100; i++)
{
float Reading=0.00, Samples=0.00, Average=0.00;
for(int x=0;x<150; x++)
{
Reading=analogRead(34);
Samples+=Reading;
delayMicroseconds(10);
}
Average = Samples/150;
Estimate+=Average;
}
Mean = Estimate/100;
Estimate = 0.00;
Mean = Mean - offset;
mV = map(Mean,0,4095,0,3300);
Current = mV/100;
Serial.print(Current); Serial.println("\t Amp");
}
#include<stdlib.h>
const int sensorIn = 34;
int mVperAmp = 100;
double Voltage = 0;
double VRMS = 0;
double AmpsRMS = 0;
double offset = 0;
void get_offset()
{while(1)
{Voltage = getVPP();
VRMS = (Voltage/2.0) *0.707; //root 2 is 0.707
AmpsRMS = (VRMS/mVperAmp) - offset;
Serial.println(AmpsRMS);Serial.println(offset);Serial.println("***********
**********");
if(abs(AmpsRMS)<0.005) break;
else if(AmpsRMS>0.00) offset = offset + AmpsRMS;
else if(AmpsRMS<0.00) offset = offset - abs(AmpsRMS);
}
}
void setup() {
Serial.begin (115200);
delay(1000);
get_offset();
}
void loop() {
Voltage = getVPP();
VRMS = (Voltage/2.0) *0.707;
AmpsRMS = (VRMS/mVperAmp)-offset;
Serial.print (AmpsRMS);
Serial.println ("\t Amps ");
delay (100);
}
return result;
}