MicroPython on Nucleo-F401RE, 6. I2C Sensor AM2320
一樣先來一張圖! 可以看到OLED顯示了温度和溼度, 而且是大字體! 硬體接線和前一篇貼文一樣, 只是多了一顆AM2320和4條短線。因為AM2320和OLED接線腳位排列順序不同, 只好多用4條短線來連接! 這個OLED接線腳位由左至右如下排列順序: Vcc, GND, SCL, SDA AM2320接腳順序則為: VCC, SDA, GND, SCL 程式部份, 其實都已經有人寫好了。 首先先去取得AM2320的驅動程式, https://github.com/mcauser/micropython-am2320 用之前貼文教的方法, 將取得的am2320.py程式複製到開發板的/flash檔案目錄去。 接著為了顯示大字體, 可以到前面貼文提到的趙英傑先生寫的那本書的網站去取得大字體的程式bigSymbol.py。但因為MicroPython新的firmware有一些小修改, 所以我們也要自己修改一下bigSymbol.py, 不用擔心, 已經改好, 如下: https://github.com/poushen/iot_hand_on/blob/master/lesson_06/am2320.py 同樣, 取得後, 請複製到開發板/flash檔案系統去! 最後就可以寫程式了: import bigSymbol from machine import Pin, I2C from time import sleep import ssd1306, am2320 i2c = I2C(1) oled = ssd1306.SSD1306_I2C(128, 64, i2c) sensor = am2320.AM2320(i2c) dsp = bigSymbol.Symbol(oled) dsp.clear() dsp.temp(0, 18) dsp.humid(0, 38) while True: sensor.measure() # dsp.text('18.50c', 34, 18) # dsp.text('25.00%', 34, 38) dsp.text('{:.2f}c'.format(sensor.temper...