два lcd дисплея
- Войдите на сайт для отправки комментариев
Вс, 11/03/2012 - 21:36
имею два девайса для работы LCD по и2С на PCF8574. каждый из девайсов работает со своей библиотекой, это вызвано разным задействованием выводов микросхемы.
вопрос- возмоли-ли организовать работу дисплеев но каждого с своей библиотекой в рамках одного скетча??? тоисть как определенному дисплею назначить именно свою библиотеку???
простое добавление второй библиотеки желаемого результата недает, хотя и оба дисплея запускаются. но на одном подсветка невключается а у второго она наоборот моргает. в тоже время все данные на дисплеи выводятся, но на одном с лишними сегментами....
простое добавление второй библиотеки желаемого результата недает,
А покажите как вы добавляете вторую. Будет достаточно функции setup и все что выше.
И, если не трудно, дайте еще раз тут ссылочки на библиотеки. А то опять получается "вы то в теме" (я частично), а если кто-то другой будет читать эту ветку? Что он увидит?
Название чипа (без ссылок на даташит), упоминание каких-то двух библиотек (неизвестных), упоминание каких-то неизвестных экранов с неизвестным подключением, неизвестный скетч в котором вы не известно как пытались совместить библиотеки.
Не, ну вы правда думаете что с такими исходными данными вам кто-то сможет что-то подсказать?
схема подключения 1 дисплея- http://jt5.ru/image/data/examples/OLED_I2C.gif
схема подключения второго дисплея- http://www.dfrobot.com/image/data/DFR0175/I2C%20LCD%20Backpack%20schematic.pdf
библиотека для первого дисплея здесь- http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/
для второго дисплея здесь- http://www.dfrobot.com/index.php?route=product/product&path=53&product_id=593
по последней ссылке и даташит на микросхему есть.
дисплеи для обоих схем одинаковые- http://www.kosmodrom.com.ua/pdf/WH2004D.pdf
собсно скетч который безглючно работает с двумя дисплеями но с одинаковой схемой подключения микросхем дисплеев по и2С, собран из нескольких-
Спасибо.
>А скетч? Хотя-бы его setup(). Как же вы эту вторую библиотеку-то добавляли?
Соори че-то глюкнуло. Счетс с первого раза не грузанулся.
выложил скетч который работает с двумя дисплеями с одинаковым подключением. а вот как сделать чтобы две однотипные библиотеки коректно работали с своим дисплеем при разных схемах незнаб.
вторую библу добавлял как обычно, в список библиотек.... но как им задать что вот одна для этого дисплея а вторая для другого незнаю....
Если "без танцев с бубном", то ответ "никак".
Это не "две разные библиотеки", а одна и та же библиотека разных версий. LiquidCrystal_I2Cv1-1 - похоже более свежая c поправками для Arduino 1.0. Возможно часть глюков объясняется "устарелостью второй". Но только часть. "Мирно сосуществовать" они не смогут по определению.
Решение, все-таки, есть. Но оно гиморойное. В любом случае нужно будет создавать третию версию библиотеки. К сожалению это C# и не Java. нейспейсов тут нет (хотя может я ошибаюсь, тогда это упростит дело).
Тут есть два пути:
1. "В лоб". Делать версию которая может "сосуществовать". Проще. Меньше думать нужно. Больше "тупой механической работы" и расход дефицитной памяти кристала (две библиотеки сразу загружать нужно).
2. Делать версию которая умеет работать с разными вариантами подключения. Что-бы у нее была еще функция типа selectSchema, которая указывает по какой схеме подключения нужно сейчас слать команды. IMHO более правильный путь. Но и "думать" на нем больше нужно будет.
Если решитесь идти по какому-то из путей - могу расписать более подробно. Но в любом случае это будет кусок работы. Начинать размышления можно с того что-бы сделать diff этих библиотек и смотреть чем они отличаются (кстати не так уж и многим, практически идентичны).
прикольно однако.....
проще спаять два одинаковых девайса и только адресацию изменить.... это пожалуй самый простой путь.... темболее по такому принципу обе библы работают без проблем....
>проще спаять два одинаковых девайса и только адресацию изменить.... это пожалуй самый простой путь....
Ну кому как. :) Тем более когда девайсы уже есть, за них деньги плачены. Меня бы жаба из принципа задушила. Да и "поковырятся" тоже не последнее дело (хотя у вам скорее интересней быстрее получить результат. сезон уже на носу :) )
действительно, кому как....
вам как програмисту проще код подправить, оптимизировать... мне спаять.... два покупных девайса с приведенным выше кодом работают. а интересно было только с иной отличительной схемой попробовать....
самих 8574 еще всеравно парочка есть....
как-бы сезон здесь вовсе непричем.... всеравно проэк проэкт долгострой... тоисть учимся, учимся.... и ваяем. конечно, ардуине уже будет гораздо меньше времени уделяться но всеравно.