iBuilding
  • 智慧型建築環境資訊技術應用
  • MicroPython
    • 開始執行Python
    • 使用內建函數
  • NodeMCU
    • NodeMCU與MicroPython
    • LED控制實習
    • 點陣式LED控制
    • NodeMCU與感測器
    • OLED顯示器實習
    • NodeMCU與馬達控制
    • MPU6050三軸陀螺儀及三軸加速計感測模組
    • NodeMCU與WiFi
    • 計時器與感測資料的定期量測
    • 把資料傳送到ThingSpeak.com
    • MQTT實務
    • 把資料傳送給LINE
    • 感測模組的製作
    • 使用Python程式即時繪製數據圖檔
Powered by GitBook
On this page
  1. NodeMCU

OLED顯示器實習

每一次NodeMCU輸出的時候都要透過電腦螢幕實在是不方便,在這一個單元中,我們把NodeMCU接上自己的小小的顯示器,透過它來顯示NodeMCU所取得的資訊,十分方便喔。

PreviousNodeMCU與感測器NextNodeMCU與馬達控制

Last updated 6 years ago

這次我們用的是底下這顆0.96吋的迷你LCD,它的型號是SSD1306:

要連接使用這個LCD需要4條線,在上方可以看到,分別是VCC、GND、SCL、以及SDA,如下所示:

它的背面即是這4個針腳,可以直接拿來連接杜邦線,或是插在麵包板上:

它的4支接腳中,不用說,VCC和GND分別是接到正負電源,但是另外兩支腳SCL以及SDA則可以自由地選擇要接到哪一個接腳,到時候程式中在建立物件時只要確實設定好就可以了。在這個例子中,我們把SCL接到D1(也就是GPIO5),然後把SDA接到D2(也就GPIO4)。接線之後的照片如下所示:

在上面的例子中,我們也順便把亮度感測器和溫濕度感測器也連接上去。連接完畢之後,就可以開始編寫程式了。

ssd1306的解析度是128x64,在MicroPython中已有內建的模組可以直接使用。以下是最基本的顯示訊息程式:

from machine import I2C, Pin
import ssd1306
i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)

oled.fill(0)
oled.text("Hello world!", 0, 0)
oled.show()

底下的程式碼是和溫濕度感測器一起工作的例子:

import dht, time
from machine import I2C, Pin
import ssd1306
i2c = I2C(scl=Pin(5), sda=Pin(4), freq=100000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
d = dht.DHT11(Pin(0))

while True:
	d.measure()
	oled.fill(0)
	oled.text("{},{}%".format(d.temperature(), d.humidity()), 0, 0)
	oled.show()
	time.sleep(0.5)