7 одинаковых экранов на шину i2c

Тема в разделе "Флудилка", создана пользователем Fiskars500, 22 июн 2021.

  1. Fiskars500

    Fiskars500 Нерд

    Стоит задача подключить к ардуино 7 одинаковых экранов по шине I2C. Нужно, чтобы все 7 экранов показывали одно и то же содержимое одновременно. Если на всех 7 экранах будет один и тот же адрес, будут ли они так работать? показывать одно и то же, при обращении ардуино к этому адресу по шине I2C. Или просто будут конфликтовать друг с другом?
    И сразу второй вопрос - если при этом на шине ещё будет 7 ардуин-слейвов, я могу в их прошивке поменять их адреса I2C на нужные мне? или адрес уже зашит в каждой ардуинке насовсем?
     
  2. a1000

    a1000 Гуру

    В ардуино-slave адрес вы будете задавать в скетче. Вот образец как это делается
    https://lesson.iarduino.ru/page/urok-26-3-soedinyaem-dve-arduino-po-shine-i2c/
    А вот с дисплеями скорее всего будет лажа. Данные ведь не идут в одном направлении от микроконтроллера к дисплею. Дисплей отвечает микроконтроллеру об удачном или неудачном принятии данных. И если все 7 дисплеев начнут одновременно отвечать, будет беда.
     
    Andrey12 нравится это.
  3. Airbus

    Airbus Радиохулиган Модератор

    Что мешает поменять I2C адреса на LCD? Или вопрос чисто теоретический?
     
  4. Andrey12

    Andrey12 Гик

    А зачем 7? на каком расстоянии от ардуины они будут?
    На i2c если дальше метра то надо "удлинитель" паять.
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Видео от Амперки.Почему их никто не смотрит?Для кого снимают?

     
  6. Fiskars500

    Fiskars500 Нерд

    Спасибо за ответ! Кстати, в сети нашёл упоминание о подключении двух одинаковых дисплеем с одним адресом, человек утверждал, что оба работали и показывали одно и то же
     
  7. Fiskars500

    Fiskars500 Нерд

    Нет, вопрос не теоретический. LCD дисплеи, которые мне нужны, имеют только одну перемычку и выбор из двух адресов. А мне нужно 7 дисплеев одинаковых. К тому же, и обращаться проще к одному дисплею, чем по очереди к 7 дисплеям с разными адресами и выводить на них одно и то же
     
  8. Fiskars500

    Fiskars500 Нерд

    Долго объяснять, но нужно именно 7 одинаковых изображений одновременно. Расстояние от ардуины-мастера до самого последнего дисплея может быть около 4 метров. Почитал сейчас информацию в сети. Действительно, I2C желательно не делать длинные провода, я очень расстроен. Но есть упоминания о том, что даже до 10-15-25 метров у людей работала шина. Расстояние важно от мастера до слейва? или вообще от крайней до крайней точки? могу мастер поставить посередине цепи, тогда будет по 2 метра в одну и в другую сторону от него
     
  9. Andrey12

    Andrey12 Гик

    Читайте не информацию в сети а даташиты на мк и дисплеи, не будет работать устойчиво ни 5 ни 25 метров что бы блоггеры вам ни парили.
    Есть 'удлинители' для i2c. С ними у меня на 20 метров устойчиво работает.
    А насчет что кто то написал что 2 на 1 адресе може и будет работать, но не долго, там же мастер слейв, примут то сигнал оба дисплея, а вот чей ответ прочитает мк?
     
  10. Fiskars500

    Fiskars500 Нерд

    Ну почему так пренебрежительно сразу "блоггеры". Читаю таких же людей, как и вы. Почитаю про удлиннители, спасибо. Про 2 дисплея на одном адресе - эксперимент подтверждён реально. Видимо, всё равно какой из экранов ответит - ответ будет одинаковым. На экранах же нужно одинаковое изображение.
     
  11. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Чуть погодя в Протеусе подключу пару-тройку по I2C и отвечу. Протеус тут вроде не врет.
     
  12. Fiskars500

    Fiskars500 Нерд

    Был бы очень благодарен, если вы сможете поставить эксперимент - подключить несколько экранов с одним и тем же адресом и посмотреть, что будет :) У меня в наличии только один экран, к сожалению. Покупать несколько просто для эксперимента не хотелось бы - нужно знать наверняка :)
     
  13. Andrey12

    Andrey12 Гик

    Пренебрежительно потому как 99% из них пишут ради того чтоб написать. Не разбираясь почему так работает или не работает. При повторении устройств даже самого известного ардуино блоггера возникает куча вопросов на которые блоггерам отвечать неинтересно либо знаний нехватает.
    С тем что все для дисплеев одинаково идея конечно интересная. По сути вы не получаете ответов от дисплея, может такая фишка и сработает.
    Сейчас не помню, делал библиотеку для дисплея на ssd1309, по моему там идет только запись в i2c. Дома гляну напишу.
     
    b707 и SergeiL нравится это.
  14. Fiskars500

    Fiskars500 Нерд

    Я читал просто ответы на каких-то форумах, не блоггеров. По длине I2С разные эксперименты были. Даже до 100м доходило у одного из электронщиков, кто в фирме работает, которая разработкой занимаются каких-то устройств. Но на авось полагаться не хочется, конечно если микросхема P82B715 поможет, могу её поставить хоть на каждом устройстве, которое на шину I2C повешу. Но, всё равно есть одна линия, которая не может быть меньше 2 метров никак. и посередине не вставишь ничего особо. Шлейф 2 метра длиной.
     
  15. SergeiL

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

    Если мне не изменяет память, в библиотеке нет команд на чтение, только запись.
    Поэтому несколько индикаторов параллельно должно прокатить.
     
  16. ИгорьК

    ИгорьК Гуру

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

    Поэтому, теоретически, 7 дисплее работать параллельно могут, если только длина линии не превысит допустимую емкость шины.
     
    SergeiL и Igor68 нравится это.
  17. Igor68

    Igor68 Гуру

    Не выходит поставить "Мне нравится"(не срабатывает), потому и пишу что согласен.
     
  18. parovoZZ

    parovoZZ Гуру

    Если без запросов чтения (а что читать у дисплея???), то работать должно.
    Хм. Да даже с запросом чтения будет работать.
     
  19. Ariadna-on-Line

    Ariadna-on-Line Гуру

    I2C-ные дисплеи наверняка собраны примерно так же.
    Поскольку SDA - двунаправленная линия, дабы избежать коллизий выходов со смертельным исходом - надо ввести ограничительные резисторы 150 - 1000 ом. Одно из правил схемотехники - "Береженого бог бережет" ))).
    А сканер адресов как же тогда работает ? Хотя... смотря какая библиотека...
     

    Вложения:

    Последнее редактирование: 22 июн 2021
  20. akl

    akl Гуру

    там же вроде только на землю замыкается провод, а плюс через подтяжку идет - коллизии не страшны