(SKU: RB-05L021)四位七段數碼管

來自ALSROBOT WiKi
2016年4月8日 (五) 14:33Arduino77討論 | 貢獻的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉至: 導航搜索
05L0213.jpg

目錄

產品概述

此產品由一個12管腳的4位7段共陽極數碼管和一個控制芯片TM1637構成。該模塊采用沉金工藝,外觀更加美觀,同時采用防插反接口,操作更加安全,插口一邊有大寫字母I表示該模塊采用IIC協議通信,另一邊是數碼管的圖標標志。此產品可以應用在時間顯示,跑表顯示以及其他需要顯示數字的設備上。

規(guī)格參數

  1. 工作電壓 : +5v
  2. 尺寸大小:45mm x 25mm
  3. 重量大?。?g
  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位靜態(tài)數碼管 掃描顯示器 SPI LED 數碼管
Arduino 8*8點陣模塊 單色 8X8 LED Matrix Module
Carduino UNO R3 控制器

相關學習資料

Arduino 條形LED模塊測評
奧松機器人技術論壇