Учился использовать оператор FOR, вот что получилось

Тема в разделе "Глядите, что я сделал", создана пользователем pyro, 28 сен 2012.

  1. pyro

    pyro Гик

    Использовано 6 светодиодов. Выходы 2-7. Переменное сопротивление регулирует задержку. Подключенно к питанию средний ко входу 0. Видео http://youtu.be/udiC9SPMi98
     

    Вложения:

    • cikl.zip
      Размер файла:
      743 байт
      Просмотров:
      286
  2. nailxx

    nailxx Официальный Нерд Администратор

    Дык сам код выкладывайте. Новички скажут спасибо :)
     
  3. pyro

    pyro Гик

    выложил
     
  4. Unixon

    Unixon Оракул Модератор

    Отшлифуйте код, а то там со стилем оформления полный швах.
    - ступеньки поехали, с первого взгляда непонятно какая строчка к какому блоку относится;
    - из названий переменных абсолютно не понятно их назначение;
    - глобальные константы объявлены как переменные, но в такой роли не используются;
    - магические числа типа "2", "7" для пинов стоит объявить константами;
    В остальном всё ОК, после шлифовки можно хоть в вики.
     
    Tomasina нравится это.
  5. nailxx

    nailxx Официальный Нерд Администратор

    Позвольте по крайней мере форматирование сделать за вас vim’у:

    Код (Text):

    //Создаем переменные
    int reo = 0;
    int cicl = 2;
    int ciclProg = 1;
    //настраиваем порты
    void setup()
    {
        pinMode(2, OUTPUT);
        pinMode(3, OUTPUT);
        pinMode(4, OUTPUT);
        pinMode(5, OUTPUT);
        pinMode(6, OUTPUT);
        pinMode(7, OUTPUT);
        //мигнем диодами
        //проверим все ли работают
        for (int j=0; j<=5; j++)
        {
            digitalWrite(j+2, HIGH);
        }
        delay (1000);
        for (int j=0; j<=5; j++)
        {
            digitalWrite(j+2, LOW);
        }
    }
    //
    //сама программа
    void loop()
    {
     
        //программа 1
     
        for (int prog=0; prog <=ciclProg; prog++)
        {
     
            //подпрограмма 1.1
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, HIGH);
                    delay (mapdly);
                    digitalWrite(j+2, LOW);
                }
            }
     
            //подпрограмма 1.2
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, HIGH);
                    delay (mapdly);
                    digitalWrite(7-j, LOW);
                }
            }
     
            //подпрограмма 1.3
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, HIGH);
                    delay (mapdly);
                    digitalWrite(j+2, LOW);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, HIGH);
                    delay (mapdly);
                    digitalWrite(7-j, LOW);
                }
            }
        }
     
        //программа 2
     
        for (int prog=0; prog <=ciclProg; prog++)
        {
            for (int j=0; j<=5; j++)
            {
                int dly = analogRead(reo);
                int mapdly = map (dly, 0, 1023, 30, 150);
                digitalWrite(j+2, HIGH);
                delay (mapdly);
            }
     
            //подпрограмма 2.1
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, LOW);
                    digitalWrite(j+3, LOW);
                    delay (mapdly);
                    digitalWrite(j+2, HIGH);
                    digitalWrite(j+3, HIGH);
                }
            }
     
            //подпрограмма 2.2
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, LOW);
                    digitalWrite(6-j, LOW);
                    delay (mapdly);
                    digitalWrite(7-j, HIGH);
                    digitalWrite(6-j, HIGH);
                }
            }
     
            //подпрограмма 2.3
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, LOW);
                    digitalWrite(j+3, LOW);
                    delay (mapdly);
                    digitalWrite(j+2, HIGH);
                    digitalWrite(j+3, HIGH);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, LOW);
                    digitalWrite(6-j, LOW);
                    delay (mapdly);
                    digitalWrite(7-j, HIGH);
                    digitalWrite(6-j, HIGH);
                }
            }
        }
     
        //программа 3
     
        //подпрограмма 3.1
     
        for (int prog=0; prog <=ciclProg; prog++)
        {
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, HIGH);
                    delay (mapdly);
                }
            }
     
            //подпрограммам 3.2
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, HIGH);
                    delay (mapdly);
                }
            }
            //подпрграмма 3.3
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, HIGH);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(2+j, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, HIGH);
                    delay (mapdly);
                }
            }
        }
     
        //программа 4
     
        for (int prog=0; prog <=ciclProg; prog++)
        {
            //подпрограмма 4.1
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(j+2, HIGH);
                    delay (mapdly);
                }
            }
     
            //подпрограмма 4.2
     
            for (int cikl=0; cikl<=cicl; cikl++)
            {
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(2+j, LOW);
                    delay (mapdly);
                }
                for (int j=0; j<=5; j++)
                {
                    int dly = analogRead(reo);
                    int mapdly = map (dly, 0, 1023, 30, 150);
                    digitalWrite(7-j, HIGH);
                    delay (mapdly);
                }
            }
        }
    }
     
     
  6. pyro

    pyro Гик

    Спасибо за помощь. Был занят. Сегодня отредактировал хотел, хотел выложить, увидел вашу работу. Еще раз спасибо. может поможет кому.
    Вопрос. Как вы выкладываете листинг программы, Я не разобрался.
     
  7. nailxx

    nailxx Официальный Нерд Администратор

    Есть bb-code тэг:

    [ CODE]
    your code = goes_here;
    [ /CODE]

    Просто уберите пробелы после открывающей квадратной скобки.
     
  8. вам надо было снять и крутящуюся ручку переменного резистора, что бы было видно что происходит и как это влияет...
    и уложить все в минуту. иначе долго, нудно и не понятно что это вообще такое и т.п.
     
  9. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    [ code=cpp]

    [ /code]