1. Home
  2. Docs
  3. 磁力电子学电路实验套件编程版(实验指南)
  4. 三、电路实验
  5. 3.16 驱动四位数码管

3.16 驱动四位数码管

实验名称: 驱动四位数码管
实验难度: ★★★★★
实验简述: 数码管也是电子制作中较常用的元件,通常用于数字以及简单字母字符的显示,例如显示世间信息、数值信息等等。本实验我们将通过程序驱动套件配套的四位数码管模块,实现让数码管模块显示指定的信息。(注意:本模块运作的条件较高,需要开发者具有一定的耐心,如配上未知错误问题请细心调试,详情可参阅下文重要提示。
实验过程: 拼接电路并连接好数据线,启动Buddy++,点击上方菜单栏右侧的“预设置”按钮,选择对应版型“Arduino Nano w / ATmega328”和当前连接的串口序号。

在Buddy++界面上方菜单栏点击“例子”选项,展开选项“例子程序”—>“Modular”—>“BD_DigitalTube”,双击选中“DigitalTubeTest”,打开LED阵列测试程序。

当然也可以在Buddy++中直接打开“Example-16.ino”源码文件。

确认无误后点击菜单栏中的“烧录”按钮,程序完成编译后将自动烧录到开发板当中,操作无误后程序将开始执行。

实验电路:Example-16.ino  
程序代码:  

	  
#include<BD.h>  
#include<BD_DigitalTube.h>  
	  
BD_DigitalTube digitalTube;  
	  
void setup()   
{  
	Serial.begin(9600);  
			
	// DIO->D2, CLK->D3  
	digitalTube.Init(D6, D5);  
			  
	pinMode(9, OUTPUT);  
}  
	  
void loop()   
{  
	// 点亮中间分割点  
	digitalTube.SetPoint(1);  
		  
	// 显示4位数值  
	digitalTube.Display(1990);  
	delay(1000);  
			  
	// 关闭中间分割点  
	digitalTube.SetPoint(0);  
			  
	// 显示4位数值  
	digitalTube.Display(2016);  
	delay(1000);  
		  
	// 点亮中间分割点  
	digitalTube.SetPoint(1);  
			  
	// 逐位显示数字  
	digitalTube.Display(0, 8);  
	digitalTube.Display(1, 7);  
	digitalTube.Display(2, 6);  
	digitalTube.Display(3, 5);  
		
	delay(3000);  
}  

 

重要提示: 由于四位数码管积木模块对运行环境要求较高,请在通电运行前保证电源供电充足(建议采用9V输出功率较高的电源),电路触点要充分接触,如果电路接触不良,特别是两个通讯I/O接触不良或在运行的过程中松脱移位,这样将导致数码管出现显示停顿、显示不全以及乱码的现象,重新拼接电路并通电一般可以解决。

图  实验电路实拍