SKU:RB-05L021 4位7段数码管模块
来自ALSROBOT WiKi
目录 |
产品概述
此产品由一个12管脚的4位7段共阳极数码管和一个控制芯片TM1637构成。该模块采用沉金工艺,外观更加美观,同时采用防插反接口,操作更加安全,插口一边有大写字母I表示该模块采用IIC协议通信,另一边是数码管的图标标志。此产品可以应用在时间显示,跑表显示以及其他需要显示数字的设备上。
规格参数
- 工作电压 : +5v
- 尺寸大小:45mm x 25mm
- 重量大小:8g
- 通信协议:IIC
接口定义
- SCL:IIC时钟信号引脚
- SDA:IIC数据信号引脚
- -:电源地
- +:电源正极
使用方法
连接示意图
SCK引脚接到控制器的A5口, SDA引脚接到控制器的A4口。+和-分别接到电源的+5V和GND。
例子程序
头文件下载链接:https://pan.baidu.com/s/1I4C4NQaknzumUk8SfDDN9g?pwd=3lr2 提取码:3lr2
#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;
}
程序效果
注意程序中包含的头文件需要下载,程序下载进去之后就可以正常显示时钟了。
产品相关推荐
产品资料
下载链接:https://pan.baidu.com/s/13OfbTfJjV1xPkoEmPjSaZw 提取码:69mr
产品购买地址
周边产品推荐
Arduino 8位静态数码管 扫描显示器 SPI LED 数码管
Arduino 8*8点阵模块 单色 8X8 LED Matrix Module
Carduino UNO R3 控制器
