查看: 4768|回复: 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);
      }
    }



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

    本版积分规则

    热门推荐

    博哥零基础教你玩转ESP8266(十三) ESP8266WiFiGeneric库
    博哥零基础教你玩转ESP826
    帖子导航帖 博哥零基础教你玩转ESP8266(一) 重识ESP8266 博哥零基础教你玩转ESP8266
    求助!WeMos D1 WiFi怎么接0.96寸OLED?(ㄒoㄒ)
    求助!WeMos D1 WiFi怎么
    求助!WeMos D1 WiFi怎么接0.96寸OLED?(ㄒoㄒ) 想用WeMos D1 WiFi接收服务器的数据然
    串口发送16进制指令求助
    串口发送16进制指令求助
    我准备串口发出16进制指令到我的外置设备 代码如下图 我分别监控ARDUINO的tx口和USB口
    一文教你选择Arduino开发板,小白进
    一文教你选择Arduino开发
    笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
    大神们!1602显示屏上的MQ2浓度示数不是实时监测的何解
    大神们!1602显示屏上的MQ
    本人小白,刚刚接触arduino,长时间的查阅资料后,通过复制修改代码接线实现了DHT11实
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表