設備與材料
個人電腦 × 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 中間。
入門
知識
語法
流程
函式
實習
Arduino 輸出實習(單燈閃爍)
Arduino 輸出實習(跑馬燈-愚公移山)
Arduino 輸出實習(跑馬燈-for迴圈)
Arduino 數位輸入實習
Arduino 數位輸入實習(INPUT_PULLUP)
Arduino 類比輸入實習
Arduino PWM 實習 (呼吸燈)
Arduino PWM 實習 (光感應調光燈)
Arduino 8×8 LED Matrix MAX7219 實習
Arduino 紅綠燈小綠人 實習
Arduino 計時器 實習
Arduino 音樂盒
Arduino 電子琴(鍵盤掃描)
Arduino DHT11 溫濕度感應器
Arduino OLED 顯示
Arduino 超音波測距模組 HC-SR04
Arduino 執行時間實習
Arduino 電容測試器
Arduino 紅外線接收實習
Arduino 紅外線發射實習 EPSON 投影機控制
ESP-12F 網路智慧開關(MQTT)
ESP-12F 雲端記錄型 K-Type 溫度計(MQTT ThingSpeak)
ESP-12F 手機雲端紅外線控制
ESP-12F 網路電台收音機
ESP-12F 電子鼓