Arduino 執行時間實習

學習如何學習!

OLED

設備與材料

個人電腦 × 1
arduino Uno × 1
OLED 128*64 × 1
連接線 若干

實體接線圖

參考程式

/*
 *  處理 Arduino 執行時間
 *  每秒上傳1次,不使用 delay 的方式
 *  而是使用判斷時間變化的方式來決定要不要上傳
 */
 
unsigned long runTime;
byte s;       //秒
byte s_=0;    //上傳時的秒數
byte m;       //分
byte h;       //時

void setup(void){
  //開啟串例傳輸
  Serial.begin(9600);
}

void loop(void){
    runTime = millis()/1000;  //目前執行的總秒數
    s=runTime%60;     //秒
    m=runTime/60%60;  //分
    h=runTime/3600%24; //時
    
    //秒數不同時才需要上傳
    if(s!=s_){
    
      Serial.print(h);
      Serial.print(":");
      Serial.print(m);
      Serial.print(":");
      //小於10時前面多印0
      if(s>9){
        Serial.println(s);
      }else{
        Serial.print("0");
        Serial.println(s);  
      }
      
      s_=s; //更新上次傳送秒數
    }
    
  
}

功能要求

範例程式是將執行時間傳回電腦,請結合 OLED 實習,將執行時間顯示在 OLED 上,秒數小於10時,會多加0再顯示,請同樣處理分與時。請選擇 17、18 或 21 pixel 字型,將時間顯示在 OLED 中間。

入門
知識
語法
流程
函式
實習