七段式LED显示屏几十年来一直是电子项目中的热门组件。尽管您可以直接将它们连接起来,但是使用板载控制器芯片会使操作变得更加容易。
带有内置控制器芯片的4位模块便宜且易于购买。在本指南中,我使用了具有I2C接口的模块,该模块仅需将四根线连接到Raspberry Pi’s 通用输入输出头。流行的芯片是HT16K33。
本教程将说明如何连接模块,设置软件并运行一些示例Python脚本。
0.56″4位7段LED显示模块
大小是指数字的高度,通常以英寸为单位。此0.56英寸模块的数字为14mm高。模块本身为50mm x 27mm x 12mm(2 x 1.1 x 0.5英寸)。
LED模块硬件设置
该模块有四个引脚,可以直接连接到Pi’s 通用输入输出 header.
在我的LED显示屏pcb上,引脚标记为+,-,D和C。–参考3.3V和地。 D和C是I2C接口所需的SDA和SCL引脚。
Pi排针 | 功能 | LED模组 |
---|---|---|
Pin 1 | 3.3V | + |
Pin 14 | 地面 | – |
引脚3(GPIO2) | SDA | D(DAT) |
引脚5(GPIO3) | SCL | C(时钟) |
Pi上还有其他3.3V和接地引脚’GPIO接头,因此您可以根据需要使用它们。看看 Raspberry Pi 通用输入输出头图.
I2C地址选择
HT16K33的默认I2C地址为0x70。 印刷电路板上的三个焊接点允许定义其他7个地址,因此可以同时使用多个模块。地址范围是0x70至0x77。
启用Pi I2C接口
与其他I2C设备一样,必须启用该接口并安装一些Python库。
跟着 在Raspberry Pi上启用I2C接口 教程以获取此设置。
当您运行以下命令时:
i2cdetect -y 1
在连接了模块的情况下,您应该看到网格中显示的0x70地址:
蟒蛇软件设置
第一步是安装一些Python库。这些可能已经安装了,但是尝试确保没有危害:
sudo apt-get install -y build-essential build-essential sudo apt-get install -y 蟒蛇-dev sudo apt-get install -y 蟒蛇-smbus
接下来,从其Github存储库中克隆Adafruit库:
git clone //github.com/adafruit/Adafruit_Python_LED_Backpack.git
浏览到创建的目录:
cd Adafruit_Python_LED_Backpack
并使用以下命令为Python 2安装:
sudo 蟒蛇 setup.py install
如果要使用Python 3,则可以使用以下命令进行安装:
sudo 蟒蛇3 setup.py install
我通常都会做这两个事情,因此以后可以灵活选择。
示例Python脚本
阿达果范例
安装库后,即可运行Adafruit’s两个示例脚本。
使用以下命令浏览到示例目录:
cd ~ cd 阿达果_Python_LED_Backpack cd examples
然后使用以下命令运行脚本:
蟒蛇 sevensegment_test.py
要么 :
蟒蛇 ex_7segment_clock.py
第一个脚本将在LED模块上显示一系列数字。第二个将显示时间并用作数字时钟。
我的示例脚本
我创建了自己的测试脚本,可以使用以下命令从我的BitBucket存储库下载:
wget //bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/7segment_counter.py
然后使用运行:
蟒蛇 7segment_counter.py
计数器应如下所示:
库功能
该库提供了许多函数,您可以在自己的脚本中调用它们。
print_number_str(value,justify_right = True)
在显示屏上打印一个长4个字符的数字字符串。字符串中的字符应为受支持的字符或小数点。
print_float(值,十进制数字= 2,对齐右=真)
在显示屏上打印一个数值。如果值是负数,它将以负号开头打印。小数位数是小数点后的所需位数。
print_hex(value,justify_right = True)
打印十六进制数值。值应介于0到FFFF之间。
set_colon(show_colon)
通过显示冒号“真”打开冒号,或通过显示冒号的“假”关闭冒号。
set_decimal(pos,十进制)
在提供的位置打开或关闭小数点。位置应为0到3的值,0是显示屏上的最左位数。十进制应为True以打开小数点,为False可将其关闭。
set_brightness(值)
以1/16增量设置显示屏的亮度。该值可以是0(低亮度)到15(全亮度)之间的整数。
这些功能的定义及其在后台的作用可以在以下文件中看到:
//github.com/adafruit/Adafruit_Python_LED_Backpack/blob/master/Adafruit_LED_Backpack/SevenSegment.py
蟒蛇 2和Python 3
可以使用Python 2或Python 3运行本教程中使用的示例脚本。
购买LED显示模块
这些模块可从许多来源获得。