4位數碼管模塊

出自YFRobotwiki
在2020年4月9日 (四) 08:36由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庫文件

/*
  8-segment display driver of YFRobot 4-bit digital tube module based on TM1650 chip
  Created by yfrobot,Released into the public domain.
*/
 
#include <YFTM1650.h>
 
YFTM1650 YF_4BitDis(10, 11);
 
void setup()
{
  Serial.begin(38400); //Start serial communication at 9600 for debug statements
  Serial.println("YFRobot TM1650 Example Code");
  YF_4BitDis.init();
}
 
void loop()
{
  YF_4BitDis.setBrightness(1);
  YF_4BitDis.displayString(String("____"));
  delay(1000);
  char line[] = "1234";
 
  YF_4BitDis.displayString(line);
  YF_4BitDis.setBrightness(7);
 
  for (int i = 1; i <= 8; i++) {
    YF_4BitDis.setBrightness(i);
    delay(200);
  }
  for (int i = 1; i <= 8; i++) {
    YF_4BitDis.setBrightness(8 - i);
    delay(200);
  }
 
  YF_4BitDis.displayString(-1.235);
  delay(1000);
 
  YF_4BitDis.displayString(12.10);
  delay(1000);
 
  YF_4BitDis.displayString(String("abcd"));
  delay(2000);
 
  YF_4BitDis.displayString(2020);
  delay(2000);
 
  if (YF_4BitDis.displayRunning(String("1234567890abcdefghijklmnop"))) {
    delay(500);
    while (YF_4BitDis.displayRunningShift()) {
      delay(500);
    }
  }
  delay(2000);
 
  for (int i = 0; i < 20; i++) {
    YF_4BitDis.displayOff();
    delay(200);
    YF_4BitDis.displayOn();
    delay(200);
  }
 
  for (int i = 0; i < 20; i++) {
    YF_4BitDis.setBrightness(1);
    delay(200);
    YF_4BitDis.setBrightness(8);
    delay(200);
  }
 
  for (int i = 0; i < 20; i++) {
    for (int j = 0; j < 4; j++) {
      YF_4BitDis.setDot(j, true);
      delay(200);
    }
    for (int j = 0; j < 4; j++) {
      YF_4BitDis.setDot(j, false);
      delay(200);
    }
  }
}

程序下載地址:TM1650

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


參考資料


TM1650庫文件





返回首頁

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

購買方式:YFRobot 電子工作室