Плавное включение ламп авто

Тема в разделе "Arduino & Shields", создана пользователем thesatellite, 23 авг 2017.

  1. thesatellite

    thesatellite Нерд

    Народ. Задумал я сделать плавное включение ламп в головном свете на мосфетах. Запарился менять лампы. Скетч такой:

    const int LED = 9;
    const int DEL = 20; // задержка шага
    int i = 0;
    int onoff = 12; // подача логической 1
    void setup ()
    {
    pinMode(onoff, INPUT);
    pinMode(LED, OUTPUT);
    }

    void loop()
    {
    if (digitalRead (12) == HIGH)
    {
    funcON ();
    }
    else
    {
    if (digitalRead (12) == LOW)
    {
    funcOFF ();
    }
    }
    }

    void funcON () //Функция плавного включения
    {
    analogWrite(LED, i);
    if (i < 255) {
    i++;
    delay (DEL);
    }
    }
    void funcOFF () //Функция плавного выключения
    {
    analogWrite(LED, i);
    if (i > 255) {
    i--;
    delay (DEL);
    }
    }

    Помогите новичку, в чем косяк? Он не гасит лампу при отсутствии единицы на 12 выводе.
     
  2. b707

    b707 Гуру

    условие (I >255) в функции funcOFF () никогда не выполняется, поэтому и не гасит.
    А вообще код довольно корявый. вам повезло. что он хотя бы зажигает :)
     
  3. b707

    b707 Гуру

    кстати - мое мнение как автомобилиста с 30-летнем стажем - не поможет. Лампы дохнут не от этого.
     
  4. thesatellite

    thesatellite Нерд

    Я просил помощи, рабочий код. А не обсуждение. Код основной рабочий который в funcON
     
  5. b707

    b707 Гуру

    Вы спрашивали "в чем косяк" - я вам четко указал, в какой строке ошибка - это вам не помощь? Хотите, чтобы код за вас писали? - для этого есть платный раздел.
    А здесь помогают тем, кто хочет разобраться сам.
     
  6. thesatellite

    thesatellite Нерд

    До чего люди "трудные": прошу совета, а получаю порицание. Чего то узнали - почувствовали себя богами. Задолбали зазнобы!
     
  7. thesatellite

    thesatellite Нерд

    Мне нужен был маленький совет в коде. Да да, нет нет
     
  8. thesatellite

    thesatellite Нерд

    Из за таких советов многие бросают не начав. Последний раз я тут был, на хер.
     
  9. Airbus

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

    Вам же все правильно сказали что i не может быть больше 255 изначально.Я бы этот блок кода на выключение вообще убрал бы тупо если на 12 пине LOW то и на выходе ноль.Важно ведь плавное включение а выключить можно просто убрав напряжение.
     
    b707 нравится это.
  10. b707

    b707 Гуру

    согласен
     
  11. qwone

    qwone Гик

    Наивный чукотский мальчик. Если у вас нет выдержки, то и начинать не чего,лучше сразу бросить.Сложность в микроэлектронике в том что вы один на один с железом. А если вас облили дерьмом, радуйтесь, что есть негативный но совет.
    Если вождении реальной машине в реальной забитой машинами дороге вас обложили, то есть за что. Разберетесь и сами будете крыть придурков на дороге сами. А тут мы очень нежные. А если вы такие чувствительные то бросте автомобиль и другим станет легче.
     
  12. thesatellite

    thesatellite Нерд

    Да хер брошу. Я то как раз себя адекватно веду за рулём, а люди роботы, не умеющие вести себя в обществе! А не то что я нежный такой. Надо уважать друг друга, а не вы@бываться. Глядишь мир был бы лучше.
     
  13. thesatellite

    thesatellite Нерд

    То есть просто чтобы тупо гасло? Я и так могу сделать... Я хочу чтобы плавно, красиво)
     
  14. ИгорьК

    ИгорьК Гуру

    Начните с красивого оформления своего кода здесь.
     
  15. thesatellite

    thesatellite Нерд

    Опять нравоучения....
     
  16. fogary

    fogary Гик

    Поменяйте 255 на 0, очевидно же.

    Яркость Вы меняете линейно, а чувствительность глаза не линейная. По этому, чисто зрительно, изменение яркости лампочки будет не плавное. Если интересно, могу привести код из книжки как сделать.
     
  17. thesatellite

    thesatellite Нерд

    Вот спасибо за дельный совет! ОГРОМНОЕ! сейчас попробую!
     
  18. ИгорьК

    ИгорьК Гуру

    Это уважение к читающим ваш код.
     
  19. thesatellite

    thesatellite Нерд

    Мне его дали. Напишу проще: Я ТУПОЙ ЧАЙНИК, ТОЛЬКО НАЧИНАЮ! Мне не красоты сейчас!
     
  20. ИгорьК

    ИгорьК Гуру