电子说
概述
这种新的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
全部0条评论
快来发表一下你的评论吧 !