Интересная подсветка.

Тема в разделе "Флудилка", создана пользователем Castortroy, 9 июл 2021.

  1. parovoZZ

    parovoZZ Гуру

    Я тоже электрик. А ещё плиточник, слесарь, плотник, маляр..., сборщик мебели, ну и в конце только электронщик, проектировщик.
     
  2. Castortroy

    Castortroy Нерд

    Вот тут увы... я электрик... квалифицированный... но вот в электронике фанаркин... но познаю потехоньку... и вот с таких ответов всегда заканчиваю свои вопросики)))) ибо выход есть всегда. и я его найду и пофиг на этот форум)
     
  3. b707

    b707 Гуру

    вообще-то обида - это глупая реакция, я вас не просто потроллил, а указал на ошибку. Более правильно было бы не обижаться, а разобраться, в чем она. и исправить. Конечно, код после этого не заработает, ибо таких ошибок вам предстоит еще сотни... но это шаг в верном направлении.

    Вам, как электрику, такая аналогия. Этот код - как брошенный на пол в пустой квартире моток провода. От него до готовой проводки еще надо разложить, отрезать, проштробить, установить розетки и выключатели, собрать распределительный щиток со счетчиком, а потом еще все это красиво заштукатурить и покрасить... И тут к вам подходит жилец и спрашивает - расскажи мне в двух словах как проводку собирают :)
     
    Airbus нравится это.
  4. parovoZZ

    parovoZZ Гуру

    Как, как. Плюс на минус, ноль на массу.
     
    Airbus нравится это.
  5. b707

    b707 Гуру

    знаю я этих "электриков", плавал :)
    Два электрика с дипломами, ДЕРЖА В РУКАХ СХЕМУ!!!, не смогли собрать пару проходных выключателей, что свет в коридоре можно было с двух точек включать... собирал сам.
    Я уж не говорю про щиток со счетчиком - собрали так, что инспектор как открыл - так и закрыл сразу.
    В итоге тоже сам собрал и сдал энергонадзору...
    А "электрики" эти... профи... годятся только для тупых работ - стены штробить и "точки" ставить.
     
  6. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ну это еще нормально. Я (инж-электроник 1 кат.) не выдержал на покрасчике бордюров, белильщике деревьев и газонокосильщике.
     
  7. Рокки1945

    Рокки1945 Гуру

    Вот здесь
    переменной присваиваете значение считанное с входа,
    а в условие опрашиваете состояние входа - а необходимо if(sensor1 == 0), лучше не int а bool - HIGH or LOW, при инициализации лучше этой
    переменной присвоить если у Вас по низу то bool sensor1 = HIGH;
    И ещё необходимо программно включить подтягивающий резистор - от ложных срабатываний.
    Ну а по-хорошему - должно быть представление как работает датчик и сама схема - необходима отладка по частям и ещё много чего...
    Так что ребята правы на все сто - лучше купить готовый рабочий вариант проверенный временем - да ещё и с гарантией 10 лет.
     
  8. Airbus

    Airbus Радиохулиган Модератор

    Ты то да—мастер на все руки и Знаток всего!
    Узбеги?
     
  9. Airbus

    Airbus Радиохулиган Модератор

    А так? Поправил Ваш код. по факту написал заново-проверяйте
    Код (Text):
    void setup()
    {
      pinMode (1, OUTPUT); //Выходы
      pinMode (2, OUTPUT);
      pinMode (3, OUTPUT);
      pinMode (4, OUTPUT);
      pinMode (5, OUTPUT);
      pinMode (6, OUTPUT);
      pinMode (7, OUTPUT);
      pinMode (9, OUTPUT);

      pinMode (11, INPUT); //Вход 11 пин
      pinMode (12, INPUT);  //Вход 12 пин
    digitalWrite (11, HIGH); //Подтяжка
    digitalWrite (12, HIGH); //Подтяжка
    }

    void loop() {
      if (digitalRead(11) == LOW  || digitalRead(12) == LOW) // если любая кнопка нажата
      {
        digitalWrite (1, HIGH); //Зажигаем огни
        delay (2000);
        digitalWrite (2, HIGH);
        delay (2000);
        digitalWrite (3, HIGH);
        delay (2000);
        digitalWrite (4, HIGH);
        delay (2000);
        digitalWrite (5, HIGH);
        delay (2000);
        digitalWrite (6, HIGH);
        delay (2000);
        digitalWrite (7, HIGH);
        delay (2000);
        digitalWrite (8, HIGH);
        delay (20000);
      }
    }
     
  10. b707

    b707 Гуру

    ну исправил ты одну строчку - код-то все одно полная помойка., отработки датчиков нет, задержки через делеи тут нельзя
     
    Vovka и parovoZZ нравится это.
  11. Рокки1945

    Рокки1945 Гуру

    Неправильно, а приоритет верх вниз, да и сброса нету у выходов. Если вниз спускаться, то сначала 9 зажигается...
     
  12. Airbus

    Airbus Радиохулиган Модератор

    Почему ТУТ нельзя? Какраз тут можно и нужно. Код ничего не делает как дрыгает ножками. А исправил я 80%. Ну а насчет алгоритма я не в курсе пусть сам думает
    Код писать за ТС я не собираюсь. Накидал ему скелет—сам пусть разбирается что и как
     
  13. Рокки1945

    Рокки1945 Гуру

    Ок
     
  14. Castortroy

    Castortroy Нерд

    Ребят благодарю, как говорится главное зачать... дальше сам буду пробовать... думаю нет ничего не выполнимого.
     
  15. Castortroy

    Castortroy Нерд

    Всегда рад критике... ибо как раз в таких ответах можно и найти ответ по своему вопросу... А по поводу обиды, даже и не думал) ибо толку...
     
  16. Airbus

    Airbus Радиохулиган Модератор

    Ссылку мою смотрели?Пост 4? Там проект ИгоряК уважаемого человека код с видео
     
  17. Castortroy

    Castortroy Нерд

    Да, ссылочки я всегда просматриваю, даже если не подходит всегда чтото можно запомнить...\

    А код как я и говорил оказался банально прост) и не нужно ни таймеров ни чего заумного)))
    Единственное для остальных режими HIGH и LOW подбираются под ваши датчики и релешки. в моем случае в таком виде все работает как и хотелось.
    Собственно рабочий скетч. Бесплатно для остальных.

    Код (C++):
    #define Rel1  2 // назначаем порт для реле1
    #define Rel2  3 // назначаем порт для реле2
    #define Rel3  4 // назначаем порт для реле3
    #define Rel4  5 // назначаем порт для реле4
    #define Rel5  6 // назначаем порт для реле5
    #define Rel6  7 // назначаем порт для реле6
    #define Rel7  8 // назначаем порт для реле7
    #define Rel8  9 // назначаем порт для реле8

    #define Dat1  11 // назначаем порт для Датчик линии 1
    #define Dat2  12 // назначаем порт для Датчик линии 1


    void setup() {
       pinMode(Rel1, OUTPUT);
       pinMode(Rel2, OUTPUT);
       pinMode(Rel3, OUTPUT);
       pinMode(Rel4, OUTPUT);
       pinMode(Rel5, OUTPUT);
       pinMode(Rel6, OUTPUT);
       pinMode(Rel7, OUTPUT);
       pinMode(Rel8, OUTPUT);
       pinMode(Dat1, INPUT);
       pinMode(Dat2, INPUT);
    }

    void loop() {
       // если есть движение на датчике 1 включаем релешки с 1 по 8
       if (digitalRead(Dat1) == LOW) {
          digitalWrite(Rel1, LOW);
          delay (500);
          digitalWrite(Rel2, LOW);
          delay (500);
          digitalWrite(Rel3, LOW);
          delay (500);
          digitalWrite(Rel4, LOW);
          delay (500);
          digitalWrite(Rel5, LOW);
          delay (500);
          digitalWrite(Rel6, LOW);
          delay (500);
          digitalWrite(Rel7, LOW);
          delay (500);
          digitalWrite(Rel8, LOW);
          delay (60000);
       }

       // если есть движение на датчике 2 включаем релешки с 8 по 1
       if (digitalRead(Dat2) == LOW) {
          digitalWrite(Rel8, LOW);
          delay (500);
          digitalWrite(Rel7, LOW);
          delay (500);
          digitalWrite(Rel6, LOW);
          delay (500);
          digitalWrite(Rel5, LOW);
          delay (500);
          digitalWrite(Rel4, LOW);
          delay (500);
          digitalWrite(Rel3, LOW);
          delay (500);
          digitalWrite(Rel2, LOW);
          delay (500);
          digitalWrite(Rel1, LOW);
          delay (60000);
       }

       digitalWrite(Rel1, HIGH);
       digitalWrite(Rel2, HIGH);
       digitalWrite(Rel3, HIGH);
       digitalWrite(Rel4, HIGH);
       digitalWrite(Rel5, HIGH);
       digitalWrite(Rel6, HIGH);
       digitalWrite(Rel7, HIGH);
       digitalWrite(Rel8, HIGH);
       }
     
  18. b707

    b707 Гуру

    написал сам или списал где-нить? :)
    Ну все равно молодец.
    Хотя код можно сократить раз в 10...
     
  19. Castortroy

    Castortroy Нерд

    В инете толком нет этого кода... нашел в одном месте подобие и слегка видоизменил... поскольку код не большой упрощать пока не думаю... в дальнейшем буду добавлять датчики и сервопривода, вентиляторы и т.п... короч потом буду модернизировать код.

    Обидно было что когда просил подобное накидать костяк все отправляли на сложные коды, и повторюсь нигде толком небыло горение диода после отпускания кнопки(

    Думаю этот код поможет другим начинающим... ибо это посути код подсветки лестницы под туже ардуино нано, ибо мне нужно всего 8 модулей запитать, плюс два датчика (в моем случае это датчики пересечения линии...).
     
  20. b707

    b707 Гуру

    какого кода не было? :)
    такого?
    Код (C++):
    digitalWrite(led, HIGH);
    delay (500);
    digitalWrite(led, LOW);
    - потому что никому не придет в голову искать его в гугле...

    имейте в виду. что прежде чем сюда чеого-то добавлять - надо избавится от операторов delay()