概述
這種新的Adafruit板可輕松使用16x2字符LCD。就像我們在商店中購買的LCD系列一樣,例如我們的經典藍色和白色以及fancyRGB負和RGB正。不幸的是,這些LCD確實需要相當多的數字引腳,其中6個用于控制LCD,然后可能需要另外3個用于控制RGB。背光燈共有9個針腳。這幾乎是Raspberry Pi上所有可用的GPIO!
考慮到這一點,我們希望使人們更輕松地將這些LCD納入他們的項目,因此我們設計了一個Pi板,可讓您控制一個16x2字符LCD,最多3個背光針腳AND 5個鍵盤引腳僅使用Pi上的兩個I2C引腳!最好的部分是您也不會丟失這兩個引腳,因為您可以粘貼基于i2c的傳感器,RTC等,并使它們共享I2C總線
。 i》
警告:具有4個USB端口的新型Raspberry Pi型號B +緊密重疊char LCD板上帶有背光電阻的引線。您需要用電工膠帶覆蓋USB端口和電阻器的背面,以防止它們接觸。有關更多詳細信息和圖片,請參見本指南的組裝頁面。
此板非常適合您想要使用其自己的用戶界面構建獨立項目時使用。 4個方向按鈕和選擇按鈕允許基本控制,而無需連接笨重的計算機。該套件是為任何Raspberry Pi(版本1和版本2)設計的。
如果要同時插入Cobbler或Gertboard ,請檢查我們的堆疊接頭,如果板是與該部件組裝在一起的,則可以在其上安裝IDC電纜。
零件清單
請檢查以確保您的套件隨附以下零件。有時我們會出錯,因此請仔細檢查所有內容并在需要更換時通過電子郵件發送電子郵件保護。
最近我們調整了套件,使按鈕位于右側而不是左側。零件清單是相同的,只是比以前穩定一點
1)電阻器
該套件中總共有3個電阻器。對于PCB上標有紅色和藍色的電阻,它們是1/4W 5%220歐姆電阻(紅色,紅色,棕色,金色)。對于PCB上標有GREEN的電阻器,它是一個1/4W 5%330歐姆電阻器(橙色橙色棕金色)。
2)電位器
有一個10k的微調電位器。這部分將放在標有對比度的地方
3)按鈕 》
共有5 x 6mm的觸覺開關按鈕。這些將在PCB的UP,DOWN,LEFT,RIGHT和SELECT位置中使用。
4)i2c端口擴展器芯片
套件中有這些MCP23017 i2c(16個輸入/輸出)端口擴展器芯片之一。這就是我們只能使用2個R-Pi引腳來運行整個LCD和按鈕的方式。單擊此處獲取有關此芯片的更多信息。
5)公頭針
套件中有36條外排針。這些將用于將LCD連接到PCB。
6)印刷電路板
套件中將有一個PCB,如上所示。
7)Raspberry Pi板式接頭連接器
將有一個用于插入Pi的超高26針母接頭
8)保險杠
上面將顯示一個橡膠保險杠
其他
您還需要將LCD放入屏蔽罩。
您的LCD可能有16針(單色)或18針(RGB),并且可能有兩排連接器或一排。這是正常現象,不會影響顯示
您還可以使用大小相同,沒有RGB背光或完全沒有背光的16x2 LCD。
我們提供負型或正型LCD以及藍色和白色LCD
程序集
《表類=“ build-table”》
對照零件清單檢查套件,以確認您具有所有必需的零件
我們最近調整了套件,使按鈕位于右側而不是左側。零件清單是相同的,只是比以前穩定一點
將印刷電路板放入虎鉗或電路板固定器中,加熱烙鐵并確保準備就緒!
我們將從第一個電阻 GREEN 開始-它上面有橙色,橙色,棕色和金色的帶。此電阻用作綠色背光引腳的背光控制電阻。
將電阻彎曲成一個“釘”,并將其滑入PCB上標有 GREEN 的插槽中。電阻沒有方向,因此您可以以“任一種方式”放置它,并且可以找到它。
彎曲電阻器的“腳”,使其與PCB平齊并翻轉。
這樣,電阻器不會在跌落時掉出
加熱烙鐵并準備就緒后,將電阻的兩根引線焊接在一起。為此,將圓環墊和導線同時加熱2到3秒鐘,然后將焊料的末端浸入加熱的接頭中使其融化。
然后移走焊料并
焊接完成后,我們可以通過修剪電阻的引線來進行清理。這可以防止他們短路。使用對角線或平頭切割器將導線固定在焊點末端的上方。
因為您在第一個方面做得如此出色電阻,我們現在將其余所有電阻同時放置。
兩個220歐姆電阻 RED 和 BLUE -之所以命名,是因為它們是LCD上RGB背光的背光串聯電阻。這些電阻器的顏色為紅色紅色棕色金。
焊接電阻器就像處理電阻一樣第一個。
剪切所有線索。
接下來,我們將放置按鈕。這些按鈕對于將信號發送到Pi很有用(例如,如果您有基本的菜單系統)。我們有一個用于上/下/左/右輸入的四向“方向鍵”和一個叫做“選擇”的向右按鈕。這5個按鈕應該可以使與項目的“交談”變得容易。這些都連接到I2C端口擴展芯片,因此它們在Pi上不需要額外的引腳,我們的庫執行讀取是否被按下的工作。
所有按鈕都是相同的,應該很好地固定到位按下每個按鈕,直至其卡入并平放在PCB上。
我們最近調整了套件,使按鈕位于右側,而不是左側。按鈕在同一位置對齊,但是在右側
翻轉PCB并檢查按鈕的所有支腳都伸出。
焊接每條支腳,注意不要意外“短路”兩個按鈕的腿在一起。方向盤的位置非常接近!
該套件可能帶有兩個電位計-一個大的藍色用于為LCD供電,而一個較小的橙色用于屏蔽套件。您可以扔掉或回收藍色的,這里只使用橙色的!
我們最近調整了套件,使電位計位于中心而不是右側,以相同的方式進行,只是
翻轉PCB并焊接電位計的三個支腳
我們快完成了!現在,我們將放置I2C端口擴展器芯片。仔細檢查其上是否帶有 MCP23017-E/SP 標記。這是一個16針擴展器芯片,使用i2c總線。這意味著您可以使用Pi上的i2c引腳發送命令,并控制16個以上的數字引腳!這些引腳中的5個進入按鈕,6個進入LCD控制,3個用于背光(其余2個未使用)。
與按鈕或電阻不同,芯片的確有方向性,必須插入正確的方式!首先,使用平整的桌子小心地彎曲芯片的腿,使它們平行。然后將其滑入絲網印刷的輪廓中,使芯片末端的凹口位于 right 上。單擊左側的圖像,以確保您正確地找到了它。確定后,將芯片按入位置
我們最近調整了套件,使芯片位于左側,并且具有相同的對齊方式,只是移了
翻轉PCB并焊接端口擴展器的28個引腳。
接下來,我們將附加標題,其中有一個套件中包括標準的“超高”接頭。但是,如果您要將補鞋匠或GertBoard等連接到板上,則可能要選擇我們的堆疊接頭之一,它們很長,因此您可以在頂部插入IDC電纜!
在焊接接頭之前,請從底板上取下保險杠,然后將其固定在下面,以便在插入PCB時將其置于以太網插孔上方。
如圖所示,在左側按鈕位于套件上的按鈕上,將其放在對比電位計的正下方。
在套件上按鈕位于右側的套件上,將其放置在平放的按鈕旁邊(該按鈕不應與任何按鈕支腳重疊)
將2x13接頭連接到您的Pi上,然后將板滑動到頂部,應該完全合適。
現在,我們將焊接板的所有26個引腳-這將發送兩塊板之間的電源和數據,還提供了機械穩定性。您可能需要用膠帶將平板向下壓,以使其平放在Pi上。
焊接在一個引腳上,我們建議右上角,然后檢查印版是否平放。如果沒有,則用一只手加熱關節,同時用另一只手穩定直到正確。
然后焊接其他25個引腳
最后,我們放置LCD。
從套件中的棒上斷開18或16針接頭。
如果您有RGB顯示器,則需要18,對于藍色和白色,則需要16
將插頭插入剩余的插槽中,并使引腳的長端朝上。如果只有16個插針,則將最右邊的兩個焊盤留空
將LCD滑到標題上,以使其完全對準四個孔和絲網的中心。
您的LCD可能有兩排連接器或一排。如果它是一個兩行連接器的LCD,我們不使用底行,請繼續使用該LCD,因為它剛好適合了!
LCD應該緊貼按鈕“ 插入”
仔細翻轉程序集。然后焊接標題的
的16或18針i》 警告:如果您使用的是帶有4個USB端口的新型Raspberry Pi B +型,則需要采取一些額外的步驟,以確保背光電阻導線不會碰到USB端口并短路。有關更多詳細信息,請參見以下步驟。
B +型保護使用新的Raspberry Pi B +型及其額外的USB端口,字符LCD屏蔽的布局會出現一些問題。如下圖所示,三個通孔背光電阻的引線恰好在金屬USB端口之一的上方。不幸的是,這些引線非常接近,并且可能與金屬USB端口短路。
電阻電路中有電流限制,因此,如果短路,則不會損壞Pi,但請確保覆蓋USB端口和電阻引線在幾層電工膠帶中。確保使用平頭切割器將電阻引線盡可能短地切割,并嘗試確保切割的引線或焊料沒有尖銳的邊緣。請參閱下面帶有指向兩個位置的箭頭的照片,應放置電氣膠帶。
請注意,如果您使用的是A或B型Raspberry Pi(即僅具有1個或2個USB端口的Pi),則可以跳過這一步,繼續前進。僅當使用Raspberry Pi B +型,具有4個USB端口的Pi時,才需要添加此磁帶。
就是這樣!完成焊接后,現在只需運行下一個“用法”部分中的代碼即可。
Python用法
使用帶有Python和Adafruit CircuitPython CharLCD庫的I2C 16x2 RGB LCD Pi板很容易。該庫使您可以輕松地編寫控制RGB字符LCD的Python代碼。
按照前幾頁所示組裝板并將其附加到Pi。
您需要先設置Raspberry PI與I2C配合使用,然后才能使用!查看Raspberry Pi上的CircuitPython指南以獲取詳細信息:https://learn.adafruit.com/circuitpython-on-raspberrypi-linux
CharLCD庫的Python安裝
您需要安裝提供CircuitPython支持的Adafruit_Blinka庫在Python中。這還需要在Raspberry Pi上啟用I2C并驗證您正在運行Python 3。
完成后,從命令行運行以下命令:
sudo pip3 install adafruit-circuitpython-charlcd
如果您的默認Python是版本3,則可能需要運行“ pip”。只要確保您不嘗試在Python 2.x上使用CircuitPython,就不支持它!
Python代碼
為演示字符LCD的用法,我們將對其進行初始化并使用CircuitPython代碼顯示文本。
首先,您需要導入必要的模塊,初始化I2C總線,并創建字符LCD類的實例。將以下代碼粘貼到您的REPL中:
下載:文件
復制代碼
import board
import busio
import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd
lcd_columns = 16
lcd_rows = 2
i2c = busio.I2C(board.SCL, board.SDA)
lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows) import board
import busio
import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd
lcd_columns = 16
lcd_rows = 2
i2c = busio.I2C(board.SCL, board.SDA)
lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)
現在您就可以開始在顯示屏上書寫文字和字符了! LCD類的用法與并行LCD接線指南中的顯示完全相同。請務必查看該指南,以全面了解LCD的用法。
盡管可以運行以下代碼來使用color屬性將背光設置為紅色,然后使用message屬性以將文本寫入顯示:
下載:文件
復制代碼
lcd.color = [100, 0, 0]
lcd.message = “Hello CircuitPython” lcd.color = [100, 0, 0]
lcd.message = “Hello CircuitPython”
有關更多功能,請參見并行LCD指南以控制LCD!
如果看不到任何內容,請調整電位計上的電位器,直到出現消息。電位器位于按鈕下方與LCD相對的下方。
使用帶Python的RGB字符LCD Pi Plate和Adafruit CircuitPython CharLCD庫就可以了!
完整示例代碼
將以下文件保存到您的pi并運行它以觀看字符LCD庫必須提供的一些不同內容的演示!
下載:項目Zip 或 charlcd_i2c_rgb_simpletest.py | 在Github上查看
復制代碼
“”“Simple test for I2C RGB character LCD shield kit”“”
import time
import board
import busio
import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd
# Modify this if you have a different sized Character LCD
lcd_columns = 16
lcd_rows = 2
# Initialise I2C bus.
i2c = busio.I2C(board.SCL, board.SDA)
# Initialise the LCD class
lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)
lcd.clear()
# Set LCD color to red
lcd.color = [100, 0, 0]
time.sleep(1)
# Print two line message
lcd.message = “Hello CircuitPython”
# Wait 5s
time.sleep(5)
# Set LCD color to blue
lcd.color = [0, 100, 0]
time.sleep(1)
# Set LCD color to green
lcd.color = [0, 0, 100]
time.sleep(1)
# Set LCD color to purple
lcd.color = [50, 0, 50]
time.sleep(1)
lcd.clear()
# Print two line message right to left
lcd.text_direction = lcd.RIGHT_TO_LEFT
lcd.message = “Hello CircuitPython”
# Wait 5s
time.sleep(5)
# Return text direction to left to right
lcd.text_direction = lcd.LEFT_TO_RIGHT
# Display cursor
lcd.clear()
lcd.cursor = True
lcd.message = “Cursor! ”
# Wait 5s
time.sleep(5)
# Display blinking cursor
lcd.clear()
lcd.blink = True
lcd.message = “Blinky Cursor!”
# Wait 5s
time.sleep(5)
lcd.blink = False
lcd.clear()
# Create message to scroll
scroll_msg = ‘《-- Scroll’
lcd.message = scroll_msg
# Scroll to the left
for i in range(len(scroll_msg)):
time.sleep(0.5)
lcd.move_left()
lcd.clear()
time.sleep(1)
lcd.message = “Going to sleep Cya later!”
time.sleep(5)
# Turn off LCD backlights and clear text
lcd.color = [0, 0, 0]
lcd.clear()
“”“Simple test for I2C RGB character LCD shield kit”“”
import time
import board
import busio
import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd
# Modify this if you have a different sized Character LCD
lcd_columns = 16
lcd_rows = 2
# Initialise I2C bus.
i2c = busio.I2C(board.SCL, board.SDA)
# Initialise the LCD class
lcd = character_lcd.Character_LCD_RGB_I2C(i2c, lcd_columns, lcd_rows)
lcd.clear()
# Set LCD color to red
lcd.color = [100, 0, 0]
time.sleep(1)
# Print two line message
lcd.message = “Hello CircuitPython”
# Wait 5s
time.sleep(5)
# Set LCD color to blue
lcd.color = [0, 100, 0]
time.sleep(1)
# Set LCD color to green
lcd.color = [0, 0, 100]
time.sleep(1)
# Set LCD color to purple
lcd.color = [50, 0, 50]
time.sleep(1)
lcd.clear()
# Print two line message right to left
lcd.text_direction = lcd.RIGHT_TO_LEFT
lcd.message = “Hello CircuitPython”
# Wait 5s
time.sleep(5)
# Return text direction to left to right
lcd.text_direction = lcd.LEFT_TO_RIGHT
# Display cursor
lcd.clear()
lcd.cursor = True
lcd.message = “Cursor! ”
# Wait 5s
time.sleep(5)
# Display blinking cursor
lcd.clear()
lcd.blink = True
lcd.message = “Blinky Cursor!”
# Wait 5s
time.sleep(5)
lcd.blink = False
lcd.clear()
# Create message to scroll
scroll_msg = ‘《-- Scroll’
lcd.message = scroll_msg
# Scroll to the left
for i in range(len(scroll_msg)):
time.sleep(0.5)
lcd.move_left()
lcd.clear()
time.sleep(1)
lcd.message = “Going to sleep Cya later!”
time.sleep(5)
# Turn off LCD backlights and clear text
lcd.color = [0, 0, 0]
lcd.clear()
下載
GitHub上的Adafruit的Pi Python代碼庫
EagleCAD PCB文件
Adafruit Fritzing庫中的Fritzing對象
檢查“用法”頁面,了解如何使用git直接從您的Pi安裝示例python代碼。
責任編輯:wv
-
lcd
+關注
關注
34文章
4438瀏覽量
168475 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105895
發布評論請先 登錄
相關推薦
評論