Двухканальный диммер на AtTiny85 (UART I2C)

Тема в разделе "Глядите, что я сделал", создана пользователем SergeiL, 13 апр 2018.

  1. Oleksandr54

    Oleksandr54 Нерд

    Зачем использовать AtTiny25, если силовой блок можно подключать напрямую к ESP?
     
    znamen нравится это.
  2. SergeiL

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

    Можно, но 100 руб. бюджет устройства не изменят.
    Портов на ESP8266 мне не хватало, поставил еще PCF8574, плюс I2C датчик температуры и влажности.
    I2C устройства все равно есть, вынес димер в отдельное устройство,
    Плюс повышение надежности за счет использования отдельного модуля.
    В процессе рестарта ESP, AtTiny25 продолжает корректно работать, обеспечивая необходимую яркость освещения.
     

  3. Подскажите пожалуйста простейший пример кода для управления димером. Первый раз работаю с i2c, ничего не понятно, но очень хочу разобраться. Заранее спасибо.
     
  4. Sergibus0

    Sergibus0 Нуб

    SergeiL подскажите пожалуйста, у вас случайно нет печатной платы на два канала?
    И ещё вопрос, никогда не имел дела с AtTiny какие фьюзы нужно выставить?
     
  5. SergeiL

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

    С ESP управляется просто:
    Код (C++):
          Wire.beginTransmission(0x26);
          Wire.write(Level);
          Wire.endTransmission();      
     
    Level - значение яркости от 0 до 100 (%)
    Первый канал - просто значение яркости.
    Второй канал - значение яркости + взведен старший бит. ( Level = Level | 0x80; )
     
  6. SergeiL

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

    Не, печатку не делал. Все собрано на монтажках.
    Там деталей-то 10 штук.

    По FUSE:
    fuse.png
     
  7. Sergibus0

    Sergibus0 Нуб

    Спасибо! Буду пробовать... Уверен, что возникнут вопросы :)
     
  8. SergeiL

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

    Возникнут вопросы - задавайте, чем смогу - помогу. :)
    За год, с начала запуска первого диммера - сбоев не было.
     
  9. Добрый день, решился повторить это прекрасное чудо)) но при компиляции входит ошибка, прошиваю через ардуино уно,
    Arduino: 1.8.9 (Windows 7), Плата:"ATtiny x5 series, CPU, ATtiny85, 1 MHz (internal), B.O.D. Enabled (1.8v)"

    C:\Users\Sveta\AppData\Local\Temp\arduino_modified_sketch_304440\ArduinoISP.ino: In function 'void loop()':

    ArduinoISP:152:30: error: 'class USI_TWI_S' has no member named 'receive'

    byteRcvd = TinyWireS.receive();

    ^

    exit status 1
    'class USI_TWI_S' has no member named 'receive'
     
  10. SergeiL

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

    Что то не так с библиотекой TinyWireS похоже.
    Попробуйте установить эту:
     

    Вложения:

    • TinyWireS.zip
      Размер файла:
      8,4 КБ
      Просмотров:
      254
  11. Спасибо Большое
     
  12. b707

    b707 Гуру

    зачем же вы скетч ArduinoISP.ino компилируете для платы Аттини85? Этот код надо заливать в плату. которую вы будете использовать как программатор - то есть в Уно или в Нано - вот для нее и компилируйте
     
  13. не совсем понял, я в этом деле новичок, сначала я подготовил уно, залил в нее ArduinoISP.
    потом переключил настройки в IDE настройки на тиньку и програматор указал через ардуино.
    разве не так делается?:(
     
  14. b707

    b707 Гуру

    верно
    и это правильно.
    Но дальше надо компилировать и загружать скетч диммера из этой темы. а вы опять компилируете код ArduinoISP
     
  15. SergeiL

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

    Так по логам вроде и компилируется скетч диммера.
    Ошибка идет на TinyWireS.receive();
    В ArduinoISP не должно этого быть.
     
  16. Да это название такое осталось, а скетч из этой темы))) он залился, сейчас пробовать буду лампы подключать))
     
  17. Evgeniynd

    Evgeniynd Нуб

    Всем привет! Подскажите знающие люди. Сломал уже всю голову! Собрал данную схему на макетке, все заработало с первого раза, ни где не ошибся!)) УРА!
    Развёл всё на плату, заказал, получил, напаял и не пашет))) Да смешно. Всё конечно проверил +100 500 раз.
    В результате имею на выходе на нагрузку такие значения:

    98% - 10 вольт
    99% - 50 вольт
    100% - 70 вольт

    До 98% вообще ничего((

    Ткните куда можно посмотреть, что проверить?
     
  18. parovoZZ

    parovoZZ Гуру

    И где данная схема?
     
  19. Evgeniynd

    Evgeniynd Нуб

    в шапке)
     
  20. SergeiL

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

    Странно конечно, номиналы резисторов не перепутали?
    Смотрите осциллографом, что на ножке 1 MOC3052. Там должен быть короткий импульс.
    На вход лампочку накаливания подключали?