image

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

 

[硬體連接圖]

image

 

[說明]

RPLCD 支援I2C LCD項目

image

 

檢查LCM1602的I2C Device address

輸入指令: i2cdetect -y 1

確認Address為0x27

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

image

 

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

image

 

[程式碼]

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

arrow
arrow
    文章標籤
    LCD1602 I2C RASPBERRY PI
    全站熱搜

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