中级
30 分钟

使用基于SZ810757G和PIC32MZ2048EFH100的蓝色点阵显示屏,以像素精度照亮您的世界

以冷酷优雅的方式照亮!

7x10 B Click with Flip&Click PIC32MZ

已发布 6月 25, 2024

点击板

7x10 B Click

开发板

Flip&Click PIC32MZ

编译器

NECTO Studio

微控制器单元

PIC32MZ2048EFH100

体验我们的7x10绿色LED显示屏的生动性,设计旨在用明亮且环保的视觉效果吸引和吸引您的观众,非常适合标志、通知和创意项目。

A

A

硬件概览

它是如何工作的?

7x10 B Click是一个LED点阵显示点击板,可以非常容易地显示图形或字母。该点击板有两个LED点阵模块,每个模块都有7x5个时尚、圆形、点状LED元素。由于元素之间光学隔离,相邻LED单元之间没有光线泄漏,因此这些显示器产生清晰均匀的图案。此外,矩阵单元的打开和关闭时间经过优化,以实现清晰流畅的显示性能,无闪烁或延迟。这个点击板可以在许多需要清晰可见文本或图形显示的应用中使用,比如公共时钟显示、温度显示等。通过使用MIKROE提供的函数,可以以非常简单的方式制作文本滚动器,极大地扩展了7x10点击的功能。两个7x5 LED点阵模块形成一个显示屏。一个LED矩阵模块由35个LED元素组成,分成行和列。一行中的LED元素的阴极连接在一起,并路由到单个行引脚。一列中的LED元素的阳极连接在一起,并路由到单个列引脚。像这样复用,模块具有相当低的引脚数(每个模块12个引脚),适合由移位寄存器和十进制计数器IC驱动。驱动电路由两个74HC595 - 8位、串行输入 - 并行输出移位寄存器、一个CD4017 - 具有10个输出的Jonson拓扑十进制计数器以及一个ULN2003A - 具有七个集成达林顿对的IC组成,所有芯片均由德州仪器生产。该设备通过SPI接口与主MCU通信。两个8位字的信息通过第一个74HC595移位寄存器IC的串行数据输入引脚推送。由于一

个模块上有5列,因此这两个字节都必须将它们的三个MSB设置为0。两个移位寄存器IC(SR)连接在一起,使得第一个SR的串行数据输出连接到第二个SR的串行数据输入。当第一个SR中输入超过8位时,它们将开始将位串行地推入第二个SR。在这种方式将存储寄存器的数据加载完毕后,SPI通信应该终止(SCK信号停止),并且锁存引脚的上升沿(路由到mikroBUS™ CS引脚)将导致存储的数据以并行形式出现在两个SR的输出引脚上。这不会立即点亮相应的LED元素;它只会极化它们的阳极。为了完成LED电流路径,它们的阴极必须连接到地。这就是使用CD4017和ULN2003 IC的地方。ULN2003 IC用于通过在活动行上消耗电流来驱动点阵显示的行。当ULN2003 IC的低电流端输入没有信号时,其输出将处于高阻态(High-Z),导致非活动行被断开并且它们的电流路径被阻断。即使通过SR极化了它们的阳极,断开的行上的LED元素也无法点亮。为了激活ULN2003 IC的7个输入通道中的一个,使用CD4017十进制计数器IC。它非常适合这项任务,因为它会随着每个时钟脉冲将其活动输出向前移动一个位置。同样,由于这是一个十进制计数器(10个输出),只使用前7个通道。为了跳过最后3个周期,需要通过RST引脚(路由到mikroBUS™的RST引脚)重置计数器IC。当特定的行被激活时,那一行

上的LED将被点亮 - 因为电流将能够通过达林顿对流到地。这就是乘法是如何实现的。十进制计数器的设计只允许一行每次活动。因此,为了在led矩阵上看到完整的图像,行扫描必须足够快,以便产生所谓的持续视觉效果。即使一次只能看到一行 - 因为人眼无法检测到光的非常快速的变化,它也会产生完整图像的错觉。扫描线方法是在许多不同显示器上显示图片的一种非常古老的方法 - 从旧的CRT显示器到现代的TFT计算机屏幕。然而,为了使此效果正常工作,时序非常重要。为了切换到下一行,需要先显示前一行的数据。因此,CD4017的时钟脉冲需要在从SPI总线中的16位数据全部被锁存到LED元件,再加上一个小延迟,以允许人眼吸收该行之前发生。因此,CD4017的R_CLK时钟引脚被路由到mikroBUS™的AN引脚。#MR引脚用于清除IC的内部存储寄存器中的数据。在此引脚上的低逻辑电平将清除此寄存器的内容,但不会关闭已经激活的输出。#MR引脚通过板上的电阻拉向高逻辑电平。此Click board™可以通过VCC SEL跳线选择3.3V或5V逻辑电压电平操作。这样,既可以使用3.3V也可以使用5V的MCU正常使用通信线路。此外,此Click board™配备了一个包含易于使用的功能和示例代码的库,可用作进一步开发的参考。

7x10 B Click top side image
7x10 B Click bottom side image

功能概述

开发板

Flip&Click PIC32MZ 是一款紧凑型开发板,设计为一套完整的解决方案,它将 Click 板™的灵活性带给您喜爱的微控制器,使其成为实现您想法的完美入门套件。它配备了一款板载 32 位 PIC32MZ 微控制器,Microchip 的 PIC32MZ2048EFH100,四个 mikroBUS™ 插槽用于 Click 板™连接,两个 USB 连接器,LED 指示灯,按钮,调试器/程序员连接器,以及两个与 Arduino-UNO 引脚兼容的头部。得益于创

新的制造技术,它允许您快速构建具有独特功能和特性的小工具。Flip&Click PIC32MZ 开发套件的每个部分都包含了使同一板块运行最高效的必要组件。此外,还可以选择 Flip&Click PIC32MZ 的编程方式,使用 chipKIT 引导程序(Arduino 风格的开发环境)或我们的 USB HID 引导程序,使用 mikroC、mikroBasic 和 mikroPascal for PIC32。该套件包括一个通过 USB 类型-C(USB-C)连接器的干净且调

节过的电源供应模块。所有 mikroBUS™ 本身支持的 通信方法都在这块板上,包括已经建立良好的 mikroBUS™ 插槽、用户可配置的按钮和 LED 指示灯。Flip&Click PIC32MZ 开发套件允许您在几分钟内创建新的应用程序。它由 Mikroe 软件工具原生支持,得益于大量不同的 Click 板™(超过一千块板),其数量每天都在增长,它涵盖了原型制作的许多方面。

Flip&Click PIC32MZ double image

微控制器概述 

MCU卡片 / MCU

default

建筑

PIC32

MCU 内存 (KB)

2048

硅供应商

Microchip

引脚数

100

RAM (字节)

524288

使用的MCU引脚

mikroBUS™映射器

CD4017 Clock
RB11
AN
74HC595 Reset
RE2
RST
74HC595 Latch
RA0
CS
SPI Clock
RG6
SCK
SPI Data OUT
RC4
MISO
SPI Data IN
RB5
MOSI
Power Supply
3.3V
3.3V
Ground
GND
GND
CD4017 Reset
RC14
PWM
NC
NC
INT
NC
NC
TX
NC
NC
RX
NC
NC
SCL
NC
NC
SDA
Power Supply
5V
5V
Ground
GND
GND
1

“仔细看看!”

Click board™ 原理图

7x10 B Click  Schematic schematic

一步一步来

项目组装

Flip&Click PIC32MZ front image hardware assembly

从选择您的开发板和Click板™开始。以Flip&Click PIC32MZ作为您的开发板开始。

Flip&Click PIC32MZ front image hardware assembly
Buck 22 Click front image hardware assembly
Prog-cut hardware assembly
Flip&Click PIC32MZ - upright/background hardware assembly
Necto image step 2 hardware assembly
Necto image step 3 hardware assembly
Necto image step 4 hardware assembly
Necto image step 5 hardware assembly
Necto image step 6 hardware assembly
Flip&Click PIC32MZ MCU step hardware assembly
Necto No Display image step 8 hardware assembly
Necto image step 9 hardware assembly
Necto image step 10 hardware assembly
Debug Image Necto Step hardware assembly

实时跟踪您的结果

应用程序输出

1. 应用程序输出 - 在调试模式下,“应用程序输出”窗口支持实时数据监控,直接提供执行结果的可视化。请按照提供的教程正确配置环境,以确保数据正确显示。

2. UART 终端 - 使用UART Terminal通过USB to UART converter监视数据传输,实现Click board™与开发系统之间的直接通信。请根据项目需求配置波特率和其他串行设置,以确保正常运行。有关分步设置说明,请参考提供的教程

3. Plot 输出 - Plot功能提供了一种强大的方式来可视化实时传感器数据,使趋势分析、调试和多个数据点的对比变得更加直观。要正确设置,请按照提供的教程,其中包含使用Plot功能显示Click board™读数的分步示例。在代码中使用Plot功能时,请使用以下函数:plot(insert_graph_name, variable_name);。这是一个通用格式,用户需要将“insert_graph_name”替换为实际图表名称,并将“variable_name”替换为要显示的参数。

软件支持

库描述

这个库包含了7x10 B Click驱动程序的API。

关键函数:

  • c7x10b_draw_pixel - 在显示屏上绘制像素

  • c7x10b_draw_char - 在显示屏上绘制字符

  • c7x10b_draw_number - 在显示屏上绘制数字

开源

代码示例

完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio 应用程序代码也可以在MIKROE的GitHub账户中找到。

/*!
 * @file main.c
 * @brief c7x10B Click example
 *
 * # Description
 * This demo example shows a drawing of pixels, characters and a number on the screen.
 *
 * The demo application is composed of two sections :
 *
 * ## Application Init
 * Configuring the click board.
 *
 * ## Application Task
 * Draws characters, numbers, and pixels to the display.
 *
 * @author Jelena Milosavljevic
 *
 */
// ------------------------------------------------------------------- INCLUDES

#include "board.h"
#include "c7x10b.h"

// ------------------------------------------------------------------ VARIABLES

static c7x10b_t c7x10b;

// ------------------------------------------------------ APPLICATION FUNCTIONS

void application_init ( void ) {
    
   c7x10b_cfg_t c7x10b_cfg;  /**< Click config object. */

    //  Click initialization.

    c7x10b_cfg_setup( &c7x10b_cfg );
    C7X10B_MAP_MIKROBUS( c7x10b_cfg, MIKROBUS_1 );
    c7x10b_init( &c7x10b, &c7x10b_cfg );
}

void application_task ( void ) {
    
    c7x10b_pixel_t pixel;
    uint8_t cnt;
    uint8_t cnt_x;
    uint8_t cnt_y;
    
    // CHAR PROCEDURE
    
    for ( cnt = 'A'; cnt < 'Z'; cnt+=2 ) {
        
        c7x10b_draw_char( &c7x10b, cnt, C7X10B_DISPLAY_LEFT, C7X10B_DISPLAY_DELAY_50MS );
        c7x10b_draw_char( &c7x10b, cnt + 1, C7X10B_DISPLAY_RIGHT | C7X10B_DISPLAY_REFRESH, C7X10B_DISPLAY_DELAY_50MS );
        
        Delay_ms( 1000 );
    }

    // COUNTER PROCEDURE
    
    for ( cnt = 0; cnt < 15; cnt++ ) {
        
        c7x10b_draw_number( &c7x10b, cnt, C7X10B_DISPLAY_DELAY_50MS );
        
        Delay_ms( 500 );
    }
    
    // PIXELS PROCEDURE
    
    for ( cnt_x = 0; cnt_x <= 7; cnt_x++ ) {
        
        for ( cnt_y = 0; cnt_y <= 10; cnt_y++ ) {
            
            pixel.cord_x = cnt_x;
            pixel.cord_y = cnt_y;
            c7x10b_draw_pixel( &c7x10b, &pixel, C7X10B_DISPLAY_PIXEL_STORAGE,
                                              C7X10B_DISPLAY_DELAY_20MS );

            pixel.cord_x = cnt_x;
            pixel.cord_y = cnt_y + 1;
            c7x10b_draw_pixel( &c7x10b, &pixel, C7X10B_DISPLAY_PIXEL_REFRESH,
                                              C7X10B_DISPLAY_DELAY_20MS );
        }
    }
}

void main ( void ) {
   
    application_init( );

    for ( ; ; ) {
        
        application_task( );
    }
}

// ------------------------------------------------------------------------ END

额外支持

资源

喜欢这个项目吗?

'购买此套件' 按钮会直接带您进入购物车,您可以在购物车中轻松添加或移除产品。