iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0

今日目標
過去兩週我們都是把數據印在電腦的Serial Monitor上,但一個獨立運作的IoT裝置通常需要一個屬於自己的小螢幕。
今天我們要學習使用最經典的0.96吋SSD1306 OLED顯示器,透過I2C通訊協定,在螢幕上顯示文字與基本圖像。

程式碼
import time
from machine import Pin, I2C
import ssd1306

i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=400000)

oled = ssd1306.SSD1306_I2C(128, 64, i2c)

print("=== SSD1306 OLED顯示系統啟動 ===")

oled.fill(0)

oled.text("Wokwi + MicroPython", 0, 0)
oled.text("30-Day IoT Series", 0, 12)

oled.fill_rect(0, 26, 128, 2, 1)

oled.text("Day 15: OLED", 0, 36)
oled.text("Status: ONLINE", 0, 50)

oled.show()

count=0
while True:
count+=1
oled.fill_rect(80, 50, 48, 12, 0)
if count%2==0:
oled.text("ON *", 80, 50)
else:
oled.text("ON ", 80, 50)
oled.show()
time.sleep(0.5)

心得
今天掌握了I2C通訊與ssd1306畫布操作後,我們就能拋棄電腦對Serial Monitor的依賴,打造出真正獨立運作的硬體產品。使用OLED要特別注意,所有繪圖語法(text(), fill_rect())只是修改記憶體中的畫面,最後必須呼叫oled.show()才能真正將畫面顯示在螢幕上。


上一篇
溫濕度過高時觸發蜂鳴器警報
下一篇
在 OLED 上顯示即時感測器數值
系列文
無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言