#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <WiFi.h>
#include <time.h>
#define CREEN_WIDTH 128
#define CREEN_HEIGHT 64
Adafruit_SSD1306 display(CREEN_WIDTH, CREEN_HEIGHT, &Wire, -1);
const char* ssid = "iPhone的P要大寫";
const char* password ="11223344";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec =28800;
const int daylightOffset_sec= 0;
bool OLEDStatus = true;
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC,0x3c)) {
Serial.println(F("SSD1306 allocation falled"));
OLEDStatus = false;
}
Serial.printf("嘗試連接 %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(5000);
Serial.print("連到了\n");
}
Serial.println("已連接");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("時間取回失敗");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
if(OLEDStatus==true) {
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(4,0);
display.setTextColor(WHITE,BLACK);
display.println(&timeinfo, "%F");
display.setCursor(24,16);
display.println(&timeinfo, "%A");
display.setCursor(16,48);
display.println(&timeinfo, "%T");
display.display();
}
delay(1000);
}