#define BLYNK_TEMPLATE_ID "TMPL3x0kNOrU7"
#define BLYNK_TEMPLATE_NAME "IOT7SEG LED"
#define BLYNK_AUTH_TOKEN "TSDqhC0se2NhDMABSYD_OW9_8cedFG6V"
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
unsigned int value = param.asInt();
switch(value)
{
case 0:
Serial.println("Writing No 0 provided by Blynk Cloud...");
displayDigit(0);
break;
case 1:
Serial.println("Writing No 1 provided by Blynk Cloud...");
displayDigit(6);
break;
case 2:
Serial.println("Writing No 2 provided by Blynk Cloud...");
displayDigit(2);
break;
case 3:
Serial.println("Writing No 3 provided by Blynk Cloud...");
displayDigit(3);
break;
case 4:
Serial.println("Writing No 4 provided by Blynk Cloud...");
displayDigit(4);
break;
case 5:
Serial.println("Writing No 5 provided by Blynk Cloud...");
displayDigit(5);
break;
case 6:
Serial.println("Writing No 6 provided by Blynk Cloud...");
displayDigit(6);
break;
case 7:
Serial.println("Writing No 7 provided by Blynk Cloud...");
displayDigit(7);
break;
case 8:
Serial.println("Writing No 8 provided by Blynk Cloud...");
displayDigit(8);
break;
case 9:
Serial.println("Writing No 9 provided by Blynk Cloud...");
displayDigit(9);
break;
}
}
// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V0);
Serial.println("We Are Connected to Blynk");
}
// Define the pins for the buttons
#define SEG_A 23
#define SEG_B 19
#define SEG_C 17
#define SEG_D 5
#define SEG_E 18
#define SEG_F 22
#define SEG_G 21
const int digitA = 23;
const int digitB = 19;
const int digitC = 17;
const int digitD = 5;
const int digitE = 18;
const int digitF = 22;
const int digitG = 21;
//const int digitDP = -1; // No decimal point
int digits[10][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
{1,1,1,1,0,0,1}, // 3
{0,1,1,0,0,1,1}, // 4
{1,0,1,1,0,1,1}, // 5
{1,0,1,1,1,1,1}, // 6
{1,1,1,0,0,0,0}, // 7
{1,1,1,1,1,1,1}, // 8
{1,1,1,1,0,1,1} // 9
};
void setup() {
Serial.begin(115200);
Serial.println("Serial Prints Starts...");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
pinMode(SEG_A, OUTPUT);
pinMode(SEG_B, OUTPUT);
pinMode(SEG_C, OUTPUT);
pinMode(SEG_D, OUTPUT);
pinMode(SEG_E, OUTPUT);
pinMode(SEG_F, OUTPUT);
pinMode(SEG_G, OUTPUT);
// Initialize all segments to off
digitalWrite(SEG_A, LOW);
digitalWrite(SEG_B, LOW);
digitalWrite(SEG_C, LOW);
digitalWrite(SEG_D, LOW);
digitalWrite(SEG_E, LOW);
digitalWrite(SEG_F, LOW);
digitalWrite(SEG_G, LOW);
}
void displayDigit(int num) {
digitalWrite(SEG_A, digits[num][0]);
digitalWrite(SEG_B, digits[num][1]);
digitalWrite(SEG_C, digits[num][2]);
digitalWrite(SEG_D, digits[num][3]);
digitalWrite(SEG_E, digits[num][4]);
digitalWrite(SEG_F, digits[num][5]);
digitalWrite(SEG_G, digits[num][6]);
}
void loop() {
Blynk.run();
/*for (int i = 0; i <= 9; i++) {
displayDigit(i);
delay(1000);
}*/
}