U8glib.h + 2 дисплея 1306
- Войдите на сайт для отправки комментариев
Ср, 18/05/2022 - 02:35
есть 2 дисплея LCD1306 на шине I2C и расширители портов на этой же шине.
как с U8glib.h подключиться к этим дисплеям?
есть 2 дисплея LCD1306 на шине I2C и расширители портов на этой же шине.
как с U8glib.h подключиться к этим дисплеям?
Не платах 1306 есть перемычки задающие адрес ?
Если вы с кнопкой справиться не можете, то зачем вы лезете в дебри ???
Не платах 1306 есть перемычки задающие адрес ?
Если вы с кнопкой справиться не можете, то зачем вы лезете в дебри ???
да, перемычки перепаяны. адреса определяются сканером
Не платах 1306 есть перемычки задающие адрес ?
Если вы с кнопкой справиться не можете, то зачем вы лезете в дебри ???
вопрос в том, что я не vогу понять, как эта библиотека подключается к конкретному адресу I2C
адреса определяются сканером
и какие эти адреса, можете сказать?
не vогу понять, как эта библиотека подключается к конкретному адресу I2C
никак. Адрес дисплея зашит в исходнике, для работы с двумя дисплеями только переписывать библиотеку.
Да и вообще эта U8glib супердебильная на мой взгляд, бери другую.
[quote=b707
Да и вообще эта U8glib супердебильная на мой взгляд, бери другую.
[/quote]
Не, не, не, они друг друга нашли, пусть трахаюца. :)))
Библиотека жестко писана под 0x3C. https://github.com/olikraus/u8glib/search?q=I2C_SLA
Библиотека жестко писана под 0x3C. https://github.com/olikraus/u8glib/search?q=I2C_SLA
We couldn’t find any code matching 'I2C_SLA' in olikraus/u8glib
You could search all of GitHub or try an advanced search.
понял, спасибо. а варианты есть?
а то 3 дня меня поучали разные .... , а этого никто не сказал. Видимо, как обычно, сами не в курсе были.
если пробую адафруит, то такая штука получается
http://arduino.ru/comment/reply/17528/348705?quote=1#comment-form
https://wokwi.com/projects/328452755397018196
https://wokwi.com/projects/330085928568619604
Такой код работает ?
3 дня меня поучали разные .... , а этого никто не сказал.
а сам посмотреть не мог? Кому это надо, тебе или нам?
Я еще вчера писал на амперке. что библиотека заточена под один адрес.
если пробую адафруит, то такая штука получается
повторяю вопрос - какие адреса определяются сканером на дисплеях?
3 дня меня поучали разные .... , а этого никто не сказал.
а сам посмотреть не мог? Кому это надо, тебе или нам?
Я еще вчера писал на амперке. что библиотека заточена под один адрес.
если пробую адафруит, то такая штука получается
повторяю вопрос - какие адреса определяются сканером на дисплеях?
я и не знал, что может быть такое , что сделано под конкретный адрес.
0x3C и 0x3D
на амперке дали совет включить их всех под одним адресом. говорят, у одного товарища подгода назад получилось так работать с 3 дисплеями.
однако, говорят адафруит шустрее, да работает с разными адресами, да и спортивный интерес -почему у меня они не заводятся
на амперке дали совет включить их всех под одним адресом. говорят, у одного товарища подгода назад получилось так работать с 3 дисплеями.
Число включаемых дисплеев ограничено только здравым смыслом, а не числом 3.
на амперке дали совет включить их всех под одним адресом. говорят, у одного товарища подгода назад получилось так работать с 3 дисплеями.
при этом все три дисплея будут показывать одно и то же.
на амперке дали совет включить их всех под одним адресом. говорят, у одного товарища подгода назад получилось так работать с 3 дисплеями.
Конечно, чтоб разное показывали надо аппаратная добавка :)
Например, такая позволяет использовать до 16 штук.
на амперке дали совет включить их всех под одним адресом. говорят, у одного товарища подгода назад получилось так работать с 3 дисплеями.
я так же думал, но, говорят, что нет. надо пробовать.
я так же думал, но, говорят, что нет. надо пробовать.
кто говорит?
Если вы про Эйрбаса на амперке - читайте внимательнее. Он отдельно отметил, что у того человека все три дисплея были повторителями - то есть показывали одно и то же.
А в чем проблема подключить два дисплея с разными адресами то?
Кстати, раз уже пошла тема "много экранов" кроме внешних аппаратных решений через мультиплексор или набор транзисторов http://arduino.ru/forum/proekty/chasy-na-ssd1306-mnogo было бы интересно услышать мнения о вариантах подключений с использованием только ресурса платы с МК.
Стратегия с размножением данных c вывода SDA на другие пины платы с использованием прерывания (сам не пользовался им ещё :) не прокатит?
https://www.arduino.cc/reference/en/libraries/softwire/
Интересный вариант, если я правильно понимаю смысл фразы "Выводы, которые будут использоваться для линий управления последовательными данными (SDA) ... , могут быть определены во время выполнения."
Но "всяки-разны" библиотеки для этого экранчика преимущественно завязаны на аппаратном I2C?
Но "всяки-разны" библиотеки для этого экранчика преимущественно завязаны на аппаратном I2C?
с аппаратным TWI значительно проще, потому что он берет на себя рутинную работу по приему-отправке отдельных бит. А весь верхний уровень уже можно написать самому, существенно уменьшив код по сравнению со стандартной Wire.h
Если в библиотеку передаётся экземпляр Wire, то, скорее с SoftWire тоже прокатит.
:)
"Я вот как подумалось": пишем как для одного экранчика на аппаратном варианте, вывод SDA "соединяем с прерыванием" и дублируем данные на выбранный пин, к которому соединён один из нескольких экранчиков. А по значению переменной просто меняем пин по которому пойдут данные - меняем экранчик. Прерывание с этим может справится?
Пока над программным способом многоэкранности думал, пришёл аппаратный способ, ещё более простой - с одним развязывающим диодом на экран.
Всё просто, подключить экран к данным - "инпут", отключить - "оутпут".
Призабавнейшее наблюдение: по всем 3 вариантам схем многоэкранности, работает только библиотека вот этого товарища -
http://rinkydinkelectronics.com/library.php?id=80
все остальные (отечественные и не очень) работают только с третьим вариантом. Почему???
Моя гипотеза: только в третьем варианте связь I2C возможна обоюдная между МК и экранами и все другие библиотеки по другому не работают. И только у товарища библиотека уникальна, "всепогодна". А как вы думаете?
Нужно было чуть изменить схему и варианты с <Wire.h>, <iarduino_OLED.h>, <U8g2lib.h> заработали.
А вообще, если использовать удобную <iarduino_OLED.h> то можно (пока не проверял) матрицу экранов сделать.
Хотя с мультиплексором всё проще :)
А вообще, если использовать удобную <iarduino_OLED.h> то можно (пока не проверял) матрицу экранов сделать.
На выводы 2-7 только pinMode( disp_N, OUTPUT); и pinMode(disp_N, INPUT); можно "подавать". А так сгореть не должно, линейное управление же работает, должно и матричное :)