回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【雕爷学编程】Arduino动手做(97)---10段LED光柱模块2 中等

头像 驴友花雕 2023.07.29 17 0

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验九十七:10段LED发光条MT102510AG数码显示LM3914光柱模块

 

0.jpg

LM3914芯片

是美国Ns公司研制的点/条显示驱动集成电路。内含输入缓冲器、10级精密电压比较器、1.25V基准电压源及点/条显示方式选择电路等。10级电压比较器的同相输入端与电阻分压器相连,电阻分压器由10只1kg精密电阻串联组成。


 

各单位级比较器的加权值相等,从而使得十级线性显示驱动器的组成,适合与LED中使用,更能完成LCD、VFD电平表的线性标度器件的完美驱动。工作电压为3v~25W最高为48V,输出电流在2~30mA范围可调,输出端承压能力为±35V,最大输出限制在30mA之内输入缓冲器接成跟随器形式,提高了输入阻抗和测量精度。LM3914内部设有迟滞电路,显示不是从一个LED立刻跳到男一个LED,而是平缓过度,可消除噪声干扰,改善输入信号俠速变化时引起的闪烁现象。由于内部电阻分压器是浮接的,所以电压测量范围很宽。


 

LM3914是10位发光二极管驱动器,它可以把输入模拟量转换为数字量输出驱动10位发光二极管来进行点显示或柱显示。

 

11-.jpg

LM3914引脚及相关功能介绍:

1脚接发光管负极;2脚地;3脚正电源;4脚发光管最低亮度设定;5脚信号输入;6脚发光管最高亮度设定;7脚基准电压输出;8脚基准电压设定;9脚模式设定;10-18脚接发光管负极。

LM3914参考电压源输出约5V,即在7脚和8脚之间维持一个5V的基准电压[color=rgb(0, 66, 118) !important]Vref,该基准可以直接给内部分压器使用,这样当Vin(5脚)输入一个0~5V电压时,通过比较器即可点亮0~10个发光二极管。

4脚和6脚之间连接有10个精密分压电阻,7脚和8脚之间是一个参考电压源,9脚为点/柱模式选择,5脚为信号输入端。

 

14.jpg
15.jpg

LM3914的内部电路结构图

   该电路可用于需要对湿度进行检测和指示的场合。
   LM3914中有10个电压比较器作为10个发光二极管的驱动器,每个电压比较器的基准电压都是由串联电阻器分压电路提供的,其电压值从上至下递减。湿度传感器Icl检测到的湿度信号经R.、RP1后,作为控制信号从IC2的⑤脚输入,经缓冲放大器后输出,并加到10个电压比较器的反向输入端,当比较器的反向输入电压大于该比较器同相端的电压是该比较器输出低电平,相应的发光二极管点亮。
   LM3914中的缓冲放大器输出到电压比较器反相端的电压越高,点亮的二极管越多,当该电压高于图中⑩脚连接的比较器同相端电压时,电路中10个发光二极管全部点亮。

 

22.gif
 

LM3914N的工作原理与应用电路
电容器充电电路由时基集成电路ICl、继电器Kl和电阻器R4组成。电容器放电电路由电阻器R5、晶体管Vl、V2和继电器K2组成。充/放电选择控制电路由开关S、电阻器R3、供电电源插座XS和二极管VDl、VD2组成。多谐振荡器电路由电阻器Rl、电容器C2和与非门集成电路IC2(Dl、D2)组成。LED显示驱动电路由发光二极管VLl-VL36、电阻器R6、R2、电容器Cl和计数分配器集成电路IC3组成。演示电容器充电过程时,将S置于“充电”位置,使ICl和IC3的工作电源接通。在未接上充电电容器时,IC1的7脚输出高电平,Kl不吸合,多谐振荡器不工作,IC3在通电复位后,其YO端输出高电平,而YI-Y9端均输出低电平,VLl-VL36均不发光。接上充电电容器后,由于该电容器两端电压不能突变,IC1的2脚和6脚由低电平变为高电平,7脚由高电平变为低电平,Kl通电吸合,其常开触头接通,使多谐振荡器通电工作,为IC3的CP端提供计数脉冲,使IC3的YO-Y9端依次轮流输出高电平,VLl、VL2-VLl7、VLl8依次轮流点亮。IC3的Y9端与EN端相连,当输出高电平时,IC3停止计数,并保持Y9端恒定输出高电平的状态,使VLl7和VLl8处于长亮状态。从而演示了电容器充电时电容器的电压与电流的变化规律:即端电压随充电时间的变长而越来越高,直至不变;而流过电容器的电流则随充电时间的变长而越来越小,直至为零。在电容器充电电路工作时,当电容器充电完毕 (两端电压充至电源电压的2/3)时,ICl的7脚就会由低电平变为高电平,使Kl释放,多谐振荡器停止工作。演示电容器放电过程时,应先将充电电容器取下,将S置于“放电“位置,将已充电电容器接到T3、T4两放电端上。此时电容器上所存电荷经R5对Vl放电,使Vl和V2饱和导通,K2吸合,其常开触头接通,多谐振荡器振荡工作,为IC3提供计数脉冲,lC3的YO-Y9输出端依次轮流输出高电平,使VLl9、VL2O-VL35、VL36依次轮流点亮。当IC3的Y9端输出高电平时,lC3停止计数,并保持Y9端恒定输出高电平的状态,使VL35和VL36长亮。从而演示了电容器放电时其端电压和电流均随着放电时间的变长而越来越低这一变化规律。当电容器放电完毕后,Vl和V2截止,K2释放,多谐振荡器停止工作。

 

13.jpg
16.jpg
17.jpg
18.jpg
19.jpg
21.jpg

10段光条数码管模块,红色20个脚,外形尺寸:25.10x10.10x7.9mm,一面脚为正极一面为负极,超亮红色光条,10个笔段可以单独控制

 

01.jpg
01-.jpg

10段LED光柱模块特性
*能在低电压、小电流条件下驱动发光;
*发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高;
*体积小,重量轻,抗冲击性能好。固态封装,封装方式为灌胶型,稳定性高;
*寿命长,使用寿命在5万小时以上;
*可连续扫描驱动各灯段;
*良好的显示效果、视角宽;
*推荐恒流使用,恒压会出现亮度不均匀现象;
*表面有保护膜的产品,可以在使用前撕下来;
*使用温度:-30℃至65℃。
 

08 (1).jpg

实验开源图形编程(Mind+、编玩边学)

 

10.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验九十七:10段LED发光条MT102510AG数码显示光柱模块

1、程序之三,控制多个LED实现多种闪烁效果

2、接脚(2、3、4、5、6、7、8、9、10、11)

Arduino实验开源代码
 

 

代码
/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验九十七:10段LED发光条MT102510AG数码显示光柱模块

1、程序之三,控制多个LED实现多种闪烁效果

2、接脚(2、3、4、5、6、7、8、9、10、11)

*/



int led1 = 2;

int led2 = 3;

int led3 = 4;

int led4 = 5;

int led5 = 6;

int led6 = 7;

int led7 = 8;

int led8 = 9;

int led9 = 10;

int led10 = 11;

int n;





void setup(){

for(n=2;n<=11;n++)

{

  pinMode(n, OUTPUT);  

}

}



void loop(){

  turn1();

  clean();

  turn2();

  clean();

  turn3();

  clean();

}



void turn1()

{

  for(n=2;n<=11;n++)

{

  digitalWrite(n,HIGH);

  delay(300);

}

  for(n=2;n<=11;n++)

{

  digitalWrite(n,LOW);

  delay(300);

}

}



void turn2()

{ for(int x=0;x<=2;x++)

{

  for(n=2;n<=11;n++)

{

  digitalWrite(n,HIGH);  

}

delay(300);

  for(n=2;n<=11;n++)

{

  digitalWrite(n,LOW);

}

delay(300);

}

}





void turn3()

{

  for(int x=0;x<=2;x++)

  {

  digitalWrite(2,HIGH);

  digitalWrite(3,HIGH);

  for(n=4;n<=11;n++){

  digitalWrite(n,LOW);

  }

  delay(300);

  digitalWrite(6,HIGH);

  digitalWrite(7,HIGH);

  digitalWrite(2,LOW);

  digitalWrite(3,LOW);

  digitalWrite(4,LOW);

  digitalWrite(5,LOW);

  digitalWrite(8,LOW);

  digitalWrite(9,LOW);

  digitalWrite(10,LOW);

  digitalWrite(11,LOW);

  delay(300);

  digitalWrite(10,HIGH);

  digitalWrite(11,HIGH);

  for(n=2;n<=9;n++){

  digitalWrite(n,LOW);

  }

  delay(300);

}

}



void clean()

{  for(n=2;n<=11;n++)

{

  digitalWrite(n,LOW);  

}

delay(300);

}

Arduino实验场景图

 

09.jpg

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验九十七:10段LED发光条MT102510AG数码显示光柱模块

 

程序之三,控制多个LED实现多种闪烁效果记录视频

https://v.youku.com/v_show/id_XNDMzNTk0ODE1Ng==.html?spm=a2hzp.8244740.0.0

 

评论

user-avatar
icon 他的勋章
    展开更多