以往控制LCD1602模組需要透過Data line與Control line等多條線驅動導致占用多個I/O,而LCM1602是於LCD模組增加驅動IC,也就是在原本控制系統與被控制的硬體之間增加轉換器,而這轉換器的介面為I2C,因此只需要4條線就能控制LCD1602模組,減少驅動控制與I/O的占用。LCD

 

[硬體連接圖]

 

[說明]

RPLCD 支援I2C LCD項目

 

檢查LCM1602的I2C Device address

輸入指令: i2cdetect -y 1

確認Address為0x27

若有多組LCM可透過LCM1602後方的A0,A1,A2進行設置

 

出現錯誤訊息"Remote I/O error" 代表無法與硬體進行連接

 

[程式碼]

import sys
import time
from RPLCD.i2c import CharLCD
lcd = CharLCD('PCF8574', address=0x27, port=1, backlight_enabled=True)
try:
    print('按下 Ctrl-C 可停止程式')
    lcd.clear()
    while True:
        lcd.cursor_pos = (0, 0)
        lcd.write_string("Date: {}".format(time.strftime("%Y/%m/%d")))
        lcd.cursor_pos = (1, 0)
        lcd.write_string("Time: {}".format(time.strftime("%H:%M:%S")))
        time.sleep(1)
except KeyboardInterrupt:
    print('關閉程式')
finally:
    lcd.clear()

----------------------------------------------------

硬體版本 : Raspberry Pi 3 Model B+

LCM1602(LCD1602-A + IC2模組)

python運行版本 : Python 3.5.3

pip3套件:  smbus2、RPLCD

---------------------------------------------------

 

資料參考

smbus2

RPLCD

文章標籤
全站熱搜
創作者介紹
創作者 門外漢 的頭像
門外漢

門外漢的筆記

門外漢 發表在 痞客邦 留言(0) 人氣(1,836)