查看: 3454|回复: 6

关于教程中第一个流水灯

[复制链接]
  • TA的每日心情
    郁闷
    2017-9-7 11:53
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2017-8-17 22:26 | 显示全部楼层 |阅读模式
    关于教程中第一个流水灯,目前效果是1,
    2,
    3,
    4,
    5,
    6,
    7
    按照顺序一个一个亮。


    如果我想按照
    1,
    12,
    123,
    1234,
    12345,
    123456,
    1234567

    这种顺序亮,程序该怎么写呢?

    ---
    目前程序如下:
    void setup()
    {
    for (int i=2;i<8;i++)
    pinMode(i,1);
    }
    void loop()
    {
    for(int i=2;i<8;i++)
    {
      digitalWrite(i,1);
      delay(200);
      digitalWrite(i,0);
      }
    }

    该用户从未签到

    发表于 2017-8-19 15:36 | 显示全部楼层
    void setup()
    {
    for (int i=2;i<8;i++)
    pinMode(i,1);
    }
    void loop()
    {
    for(int i=2;i<8;i++)
    {
      digitalWrite(i,1);
      delay(200);
      
      }
    for(int i=7;i>2;i--)
       {
      digitalWrite(i,0);
      delay(200);
      
      }
    }

    该用户从未签到

    发表于 2017-8-19 15:38 | 显示全部楼层
    我也是新手 根据例程试出来的 其实也想不太明白

    该用户从未签到

    发表于 2017-9-18 11:38 | 显示全部楼层
    void Twinkle_Two()
    {     
          char i;
         if(PINB == 0x02)
         {
          for(i=0;i<8;i++)
              {
               PORTD |= (1<<i);
               _delay_ms(300);
               PORTD |=~(1<<i);
               }
          }
    }

    该用户从未签到

    发表于 2017-9-18 22:08 | 显示全部楼层
    如果重复亮的灯中间没有间隔熄灭的话,就把  digitalWrite(i,0);去掉就好了,如果需要间隔熄灭那还需要添加代码

    该用户从未签到

    发表于 2018-3-17 18:09 | 显示全部楼层
    同上,不过你应该加一段判断在全部亮后关闭所有灯然后在重新亮
  • TA的每日心情

    2018-5-26 08:42
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2018-5-17 23:16 | 显示全部楼层
    本帖最后由 PingWang13 于 2018-5-17 23:19 编辑

    应该这样写,使用双重循环,外层循环控制LED灯下次打开的灯数量比上次多一个,内层循环控制每个循环内灯的开关,就可以了!!


    int i;
    int j = 0;
    void setup() {
      for (i = 8; i <= 14; i++)
        pinMode(i, OUTPUT);
    }
    void loop() {
      for (i = 8; i <= 14; i++)
      {
        for (j = 8; j <= i; j++)    {
          digitalWrite(j, HIGH);
        }
        delay(30);
        for (j = 8; j <= i; j++)    {
          digitalWrite(j, LOW);
        }
        delay(30);
      }
    }



    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    我住长江头,君住长江尾,恰有同道者,千里来相会
    我住长江头,君住长江尾,
    我住长江头,君住长江尾恰有同道者,千里来相会 OneNET开发者交流会邀你来参加啦~活动
    请问这个串口软件是什么
    请问这个串口软件是什么
    问大佬们,如图的串口软件叫什么呢,跟arduino官方IDE好像不太一样,好用吗
    基于红外接收器与1602的简化科学计算器
    基于红外接收器与1602的简
    上图展示效果 硬件: arduino uno r3 红外接收器和遥控器 1602显示屏 面包板 杜邦线
    请教一下安装esp8266扩展问题
    请教一下安装esp8266扩展
    通过这个地址http://arduino.esp8266.com/stable/package_esp8266com_index.json以在
    云闪付为了购物 小伙居然...
    云闪付为了购物 小伙居然.
    驱动云闪付的屏幕 该屏幕是因为熊孩子拆了云闪付pos机,pos机防拆的机制导致损坏,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表