如何构建一个使用 MAX7219 驱动的红色 32x8 256 点 LED 灯阵
使用 Arduino Uno 操作一个流行的 8x8 LED 灯阵。整个过程非常简单,是一个适合初学者的入门项目。
1) ARDUINO UNO
Arduino 是一个基于易于使用的硬件和软件的开源电子平台。Arduino 板子能够读取输入信号——例如传感器发出的光、按钮被按下的触觉,或 Twitter 上的消息——并将其转换为输出动作,比如启动电机、点亮 LED 或在线发布内容。通过向板上的微控制器发送一系列指令,你可以告诉它该执行什么操作。为此,我们使用 Arduino 编程语言(基于 Wiring)以及基于 Processing 的 Arduino 软件(IDE)。
多年来,Arduino 已成为成千上万项目的“大脑”,从日常用品到复杂的科学仪器,无一例外。一个由学生、爱好者、艺术家、程序员和专业人士组成的全球创客社群,围绕这一开源平台聚集在一起,他们的贡献汇聚成大量可获取的知识,对初学者和专家都大有帮助。
2) LED矩阵
什么是LED矩阵?LED矩阵是一种点阵显示屏,具有较低的分辨率,适用于工业或商业显示设备,也广泛用于业余人士的人机交互装置。它包含一个二维的二极管矩阵,阴极按行连接,阳极按列连接。通过控制每一对列或行上的二极管通电,可以独立控制每个LED点。这种矩阵因其能够显示静态和动态图像与文字而广受欢迎,图中展示了LED矩阵的示意图。
LED矩阵类型:
LED矩阵在工业和商业领域应用广泛,本文将介绍其中一些根据结构分类的类型。
•8×8点阵
•5×7点阵
•128×16双线阵
•128×32四线阵
•128×64八线阵
8×8点阵
在点阵中,二极管通过行和列相互连接,目的是减少驱动点发光二极管所需的引脚数量。例如,在8×8点阵中,每个二极管像素需要64个I/O引脚来显示。为了构成8×8点阵,所有阳极(anodes)都连接成R1至R8的行,阴极(cathodes)也连接成C1至C8的列。通过这种方式,所需的I/O引脚减少了16个。
根据图示,每个LED都由其对应的行号和列号进行寻址。当R5被拉高且C4被拉低时,位于第五行第四列的LED就会导通;同样,也可以通过逐行扫描或逐列扫描来实现显示效果。
5×7点阵:
一个5×7的LED点阵由5行7列发光二极管组成,这些二极管相互连接,如图3所示。根据图示,我们想显示字母“A”,首先将C1列拉高,同时通过阻断其他列的地线路径来将其拉低。此时C1列被拉高,需要开启该列中R2至R7行的LED。这可以通过向这些行施加正向偏置电压来实现。接着选择C2列,取消其他列的选择,并在R1和R5之间施加正向偏置电压,依此类推。
点阵的构造:
这种显示装置的结构非常简单。如果要制作自己的原型显示屏,只需将二极管焊接在Vero板或预先制作好的双面或单面电路板上即可。例如,若要制作图2所示的8×8点阵原型显示屏,则需要64个发光二极管。这些二极管可直接焊接在电路板或单面板上。每个二极管的正极与另一个二极管的正极相连,从而构成行;同样,8行也通过连接每个二极管的正极来完成。一个二极管的负极连接到另一个二极管的负极。为了构成该显示屏的列,同样地,通过将每个二极管的负极连接起来,形成8列。所有这些二极管都通过裸露的铜线相互连接,且必须正确焊接,否则无法实现各部分之间的良好连接。
点阵与微控制器的接口:
点阵显示屏由行和列组成,LED灯通过这些行和列进行连接。这些灯可以随意开启或关闭,但只能通过微控制器来实现控制。本文将介绍如何将PIC微控制器与图中所示的点阵显示屏进行接口连接。
3)蓝牙模块
蓝牙是一种无线通信技术标准,用于在短距离内通过短波UHF无线电波,在固定设备与移动设备之间交换数据。其工作频率范围位于工业、科学和医疗无线电频段,从2.402 GHz至2.480 GHz,并可用于构建个人局域网(PAN)。最初,蓝牙被设计为RS-232数据线的无线替代方案。
HC-05模块信息
HC-05模块配备红色LED,用于指示连接状态,即蓝牙是否已连接。在连接HC-05模块之前,红色LED会以周期性方式持续闪烁。当连接到其他任何蓝牙设备时,其闪烁频率会减慢至每两秒一次。
该模块工作电压为3.3V,我们也可以使用5V电源供电,因为模块内置了5V转3.3V的稳压器。
由于HC-05蓝牙模块的收发端(RX/TX)电平为3.3V,且微控制器能够检测到3.3V电平,因此无需改变HC-05模块的发送电平。但我们需要将微控制器的发送电压电平转换为HC-05模块的RX端接收电平。
本文编译自hackster.io





