查看4位数码管模块的源代码
←
4位数码管模块
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
[[Image:4位数码管-小数点.jpg|350px|thumb|4位数码管]] === 产品简介 === <br> 4位数码管模块是采用TM1650专用数码管驱动芯片驱动4位0.56英寸数码管。模块提供小数点、时钟两种模式可选择,采用PH2.0-4P接口/XH2.54-4P排针接口,配合专用传感器线使用方便接线;且有M3安装柱可选配,方便固定。 TM1650 是专用的数码管驱动芯片,多可以驱动4个8段数码管,2线控制接口,节省单片机端口资源。通过芯片内部的寄存器可以设置显示的位数和显示的亮度,8级亮度可调。 将4位数码管模块加入项目中,可用来显示数值、时钟等信息。 === 规格参数 === <br> *数码管:0.56 英寸,4 位 *驱动IC:TM1650 *工作电压 3V~5V *工作温度:-40℃~80℃ *亮度等级:8 级亮度可设置 *模块尺寸:50.5mm * 19.5mm *安装孔:3mm *安装孔中心距:42mm * 12mm *模块重量:3.8g === 引脚说明 === <br> *1. GND 黑线 -- Gnd(地) *2. VCC 红线 -- Vcc(电源+5V) *3. CLK 蓝线 -- 信号 *3. DIO 白线 -- 信号 === 应用示例 === <br> '''电路连接''' <br> {|border="1" cellspacing="0" align="center" cellpadding="5" width="600px" |- |align="center"|4位数码管显示模块 |align="center"|Arduino UNO |- |align="center"|VCC |align="center"|+5V |- |align="center"|GND |align="center"|GND |- |align="center"|CLK |align="center"|D10 |- |align="center"|DIO |align="center"|D11 |} <br> '''电路连接示意图''' <br> <img src="http://yfrobot.gitee.io/pic/wiki/4位数码管显示.png" alt="4位数码管显示" /> <font color="darkorenge">''' 提示'''</font>:以下程序需使用到 tm1650库文件,文件下载地址见页末 - 参考资料。下载后将其解压至arduinoIDE安装目录/libraries文件夹中,例如: "D:\Program Files\Arduino\arduino-1.6.4-windows\arduino-1.6.4\libraries"。 '''示例代码''' <br><br> <font color="darkcyan">'''示例一'''</font>:4位数码管显示测试 <br> [http://yfrobot.gitee.io/lib/YFTM1650.rar TM1650库文件] <pre > /* 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); } } } </pre> 程序下载地址:[http://yfrobot.gitee.io/ino/TM1650.ino TM1650] 程序运行结果:根据显示效果看程序,更方便理解 <!-- <br><br> <font color="darkcyan">'''示例二'''</font>:电位器控制[http://www.yfrobot.com/wiki/index.php?title=%E5%BD%A9%E8%89%B2LED%E6%A8%A1%E5%9D%97 彩色LED模块]变色 <br> '''电路连接示意图''' <img src="http://wiki.yfrobot.com/image/sensor_circuit/potentiometer2.png-yf" alt="potentiometer2" /> <br> <pre> /* Potentiometer control RGB LED change color */ #include <Adafruit_NeoPixel.h> #define RGBLEDPin 5 #define NUMPIXELS 4 #define pPin A0 // Parameter 1 = number of pixels in strip // Parameter 2 = pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, RGBLEDPin, NEO_GRB + NEO_KHZ800); int pVal = 0; int RVal = 0; int GVal = 0; int BVal = 0; void setup() { pinMode(RGBLEDPin, OUTPUT); pixels.begin(); // This initializes the NeoPixel library. pixels.show(); } void loop() { pVal = analogRead(pPin); //读取A0模拟口的数值(0-5V 对应 0-1203取值) if (pVal >= 0 && pVal <= 170) { RVal = 255; GVal = 0; BVal = map(pVal, 0, 170, 0, 255); } else if (pVal > 170 && pVal <= 340) { RVal = map(pVal, 170, 340, 255, 0); GVal = 0; BVal = 255; } else if (pVal > 340 && pVal <= 510) { RVal = 0; GVal = map(pVal, 340, 510, 0, 255); BVal = 255; } else if (pVal > 510 && pVal <= 680) { RVal = 0; GVal = 255; BVal = map(pVal, 510, 680, 255, 0); } else if (pVal > 680 && pVal <= 850) { RVal = map(pVal, 680, 850, 0, 255); GVal = 255; BVal = 0; } else { RVal = 255; GVal = map(pVal, 850, 1023, 255, 0); BVal = 0; } lightLED(RVal, GVal, BVal); } void lightLED(int r, int g , int b) { // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one. for (int i = 0; i < NUMPIXELS; i++) { // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255 pixels.setPixelColor(i, r, g, b); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. } } </pre> 程序下载地址:[https://eyun.baidu.com/s/3dFaSHgP ChangeColor] 程序运行结果:转动电位器,彩色led变色。 --> ===参考资料=== <br> [http://yfrobot.gitee.io/lib/YFTM1650.rar TM1650库文件] ---- [[首页 | 返回首页]] 更多建议和问题欢迎反馈至 [http://www.yfrobot.com YFRobot论坛] 购买方式:[http://yfrobot.taobao.com/ YFRobot 电子工作室]
返回
4位数码管模块
。
导航菜单
个人工具
登录
名字空间
页面
讨论
不转换
变种
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
YF-论坛提问
YFRobot-直营店
YFRobot-企业店
Arduino
Arduino之入门篇
Arduino入门教程
Arduino语法参考
Arduino库
Arduino核心代码
编程平台
Mixly库
Mind+库
MakeCode扩展
传感器系列
积木式传感器系列
黑板传感器系列
蓝板传感器系列
Micro:Bit
Micro:Bit 通用基础教程
Valon智能车
Valon-I
帮助
帮助
wiki语法参考
工具箱
链入页面
相关更改
特殊页面
页面信息