1. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

Контроллер своими руками

Тема в разделе "Автоматика", создана пользователем Yuriiv, 6 апр 2014.

  1. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Какие изменения? Телепаты в отпуске ;)
     
  2. Константин Ерошенко

    Константин Ерошенко Active Member

    Регистрация:
    25.09.2014
    211
    44
    попробуй BrewManiac. Там I2C присутствует.
     
  3. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    А где скачать?
    --- сообщения объединены, 22 сен 2016, дата первого сообщения: 22 сен 2016 ---
    Подключаю библиатеку I2C и в настройках экрана прописую I2C (0*27,16,2)
     
  4. Константин Ерошенко

    Константин Ерошенко Active Member

    Регистрация:
    25.09.2014
    211
    44
    В этой Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    --- сообщения объединены, 22 сен 2016, дата первого сообщения: 22 сен 2016 ---
    Тогда не пойдет. Там экран на 4 строки.
    В этой теме Юрий Моисеев выкладывал для I2C. Поищи
    --- сообщения объединены, 22 сен 2016 ---
    53 страница данной темы.
    --- сообщения объединены, 22 сен 2016 ---
    Читать всю страницу.
     
  5. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Ну, во-первых, "0x27", а не "0*27". Во-вторых - если скетч с русским, то с 90% вероятностью - будут квадратики...
    Попробуйте поменять язык на английский - работает?
     
  6. Владимир ZDF

    Владимир ZDF Active Member

    Регистрация:
    11.06.2014
    131
    33
    Разобрался с fc80, плата с релюхой была инвертом, нормальнозамкнутая( хотя по маркировке нормальноразомкнутая) Решил проблему так- выпаял с платы реле и подключил к ней напрямую, управлЕтся даже3,3в хотя по маркировке ей надо 5в.
     
  7. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Ну вот. Чудес не бывает ;) Главное было понять, откуда взялась инверсия. А решение может быть любым -- перепаять реле или поменять функцию скетча на обратную (поменять местами функции pump_on() и pump_off()). В данном случае, нормально-замкнутое я бы тоже заменил.
     
  8. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    вот так и сделал, язык английский ,все равно квадратики
     
  9. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    SDA / SCL местами не перепутаны?
     
  10. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    Нет!
     
  11. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Тогда для проверки лучше всего взять example-скетч из Arduino IDE, залить в ардуинку и проверить. Если работает - значит, нужно копать ArdBir.
     
  12. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    проверил работает! что с ardbir не знаю!
     
  13. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Хочешь, могу выложить архив ArdBir, с которым я работал крайний раз (сейчас я только своей прошивкой занимаюсь, поэтому уже не помню, что я в ArdBir менял, чтобы на i2c посадить дисплей). Там под 20х4 все подправлено - у меня работало и с МЭЛТовскими дисплеями и с китайцами.

    Библиотека у меня вот эта:
    Screen Shot 2016-09-24 at 13.15.30.png
     
  14. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    ок. кидай архив
    --- сообщения объединены, 24 сен 2016, дата первого сообщения: 24 сен 2016 ---
    все разобрался наконецто!!!! всем спасибо
     
  15. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Решение в студию! ;) Вдруг, кому-то еще пригодится.
     
  16. Александр Лысенко

    Александр Лысенко Участник

    Регистрация:
    29.06.2014
    35
    0
    Делаем что делал ЮрийМоисеев(подключаем библиотеки и меняем порты на экран) +
    // SETTING LCD*****
    #if LCDType == 16
    lcd.begin(16,2);
    #elif LCDType == 20
    lcd.begin(20,4);
    #endif
    а надо
    // SETTING LCD*****
    #if LCDType == 16
    lcd.begin();
    #elif LCDType == 20
    lcd.begin();
    #endif
     
  17. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Точно... Я тоже правил эту инициализацию.
    Ну, а чтоб совсем красиво - убери вообще эти директивы #if #endif - т.к. вне зависимости от типа дисплея (LCType) инициализация будет одинаковая - lcd.begin() без параметров. Достаточно оставить одну эту строку.
     
    Docent нравится это.
  18. Евгений GT

    Евгений GT Участник

    Регистрация:
    07.08.2014
    92
    12
    Всем доброго дня!
    После долгой паузы решил сделать блок на Arduino Micro Pro. Есть пару вопросов:

    1) нарисовал для себя схему, получилось что надо задействовать 6 аналоговых входов (4 кнопки + 2 на экран) и 8 цифровых (4 экран + пищалка + термометр + 2 рэле со светодиодами на ТЭН и помпу). Могу ли я назначить любые входы или есть разница?
    [​IMG]
    Правильно понимаю, что на аналоговый вход могу назначить все зеленые (с А0, А1 и т.д.), а
    все остальные, которые не задействовал на цифровые?

    2) ткните носов на пример, как реализовать управление SSR рэле и светодиодом одновременно.
    нашел в сети такой вариант:
    [​IMG]

    3) Нужна ли кнопка RESET? часто ли ей приходится пользоваться? Просто у меня нет ее на плате, а городить еще одну внешнюю... Если пару раз сбросить, то можно просто перемкнуть контакты.

    4) Нужен ли переменный резистор на контраст дисплея (часто ли придется пользоваться)? И почему не делают переменный на яркость?
     
    Последнее редактирование: 9 окт 2016
  19. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    509
    20
    Может кто знает как поменять в Меге 2560 пины инициализации для TFT экрана.
    UTFT myGLCD(ITDB32S, 38,39,40,41);
     
  20. DrCasper

    DrCasper Участник

    Регистрация:
    12.06.2014
    133
    18
    Имя:
    Дмитрий
    Нужно знать точную модель контроллера дисплея, в первую очередь...
    --- сообщения объединены, 10 окт 2016, дата первого сообщения: 9 окт 2016 ---
    1. Лучше, все-таки почитать учебник по Arduino - большая часть вопросов отпадет. В части используемых пинов -- фактичести, никакой разницы, какие использовать, нет. Важно помнить, что некоторые пины имеют двойное назначение, например в Nano на А4/А5 реализован I2C-интерфейс и, если планируется что-то на него вешать (у меня там дисплей и часы реального времени, например), то эти пины нужно оставить под I2C. Основное отличие аналоговых ВХОДОВ от цифровых -- это возможность реализовать АЦП на них, т.е. получаться не просто логический уровень, а измеряемый сигнал. Используется, например, для резистивных термометров (термопары, терморезисторы) и т.п.
    2. Можно как на схеме
    3. Вывести одну тактовую кнопку для собственного удобства... Это проблема? :)
    4. Хотите регулировать контрастность -- значит, нужен. Не хотите -- значит, не нужен :) Яркость управляется иначе. На некоторых дисплеях подсветка дискретная: или включена или выключена. Третьего не дано. На некоторых -- управляется контроллером. Где-то, наверное, можно и переменником. Но контрастность гораздо более актуальна, т.к. при низкой дисплей не читается, при высокой получаются артефакты.