MAX7219 点矩阵
MAX7219 点矩阵是一块 8x8 的 LED 矩阵显示器,对应的积木是 micro:bit 的扩展模组,透过 micro:bit 控制就能显示不同的文字、图案、跑马灯...等效果,是相当广泛好用的电子零件。
MAX7219 点矩阵积木有几个分类:初始化设定、显示文字、文字跑马灯、随机灯号、清除 / 填满画面、设定灯光亮度、矩阵设定、显示矩阵灯号、反转矩阵灯号、取得矩阵灯号状态。
micro:bit 连接 MAX7219 点矩阵
按照下图,使用“扩充板、杜邦线、面包板”,将 micro:bit 连接 MAX7219 点矩阵。
加入 MAX7219 点矩阵积木
打开 MakeCode 的扩展功能,搜索“MAX7219”,从搜索结果中选择“MAX7219_8x8”的项目,点选加入 MAX7219 积木。
加入后,在积木清单里就会出现“MAX7219 8x8”的选项。
MAX7219 8x8 开发文件参考:pxt-max7219_8x8
初始化设定 ( Setup MAX7219 )
“初始化设定”积木可以设定 MAX7219 的连接脚位,由于 micro:bit 的 CLK、DIN 和 CS 引脚是固定的,所以不需更动引脚,如果连接多个 MAX7219,可以透过“Number of matrixs”来设定,默认 1 表示第一块点矩阵。
通常初始化设定只需要设定一次,因此这个积木会直接放在“当启动时”积木里。
显示文字 ( Display text )
“显示文字”积木让 MAX7219 显示指定的文字,显示的方式可以选择“靠右对齐”或“靠左对齐”,靠左对齐还能额外设定缩排的点数 ( offset )。
文字跑马灯 ( Scroll text )
“文字跑马灯”积木可以过长的文字,透过跑马灯的方式,从左到右的卷动呈现,可以指定卷动的速度 ( delay ) 和结束后暂停的时间 ( at the end wait )。
下图的例子,按下 A 按钮时会显示靠右对齐的“Hi”,按下 B 按钮时会先出现“Hello worlds!”的文字跑马灯,结束后再出现“Good Morning!”的文字跑马灯。
随机灯号 ( Randomize all LEDs )
“随机灯号”积木可以产生随机的灯号图案。
清除 / 填满画面 ( Clear / Fill all LEDs )
“清除画面”积木可以清除点矩阵图案 ( 执行后就像所有 LED 关闭 ),“填满画面”积木会将所有的 LED 点亮,填满点矩阵画面。
设定灯光亮度 ( brightness level )
“设定灯光亮度”积木可以设定点矩阵的 LED 亮度,共有 0~15 共 16 个等级,0 最暗 ( 不亮灯 ),15 最亮。
矩阵设定 ( Set 8x8 pattern )
“矩阵设定”积木可以指定 8x8 矩阵的数值,由于 8x8 矩阵是一个“二维数组”,所以通常会搭配“空矩阵”的积木操作,x 和 y 表示水平和垂直的座标位置,左上角为 (0,0),右下角为 (7,7),value 表示是否亮灯,0 表示熄灯,1 表示亮灯。
在积木的使用上,会先定义内容是 8x8 的空矩阵 ( Empty 8x8 pattern ) 数组,接着再透过“矩阵设定”,定义矩阵里的 xy 座标灯号是否亮灯。
显示矩阵灯号 ( Display 8x8 pattern )
“显示矩阵灯号”积木可以将设定好的矩阵,透过 LED 显示出来。
index 表示“第几块 MAX7219”,数值从 0 开始 ( 表示第一块 )。
下图的例子,每次按下 micro:bit 的 A 按钮时,MAX7219 都会显示不同的灯号 ( 产生最多十个随机座标的灯号 )。
反转矩阵灯号 ( Toggle pattern )
“反转矩阵灯号”积木可以反转指定座标的 LED 灯号状态,如果 LED 是亮灯就会熄灭,如果是熄灭就会亮灯。
下图的例子,按下 B 按钮时,会透过二维数组的方式,反转 8x8 矩阵的所有灯号 ( 反转后仍然要用“显示矩阵灯号”积木 )。
取得矩阵灯号状态 ( Get value )
“取得矩阵灯号状态”积木可以取得 8x8 矩阵里某一颗灯的状态,如果亮灯为 1,熄灯为 0。
微信扫码关注
抖音扫码关注