實體圖


電路圖


python 使用 LCD 程式庫模組時,第一次要先安裝程式庫,步驟如下,若非第一次則跳到步驟四。

步驟一、
在 windows 畫面左上方草莓點開主功能表,選擇 Accessories 的 Terminal。




步驟二、
在 Terminal 介面鍵入 git clone https://github.com/the-raspberry-pi-guy/lcd
pi@raspberrypi:~ $ git clone https://github.com/the-raspberry-pi-guy/lcd







步驟三、
鍵入 ls ,觀察是否有 lcd 這個子目錄
沒有的話就是安裝未成功。找尋安裝失敗原因,直到成功為止。
有 lcd 子目錄時,鍵入 cd lcd (進入 lcd 資料夾)
再鍵入 ls ,觀察是否有 install.sh 這個檔案
沒有的話無法安裝,必須找尋安裝失敗原因,直到成功為止。
有的話,鍵入 sudo sh install.sh
安裝成功後必須重新開機。
pi@raspberrypi:~ $ ls
Desktop     Documents     Downloads     lcd     Mail     Music     Pictures     Public     Templates
pi@raspberrypi:~ $ cd lcd
pi@raspberrypi:~/lcd $ ls
configsdemo_forex.pydemo_clock_and_IP.pydemo_lcd_extended_strings.py
imgsdemo_clock.pydemo_netmonit.pydemo_lcd_custom_characters.py
driversdemo_lcd.pydemo_scrolling_text.pydemo_lcd_process_bar.py
setup.shdemo_lcd.pydemo_lcd_backlight.pydemo_tiny_dashboard.py
install.shREADME.mdCONTRIBUTTING.md 
pi@raspberrypi:~/lcd $ sudo sh install.sh





步驟四、
重新開機後再進入 lcd 資料夾內,先 ls 觀察資料夾內檔案,應該會有一個 demo_lcd.py
並執行 python demo_lcd.py
如果資料夾沒有 demo_lcd.py 可能要再重裝一次,要不就自行鍵入測試程式。
pi@raspberrypi:~$ cd lcd
pi@raspberrypi:~/lcd $ ls
configsdemo_forex.pydemo_clock_and_IP.pydemo_lcd_extended_strings.py
imgsdemo_clock.pydemo_netmonit.pydemo_lcd_custom_characters.py
driversdemo_lcd.pydemo_scrolling_text.pydemo_lcd_process_bar.py
setup.shdemo_lcd.pydemo_lcd_backlight.pydemo_tiny_dashboard.py
install.shREADME.mdCONTRIBUTTING.md 
pi@raspberrypi:~/lcd $ python demo_lcd.py
Writing to display






如果要自行編寫程式可以使用文字編輯器 Vi 或 nano 開啟
pi@raspberrypi:~$ cd lcd
pi@raspberrypi:~/lcd $ nano lcdTest.py






或使用 python IDE (例如 Thonny 或 spyder(需自行下載安裝))。 並鍵入下列程式:
import lcddriver #lcd 程式庫
import time #時間管理程式庫
display = lcddriver.lcd() #宣告 lcd 顯示物件
try: #嘗試下列程式,若有錯誤則離開。
     while True: #一個無窮迴圈,除非按下 Ctrl-C 中斷應用程式。
          print("Writing to display") #在終端機顯示Writing to display (意思是資料傳入 lcd)
          display.lcd_display_string("Greetings Human!", 1) #lcd 在第 1 列顯示 Greetings Human!
          display.lcd_display_string("Demo Pi Guy code", 2) #lcd 在第 2 列顯示 Demo Pi Guy code
          time.sleep(2) #休息 2 秒
          display.lcd_display_string("I am a display!", 1) #lcd 在第 1 列顯示 I am a display!
          time.sleep(2) #休息 2 秒
          display.lcd_clear() #lcd 螢幕清除
          time.sleep(2) #休息 2 秒
except KeyboardInterrupt: #如果按下 Ctrl-C 中斷程式,則跳到下面執行
     print("Cleaning up!") #在終端機顯示 Cleaning up!
     display.lcd_clear() #lcd 螢幕清除



如果畫面不是如,可能出現 Remote I/O error 的話,那可能 lcd i2c 位址錯誤,
就要開啟 lcddriver.py 修改程式。
(註:lcddriver.py 有可能隱藏或權限無法修改)
一般 16x2 的位址是 0x27,因此程式中找到 ADDRESS 並修改如下。
ADDRESS = 0x27
若程式原來就是 ADDRESS = 0x27,則要看一下你手中的 lcd 資料(上網 google lcd 編號),
並找到 ADDRESS 的位址在哪裡,自行修正存檔即可。

在執行 sudo sh install.sh 時, 系統可能出現訊息 Permission denied
則可能檔案屬性為唯讀,可以在打開權限,指令如下:
pi@raspberrypi:~ $ sudo chmod -R 777 install.sh








作業
做個 LCD 跑馬燈,文字為 0123456789ABCDEFGH 循環(中間間隔 2 個空白),每隔 0.5 秒換一幕。