(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。

例子程序

#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;
}

程序效果

注意程序中包含的头文件需要下载,程序下载进去之后就可以正常显示时钟了。

Jietuled.png

产品相关推荐

产品购买地址

四位七段数码管

周边产品推荐

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

相关学习资料

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