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

2022-2-10 07:31 2635 22 2 分类: MCU/ 嵌入式 文集: 雕爷学编程

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


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

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

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

  实验开源代码

/*
  • 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  • 实验九十七:10段LED发光条MT102510AG数码显示光柱模块
  • 1、项目一:10段红色数码光条,逐条点亮逐条熄灭
  • 2、接脚(2、3、4、5、6、7、8、9、10、11)
  • */
  • int BASE = 2 ;
  • int NUM = 10;
  • void setup(){
  • for (int i = BASE; i < BASE + NUM; i ++)
  • {
  • pinMode(i, OUTPUT);
  • }
  • }
  • void loop(){
  • for (int i = BASE; i < BASE + NUM; i ++)
  • {
  • digitalWrite(i, LOW);
  • delay(200);
  • }
  • for (int i = BASE; i < BASE + NUM; i ++)
  • {
  • digitalWrite(i, HIGH);
  • delay(200);
  • }
  • }
  • 复制代码


    实验场景图 


     实验开源代码之二

    /*
  • 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  • 实验九十七:10段LED发光条MT102510AG数码显示光柱模块
  • 1、程序之二,流水灯效果:全灭的灯逐个往一边点亮,再逐
  • 个往开始端灭掉,循环即可,当然也可以其它效果,可自己设定
  • 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 i;
  • void setup() {
  • for (i = 2; i < 12; i++)
  • {
  • pinMode(i, OUTPUT);
  • }
  • }
  • void loop() {
  • for (i = 1; i < 12; i++)
  • {
  • digitalWrite(i, HIGH);
  • delay(50);
  • } for (i = 12; i > 1; i--)
  • {
  • digitalWrite(i, LOW);
  • delay(50);
  • }
  • }
  • 复制代码

     实验开源代码之三

    /*
  • 【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);
  • }
  • }</p><p>
  • void clean()
  • { for(n=2;n<=11;n++)
  • {
  • digitalWrite(n,LOW);
  • }
  • delay(300);
  • }
  • 复制代码

    实验的视频记录

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

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

    作者: 雕爷学编程, 来源:面包板社区

    链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

    版权声明:本文为博主原创,未经本人允许,禁止转载!

    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    我要评论
    0
    22
    关闭 站长推荐上一条 /3 下一条