อยากถามว่าตั้งเวลา เป็นของกรุงเทพ GTM+7 แล้วทำไมเวลาชั่วโมงถึงไม่ตรงครับ
ต้องแก้ตรงไหนบ้างครับ ขอบคุณครับ
ลอง run code ชุดนี้ดูครับ
//------------------------------ ระบบเวลาและการเชื่อมต่อ Web Server ของNTP Server -----------------------------------------//
#include <time.h>
int timezone = 7 * 3600; //ตั้งค่า TimeZone ตามเวลาประเทศไทย
int dst = 0; //กำหนดค่า Date Swing Time
String now_time;
String dateTime;
//--- ใช้ตัวแปรชุดนี้กับทุก Task
int Day;
int Month;
int Year;
int THour;
int Tmin;
int Tsec;
int Day_name;//ตัวเลขระบุวัน //จ.=1 อ.=2 พ.=3 พฤ.=4 ศ.=5 ส.=6 อา.=0
//--------------------------------------------------------------------------------------------------------------------------
void setup() {
//Serial.println("เข้า Loop NTP");
configTime(timezone, dst, "1.th.pool.ntp.org", "0.asia.pool.ntp.org", "3.asia.pool.ntp.org"); //แสดงเวลาปัจจุบัน ดึงจากServer
//Serial.println("\nWaiting for time");
while (!time(nullptr)) {
Serial.println("");
delay(1000);
}
}
void loop() {
//------สร้างตัวแปร รับค่า ระบบเวลาจาก NTP--------------------------------------------------------------
time_t now = time(nullptr);
struct tm* p_tm = localtime(&now);
now_time = "";
now_time = now_time + p_tm->tm_hour; // hour
now_time = now_time + ":"; // hour:
now_time = now_time + p_tm->tm_min; // hour:min
now_time = now_time + ":"; // hour:min:
now_time = now_time + p_tm->tm_sec; // hour:min:sec
Serial.println(now_time); // ส่งข้อความออกทาง Serial Monitor พร้อมขึ้นบรรทัดใหม่
String now_day = "";
now_day = now_day + p_tm->tm_mday; // year-mon-day
now_day = now_day + "/"; // year-mon-
now_day = now_day + (p_tm->tm_mon + 1); // year-mon
now_day = now_day + "/"; // year-
now_day = now_day + (p_tm->tm_year + 1900 + 543); // year
Serial.println(now_day); // ส่งข้อความออกทาง Serial Monitor พร้อมขึ้นบรรทัดใหม่
dateTime = now_day + " "; // day-mon-year
//---------------------------------------------------------------------------------------------------------
Day = p_tm->tm_mday;
Month = (p_tm->tm_mon + 1);
Year = (p_tm->tm_year + 1900 + 543);
Serial.println(Year);
THour = p_tm->tm_hour;
Tmin = p_tm->tm_min;
Tsec = p_tm->tm_sec;
Day_name = (p_tm->tm_wday);//จ.=1 อ.=2 พ.=3 พฤ.=4 ศ.=5 ส.=6 อา.=0
Serial.print("day_of_the_week = ");
Serial.println(Day_name);
//---------------------------------------------------------------------------------------------------------
}