4位數碼管模塊

出自YFRobotwiki
在2019年12月28日 (六) 09:51由Allblue對話 | 貢獻所做的修訂版本

跳轉到: 導覽搜尋
創建縮圖錯誤: 檔案似乎遺失:
4位數碼管


產品簡介


4位數碼管模塊是採用TM1650專用數碼管驅動芯片驅動4位0.56英寸數碼管。模塊提供小數點、時鐘兩種模式可選擇,採用PH2.0-4P接口/XH2.54-4P排針接口,配合專用傳感器線使用方便接線;且有M3安裝柱可選配,方便固定。

TM1650 是專用的數碼管驅動芯片,多可以驅動4個8段數碼管,2線控制接口,節省單片機端口資源。通過芯片內部的寄存器可以設置顯示的位數和顯示的亮度,8級亮度可調。

將4位數碼管模塊加入項目中,可用來顯示數值、時鐘等信息。


規格參數


  • 數碼管:0.56 英寸,4 位
  • 驅動IC:TM1650
  • 工作電壓 3V~5V
  • 工作溫度:-40℃~80℃
  • 亮度等級:8 級亮度可設置
  • 模塊尺寸:50.5mm * 19.5mm
  • 安裝孔:3mm
  • 安裝孔中心距:42mm * 12mm
  • 模塊重量:3.8g


引腳說明


  • 1. GND 黑線 -- Gnd(地)
  • 2. VCC 紅線 -- Vcc(電源+5V)
  • 3. CLK 藍線 -- 信號
  • 3. DIO 白線 -- 信號


應用示例


電路連接


4位數碼管顯示模塊 Arduino UNO
VCC +5V
GND GND
CLK D10
DIO D11


電路連接示意圖


4位數碼管顯示

提示:以下程序需使用到 tm1650庫文件,文件下載地址見頁末 - 參考資料。下載後將其解壓至arduinoIDE安裝目錄/libraries文件夾中,例如: "D:\Program Files\Arduino\arduino-1.6.4-windows\arduino-1.6.4\libraries"。

示例代碼

示例一:4位數碼管顯示測試

TM1650庫文件

/*------------------------------------------------------------------------------------

   TM1650 nixie tube

   This example code shows how to use the functions of the TM1650 Library.

  -------------------------------------------------------------------------------------*/
/*************************************************************************************/

#include<tm1650.h>

#define ON	DISPLAY_ON
#define OFF	DISPLAY_OFF
#define SegmentMode		_8_SEGMENT_MODE
unsigned char  LightLevel = LV2;
unsigned char  WorkMode = NORMAL_MODE;

//define each segment
const unsigned char  Seg_test[8] =      {0x20, 0x01, 0x02, 0x04, 0x08, 0x10, 0x40, 0x80};
//number 0-9 code
const unsigned char Number_arr[10] =   {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};

unsigned char i, j = 0, k = 0, l = 0, m = 0;
unsigned char temp[4] = {0x3f, 0x06, 0x5b, 0x4f};
boolean err = 0;

int	pin_SCK = 10;
int	pin_DIO = 11;

TM1650 tm1650(pin_SCK, pin_DIO);

void setup()
{

}

void loop()
{

  //config tm1650
  err = tm1650.DisplayConfig_TM1650(LightLevel, SegmentMode, WorkMode, ON);
  //all nixie tube turn on
  for (i = 0; i < 4; i++)
  {
    err = tm1650.DisplayOneDigi_TM1650(i + 1, 0xFF);
  }
  delay(500);

  //loop each segment
  for (m = 0; m < 8; m++)
  {
    for (i = 0; i < 4; i++)
    {
      err = tm1650.DisplayOneDigi_TM1650(i + 1, Seg_test[m]);
    }
    delay(500);
  }

  //display form 0 to 9
  for (m = 0; m <= 9; m++)
  {
    for (i = 0; i < 4; i++)
    {
      err = tm1650.DisplayOneDigi_TM1650(i + 1, Number_arr[m]);
    }
    delay(500);
  }
  //display the content of array temp[]
  for (i = 0; i < 4; i++)
  {
    err = tm1650.DisplayOneDigi_TM1650(i + 1, temp[i]);
  }
  delay(500);

  //all turn off
  err = tm1650.DisplayOFF_TM1650(LightLevel, SegmentMode, WorkMode);
  delay(1000);

  //turn on again
  err = tm1650.DisplayON_TM1650(LightLevel, SegmentMode, WorkMode);
  delay(1000);
}

程序下載地址:TM1650_nixie_tube

程序運行結果:根據顯示效果看程序,更方便理解


參考資料


TM1650庫文件





返回首頁

更多建議和問題歡迎反饋至 YFRobot論壇

購買方式:YFRobot 電子工作室