37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验二十二:MAX7219点阵显示模块(8X8 LED共阴屏幕)
MAX7219
是美国MAXIM 公司推出的多位LED 显示驱动器,采用3 线串行接口传送数据,可直接与单片机接口连接,用户能方便修改其内部参数,以实现多位LED 显示。它内含硬件动态扫描电路、BCD译码器、段驱动器和位驱动器。此外,其内部还含有8X8 位静态RAM,用于存放8 个数字的显示数据。显然,它可直接驱动64 段LED点阵显示器。当多片MAX7219 级联时,可控制更多的LED 点阵显示器。显示的数据通过单片机数据处理后,送给MAX7219 显示。
串行输入/输出共阴极显示驱动器
MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI?、 QSPI?以及 MICROWIRE?相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。
MAX7219内部结构图
作为一块专用的LED显示驱动芯片,MAX7219能够以动态形式驱动8位数码显示器。还可以用 n 片MAX7219进行级连,以驱动8 * n位数码显示。MAX7219与数码显示器的之间的电路极为简单,几乎连限流电阻都不用。MAX7219与单片机之间也仅仅需要连接3条引线。当单片机把数据送到MAX7219后,它就可以独立的进行动态扫描显示,无需单片机再进行干预。对于单片机来说,这些数码显示器,看起来似乎都是在进行静态显示,可以说是驱动多位数码显示器的最佳选择。
MAX7219各引脚的功能:
DIN:串行数据输入端
DOUT:串行数据输出端,用于级连扩展
LOAD:装载数据输入
CLK:串行时钟输入
DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流
SEG A~SEG G DP 7段驱动和小数点驱动
ISET: 通过一个10k电阻和Vcc相连,设置段电流