ESP32 iotproject हिंदी में - 2024 | Esp32 Se Banai Real Time Watch ⌚ | 0.96Inch OLED Display

 ESP32 iotproject हिंदी में - 2024 | Esp32 Se Banai Real Time Watch ⌚

0.96Inch OLED Display





#include <Wire.h>                     // For I2C communication
#include <Adafruit_GFX.h>             // For graphics
#include <Adafruit_SSD1306.h>         // For OLED display
#include <WiFi.h>                     // For WiFi
#include <NTPClient.h>                // For NTP Client
#include <WiFiUdp.h>                  // For UDP

// Replace with your network credentials
const char* ssid     = "ssid";
const char* password = "password";

// OLED display dimensions
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// Create an instance of the display
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// NTP Client setup
WiFiUDP udp;
NTPClient timeClient(udp, "pool.ntp.org", 19800); // 19800 seconds offset (5 hours 30 minutes) for IST

void setup() {
  Serial.begin(115200);
 
  // Initialize the OLED display
   if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 initialization failed!"));
    for (;;);
  }
  display.display();
  delay(2000);
  display.clearDisplay();

  // Connect to WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Connected to WiFi");

  // Initialize NTPClient
  timeClient.begin();
  timeClient.setTimeOffset(19800); // IST offset (5 hours 30 minutes)
}

void loop() {
  timeClient.update();

  // Get the current time
  String formattedTime = timeClient.getFormattedTime();

  // Clear the display
  display.clearDisplay();

  // Display the time
  display.setTextSize(1);      
  display.setTextColor(SSD1306_WHITE);  
  display.setCursor(20,0);    
  display.print("Current Time:");
    display.setTextSize(2);  
  display.setCursor(10,25);
  display.print(formattedTime);
 
  display.display();
 
  delay(1000); // Update every second
}

Comments

Popular Posts