| 
 | 
回復 1# x0971422149  
 
我是用3231這一顆(程式碼如下) 
 
那個陣列if else可以刪掉,那個主要是顯示在七段上面的時候,確保字不會往前挪 
 
 
 
 
 
#include <Wire.h>#include <DS3231.h> 
 
 
char Time[7]; 
 
 
int H; 
int M; 
int S; 
 
 
DS3231 clock; 
RTCDateTime dt; 
 
 
void setup() 
{ 
  Serial.begin(9600);  
  clock.begin(); 
  //clock.setDateTime(2015, 11, 19, 22, 03, 0); //調整時間 
} 
 
 
void loop() 
{ 
  dt = clock.getDateTime(); 
  H = dt.hour;    //小時 
  M = dt.minute;  //分鐘 
  S = dt.second;  //秒 
 
 
    if (H<10) { 
        Time[0]='0'; 
        Time[1]='0'+H; 
    } 
    else 
    { 
        Time[0]='0'+H/10; 
        Time[1]='0'+H%10; 
    } 
 
 
    if (M<10) { 
        Time[2]='0'; 
        Time[3]='0'+M; 
    } 
    else 
    { 
        Time[2]='0'+M/10; 
        Time[3]='0'+M%10; 
    } 
 
 
    if (S<10) { 
        Time[4]='0'; 
        Time[5]='0'+S; 
    } 
    else 
    { 
        Time[4]='0'+S/10; 
        Time[5]='0'+S%10; 
    } 
 
 
    Time[6]='\0'; 
 
 
  Serial.println(Time); 
 
 
// Serial.print(H);   Serial.print(":"); 
// Serial.print(M);   Serial.print(":"); 
// Serial.print(S);   Serial.println(""); 
 
 
  delay(1000); 
} 
 
 
 
 
至於你說下午5點啟動東西的話,那就if(H=17 && M=0 && M=0){ 
 
 
 |   
 
 
 
 |