跳过主要内容

如何使用覆盆子PI Pico使用7段显示器

7段显示Pi Pico
(图片信用:汤姆的硬件)

老式数字闹钟上的7段显示屏,对树莓派项目(包括你用树莓派Pico制作的项目)来说非常有用。你可以使用7段显示器来记录游戏得分,显示传感器数据,如温度或距离数字,或记录时间。你甚至可以展示一些字母。

市面上的7段显示器种类繁多,不仅数字的数量和颜色不同,控制板的大小也不同。一些便宜的7段显示器没有控制器,每一盏灯都使用单独的引脚。当你考虑到每个数字有7个不同的灯(因此得名“7段显示器”),那是很多引脚。

但是,更好的7段显示器具有使用由TM1637控制器板供电的I2C连接的控制器板。下面,我们将向您展示如何使用带有覆盆子PI Pico的TM1637功耗7段中的一个。

你需要什么

  • 7-segment显示。有很多模型,但我们用了这一个
  • 覆盆子π皮科用焊接销标头和微量树。
  • 四个女性到女性跳线电缆

如果您之前没有使用过Pico,请参阅我们的文章如何设置覆盆子pi pico如何焊接针脚覆盖覆盆子pico

如何将7段显示器连接到Raspberry Pi Pico

7段显示器有4个引脚:CLK, DIO, GND和VCC。如果使用母对母跳线,则不需要接线板来进行连接。

(图片信用:汤姆的硬件)

将以下引脚从7段显示器连接到Pico。

  1. VCC引脚到3V3在Pico(物理引脚36,在右边的第五个)。
  2. GND引脚到GND在Pico上(物理引脚34,右边的第三个)。
  3. CLK引脚到GP16在Pico上(右侧的最后一个别针)。
  4. DIO引脚到GP17在Pico上(右侧右侧的底针)。

您可以选择将CLK和DIO引脚连接到PICO上的任何两个GPIO引脚,分别支持I2C SCL和SDA,您可以将GND引脚连接到任何Pico的8个GND引脚。看看覆盆子皮科pinout获取详细信息。

(图片信用:汤姆的硬件)

如何在MicroPython中编码7段显示

我们将主要依靠优秀人才TM1637 MicroPython图书馆,并创建一个脚本,其中显示各种显示选项,您可以在自己的项目中使用这些选项。

5.下载tm1637.py文件来自Mike Graner的TM1637 GitHub项目。您不需要其他文件。

6.将tm1637.py复制到您的Pico根目录。由于具有Micropopthon的Pico不会作为驱动器号,因此最简单的方法是在Thonny或IDE中打开TM1637.Py或您的选择并将其保存在那里。

7.创建一个新的MicroPython脚本或者你选择的MicroPython IDE。

8.导入必要的库。

从机器导入PIN导入TM1637从UTIME进口睡眠

我们将使用utime库在每个功能之间放置一秒的“睡眠”延迟,因此您有时间在显示屏上观看它们。

9。创建tm1637的一个实例。TM1637对象调用“mydisplay”,并为CLK和DIO引脚输入正确的pin编号作为参数。

MyDisplay = TM1637.TM1637(CLK = PIN(16),DIO = PIN(17))

10.使用“show”方法显示任意四个字符。这些可以是字母或数字,但请注意,许多字母,例如W,看起来会很尴尬。如果输入超过4个字符,则只显示前4个字符。请确保将参数字符串放在引号中。

mydisplay.show(“pico”)睡眠(1)

11.空白的屏幕使用具有四个空格的“show”(假设您的屏幕上有四位数字)。

mydisplay.show(“”)睡眠(1)

请注意,如果您没有空白显示,则在执行程序后,它将保持打开。更改它时,您不需要空白显示,但如果使用少于最大字符数的另一个show命令,则您不替换的任何字符将保持在屏幕上。例如,如果您显示(“晕圈”)然后显示(“20”),屏幕将读取20LO。

12.使用“数字”方法显示一个整数。不要在参数周围加引号。您可以显示负数或正数,但如果它是负数,则必须为负号保留一个字符。注意,如果您输入的数字大于可用数字数(例如:在四位显示中输入12345),屏幕将读取“9999”或“-999”为负数。

睡眠mydisplay.number (-123) (1)

(图片信用:汤姆的硬件)

使用“numbers”方法以可见的颜色显示时间。输入两个两位数作为参数,如果屏幕上有一个冒号,则冒号将显示在参数之间。这个例子将显示为12:59。

13.考虑到您可以使用“show”方法来显示数字或字母,您可能会想知道为什么您想要使用数字方法。一个原因是您不需要将整数转换为字符串,另一个是屏幕只能使用必要的数字量,因此您不需要输入空格以使您的号码对齐右侧。

mydisplay.numbers(12,59)睡眠(1)

14.使用亮度方法调整亮度。可以输入0 ~ 7之间的数字作为参数。

#Adjust使它成为Loewr MyDisplay.Brightness(0)睡眠(1)

15.使用“滚动”方法显示滚动文本。输入字符串(引号)作为第一个参数,并添加“delay =”和多个毫秒,以控制滚动速度。如果跳过延迟参数,则将默认为250ms。

MyDisplay.Scroll(“Hello World 123”,Delay = 200)睡眠(1)

(图片信用:汤姆的硬件)

16.使用“温度”方法显示摄氏度的温度。此方法在数字后添加学位符号和字母C.您输入一个或两个数字整数作为温度,您可以做负温度,但这些只能是一个数字。

睡眠mydisplay.temperature (99) (1)

(图片信用:汤姆的硬件)

17.再次使屏幕空白,这样程序结束时屏幕就不会一直亮着。

mydisplay.show(“”)

这是最终代码

import tm1637 from machine import Pin from utime import sleep mydisplay = tm1637. tm1637 (clk=Pin(16), dio=Pin(17)) #显示一个单词mydisplay. Show ("Pico") sleep(1) #blank the screen mydisplay. txt ()显示(“”)sleep(1) #show numbers mydisplay.number(-123) sleep(1) #show a time with colon mydisplay.numbers(12,59) sleep(1) #adjust the brightness to make it loewr mydisplay.brightness(0) sleep(1) #show scrolling text mydisplay.scroll("Hello World 123", delay=200) sleep(1) #show temperature mydisplay.temperature(99) sleep(1) #blank the screen again mydisplay.show(" ")

还有其他方法在他的GitHub页面上导致文件,包括将数字转换为对您的十六进制格式的数字或占用十六进制输入。但是,这些是我们认为大多数人需要与7段显示和覆盆子PI Pico一起使用的主要方法。

Avram Piltch是Tom的硬件的主编。当他没有在工作中的最新小工具或在贸易展览会上进行VR头盔时,你会发现他的手机,拆除他的电脑或编码插件。凭借其技术知识和对测试热情,Avram开发了许多真实的基准,包括我们的笔记本电池测试。
暂时没有评论 论坛评论