Страница 25 из 32 ПерваяПервая ... 1519202122232425262728293031 ... ПоследняяПоследняя
Показано с 241 по 250 из 315

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

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

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AC dimmer 220V 50Hz

    Тогда делай переменные статуса каждого триака и в прерываниях проверяй их статусы, если например статус 1-го триакаTRUE то резрешаем его включить и т.д.

  3. #3
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

    брр... толи я вообще нифига не понимаю.. толи пипец.. (

    можно привер кода? или хоть где можно об этом почитать?

  4. #4
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

    так.. ладно.. с этим буду разбираться позже..
    что на счет датчика тока? Давайте какбы пробовать чтонить на нем сделать...

  5. #5
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AC dimmer 220V 50Hz


  6. #6
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

    битая ссылка..

  7. #7
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AC dimmer 220V 50Hz

    Я ее убрал ,потому как код не проверенный, не факт что работоспособный Хочу собрать устройство и проверить прежде чем выкладывать

  8. #8
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

    Вернусь к этому вопросу... Диммер сделали, но то что изначально я хотел так и не получается

    1. Перепробовал разные способы, но добиться включения и отключения прерывания по требованию (с подпрограммы) я не смог.
    2. Сделать бегущий огонь с плавным включением и выключением светодиодов в принципе можно (менять в подпрограмме AC_pin), но вот как быть, если хочется сразу 2-е лампы плавно включать и отключать?
    3. А реально ли сделать выход с любого цикла, любой подпрограммы, например по нажатию кнопки на loop (что-то типа ресета, в начало всей программы)?

    Прошу помощи. Саму цветомузыкальное устройство сделал, но вот без плавного зажига ламп как-то не совсем иестественно... хотелось бы до НГ доделать.
    Последний раз редактировалось knyaz2020; 29.12.2011 в 15:17.

  9. #9
    Продвинутый
    Регистрация
    28.11.2010
    Возраст
    60
    Сообщений
    241
    Вес репутации
    229

    По умолчанию Re: AC dimmer 220V 50Hz

    Цитата Сообщение от knyaz2020 Посмотреть сообщение
    Прошу помощи. Саму цветомузыкальное устройство сделал, но вот без плавного зажига ламп как-то не совсем иестественно... хотелось бы до НГ доделать.
    Так выкладывай свой последний скетчь и окончательную схему.
    Мои проекты - Катер для рыбалки

  10. #10
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    208

    По умолчанию Re: AC dimmer 220V 50Hz

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

    Но вот давайте возьмем схему с первого поста, силовая часть у меня на ее основе. просто там не одна связка оптрон+симистор, а 6шт.

    На счет скетча, то он тоже большой, так как там для конкретно этого вопроса очень много лишнего (в моем устройстве есть LCD, который через шифт-регистор подключен, да и сам выход тоже через шифт). Так что я здесь выкладываю только то, что касается именно этого вопроса. Так как сейчас на работе, то точный скетч без ошибок не могу дать, но думаю идея в нем будет понятная:

    #include <avr/delay.h>
    int AC_pin = 10; // выход для симистора
    volatile uint16_t dim;
    uint8_t dimmer=0;// уровень димирования (0-255) 0 = max, 255 = min

    void setup()
    {
    pinMode(AC_pin, OUTPUT);
    }

    void loop()
    {
    PlavniyOgon();
    }

    void PlavniyOgon(){
    attachInterrupt(0, FrontUp, RISING); //прерывание по изменению уровня с низкого на высокий

    for (int i=1; i<6; i++){
    AC_pin=i;
    if(dimmer < 255) dimmer++; else dimmer=0; // уменьшения яркости лампы
    dim=33*dimmer;
    delay(50);
    }
    AC_pin=i+1;
    if(dimmer > 0) dimmer--; else dimmer=0; // увеличение яркости лампы
    dim=33*dimmer;
    delay(50);
    }

    detachInterrupt(0);
    }

    // Функция обработки прерывания на подъем
    void FrontUp()
    {
    detachInterrupt(0);
    _delay_us(dim+1000); // отсекаем лишнее
    digitalWrite(AC_pin, HIGH); // включить симистор
    _delay_us(20); // короткая пауза, чтобы обеспечить включение симистора
    digitalWrite(AC_pin, LOW); // выключение симистора(он выключится когда полупериод достигнет нуля)
    attachInterrupt(0, FrontDown, FALLING);
    }
    // Функция обработки прерывания на спад
    void FrontDown()
    {
    detachInterrupt(0);
    _delay_us(dim); // отсекаем лишнее
    digitalWrite(AC_pin, HIGH); // включить симистор
    _delay_us(20); // короткая пауза, чтобы обеспечить включение симистора
    digitalWrite(AC_pin, LOW); // выключение симистора(он выключится
    attachInterrupt(0, FrontUp, RISING);
    }
    Т.э. смысл в том, чтобы когда нужно, была возможность включить: attachInterrupt(0, FrontUp, RISING);, когда не нужно - выключить: detachInterrupt(0);

    В приведенном выше коде не получается такое реализовать.

    Хэх.. вот только что попробовал снова... интересно.. но уже можно сказать это работает... странно что раньше не работало.. мо что-то не так было.
    Остается вопрос как сделать чтобы несколько сразу тухло и зажигалось... оптимальный код... хотя как с большим кодом вроде как понимаю.

    Да, и еще.. спрашивал раньше, можно ли с любой подпрограммы или цикла выйти по какому-то событию, типа ресет сделать?
    Последний раз редактировалось knyaz2020; 30.12.2011 в 01:44.

Страница 25 из 32 ПерваяПервая ... 1519202122232425262728293031 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •