RTC介紹

ESP32的資料手冊中系統方塊圖標示著大大塊的RTC,這塊RTC的英文全名為Real-time Clock,中文翻譯成硬體時鐘,顧名思義就是用硬體做成的時鐘,不須寫程式,只要插電就能完成計時功能。

取自ESP32 Datasheet
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

取自ESP32 Datasheet https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

參考資料Real-time Clock (RTC)詳細說明 http://wiki.csie.ncku.edu.tw/embedded/RTC

RTC運作

Untitled

使用積木

Untitled

Untitled

microBlock積木程式

設定RTC日期及時間 設定OLED

Untitled

在OLED顯示日期及時間

Untitled

Micropython程式

from machine import RTC
import OLED
from time import sleep

#設定RTC的日期及時間
RTC().datetime((2022, 12,27, 0, 20, 0, 0,  0))
#OLED設定
oled = OLED.SSD1306_I2C(128, 64)
oled.rotate_s(1)

#無窮輝圈
while True:
	#清除OLED畫面
  oled.fill(0)
	#設定顯示日期
  oled.text((''.join([str(x) for x in [RTC().datetime()[0], '-', RTC().datetime()[1], '-', RTC().datetime()[2]]])), 0, 0)
	#設定顯示時間
  oled.text((''.join([str(x2) for x2 in [RTC().datetime()[4], ':', RTC().datetime()[5], ':', RTC().datetime()[6]]])), 0, 16)
  #延遲1秒
	sleep(1)
	#OLED顯示
  oled.show()

程式執行結果

使用EZ Start Kit+