使用Python的Raspberry Pi 7段LED显示模块

0

七段式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英寸)。

4位7段LED模块正面

4位7段LED模块背面

 

 

 

 

 

LED模块硬件设置

该模块有四个引脚,可以直接连接到Pi’s 通用输入输出 header.

4位七段LED显示屏

在我的LED显示屏pcb上,引脚标记为+,-,D和C。–参考3.3V和地。 D和C是I2C接口所需的SDA和SCL引脚。

Pi排针功能LED模组
Pin 13.3V+
Pin 14地面
引脚3(GPIO2)SDAD(DAT)
引脚5(GPIO3)SCLC(时钟)

Pi上还有其他3.3V和接地引脚’GPIO接头,因此您可以根据需要使用它们。看看 Raspberry Pi 通用输入输出头图.

I2C地址选择

HT16K33的默认I2C地址为0x70。 印刷电路板上的三个焊接点允许定义其他7个地址,因此可以同时使用多个模块。地址范围是0x70至0x77。

启用Pi I2C接口

与其他I2C设备一样,必须启用该接口并安装一些Python库。

跟着 在Raspberry Pi上启用I2C接口 教程以获取此设置。

当您运行以下命令时:

i2cdetect -y 1

在连接了模块的情况下,您应该看到网格中显示的0x70地址:

HT16K33 I2C地址

蟒蛇软件设置

第一步是安装一些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

4位7段LED模块

蟒蛇 2和Python 3

可以使用Python 2或Python 3运行本教程中使用的示例脚本。

购买LED显示模块

这些模块可从许多来源获得。

分享。

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.