(SKU:RB-05L021)四位七段数码管

来自ALSROBOT WiKi
跳转至: 导航搜索
05L0213.jpg

目录

产品概述

此产品由一个12管脚的4位7段共阳极数码管和一个控制芯片TM1637构成。该模块采用沉金工艺,外观更加美观,同时采用防插反接口,操作更加安全,插口一边有大写字母I表示该模块采用IIC协议通信,另一边是数码管的图标标志。此产品可以应用在时间显示,跑表显示以及其他需要显示数字的设备上。

规格参数

  1. 工作电压 : +5v
  2. 尺寸大小:45mm x 25mm
  3. 重量大小:8g
  4. 通信协议:IIC

接口定义

  • SCL:IIC时钟信号引脚
  • SDA:IIC数据信号引脚
  • -:电源地
  • +:电源正极

使用方法

连接示意图

Led475.png

SCK引脚接到控制器的A5口, SDA引脚接到控制器的A4口。+和-分别接到电源的+5V和GND。

例子程序

接线完成后,就可以进行基本功能的调试,将下列程序上传到 Carduino 控制器中

将下载到的压缩文件解压到 RB-05L021_4-Digital_Display 文件夹下,解压的文件夹粘贴到 Arduino IDE 软件的 libraries 文件中(·····\arduino-1.7.6\libraries),启动 Arduino IDE 选择文件 -- 示例 -- RB-05L021_4-Digital_Display -- 对应示例,就可以实现代码测试。

/***********************************************************
哈尔滨奥松机器人科技股份有限公司  RobotBase  www.alsrobot.cn
目    的:  数码管时钟显示  
应用硬件:  Carduino UNO R3 控制器
应用软件:  Arduino IDE 1.7.10
发布时间:  2016-07-15
创 建 人:  Neil
版 本 号:  1.0 
说    明:  若用于商业用途,请保留此段文字或注明代码来源 
           哈尔滨奥松机器人科技有限股份公司保留所有版权   
***********************************************************/
#include <TimerOne.h>
#include "TM1637.h"
#define ON 1
#define OFF 0
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char halfsecond = 0;
unsigned char second;
unsigned char minute = 0;
unsigned char hour = 12;
#define CLK A5//pins definitions for TM1637 and can be changed to other ports    
#define DIO A4
TM1637 tm1637(CLK,DIO);
void setup()
{
  tm1637.set();
  tm1637.init();
  Timer1.initialize(500000);//timing for 500ms
  Timer1.attachInterrupt(TimingISR);//declare the interrupt serve routine:TimingISR  
}
void loop()
{
  if(Update == ON)
  {
    TimeUpdate();
    tm1637.display(TimeDisp);
  }
  
}
void TimingISR()
{
  halfsecond ++;
  Update = ON;
  if(halfsecond == 2){
    second ++;
    if(second == 60)
    {
      minute ++;
      if(minute == 60)
      {
        hour ++;
        if(hour == 24)hour = 0;
        minute = 0;
      }
      second = 0;
    }
    halfsecond = 0;  
  }
 // Serial.println(second);
  ClockPoint = (~ClockPoint) & 0x01;
}
void TimeUpdate(void)
{
  if(ClockPoint)tm1637.point(POINT_ON);
  else tm1637.point(POINT_OFF); 
  TimeDisp[0] = hour / 10;
  TimeDisp[1] = hour % 10;
  TimeDisp[2] = minute / 10;
  TimeDisp[3] = minute % 10;
  Update = OFF;
}

程序效果

程序下载进去之后就可以正常显示时钟了。

产品相关推荐

Erweima.png

产品购买地址

四位七段数码管

周边产品推荐

Arduino 8位静态数码管 扫描显示器 SPI LED 数码管
Arduino 8*8点阵模块 单色 8X8 LED Matrix Module
Carduino UNO R3 控制器

相关学习资料

Arduino 条形LED模块测评
奥松机器人技术论坛