Интерфейс I2C не работает, не понимаю почему (rs 485 тоже)

Тема в разделе "Arduino & Shields", создана пользователем yozhikov.d, 24 мар 2019.

  1. yozhikov.d

    yozhikov.d Нерд

    Вот опять же "есть в гугле" в самом начале темы, я писал, что i2c не работает, этот код я полностью скопировал сайта https://www.instructables.com/id/I2C-between-Arduinos/ дабы "поиграться" и чтобы не было сомнений в том, что я могу ошибиться при написании кода, сайт серьезный, внушает доверие, а в коде есть кавычки
     
  2. b707

    b707 Гуру

    Да. в интернете полно хлама - но вывод вы из этого делаете неверный. Не на форумах надо советов спрашивать, а самому учиться.
     
  3. yozhikov.d

    yozhikov.d Нерд

    Я с вами не согласен. Я прошу помощи, там, где я не вижу ошибки, если бы я сформулировал вопрос так "Напишите мне код, чтобы он работал и скиньте схему". Я собрал, написал, оно не заработало, я попытался обнаружить проблему, насколько позволяет квалификация - не получилось, спрошу совета у гуру
     
  4. yozhikov.d

    yozhikov.d Нерд

    Принял во внимание, изучу CAN
     
  5. yozhikov.d

    yozhikov.d Нерд

    "Есть в гугле" - это очень токсичное выражение, которое отпугнуло бы очень много молодых ребят, желающих влиться в коллектив, порог вхождения в который итак высок, а вот если бы вы сказали, что есть такая библиотека называется "ModbusRtu.h", вот она рабочая, и изучите ее, вот тогда это помощь.
     
  6. znamen

    znamen Гик

    Я его пол жизни изучаю и до сих пор дураком чувствую. И ещё CAN очень узконапрвленный . Применяется
    в 95% только в автомобилях. А насчёт модбаса хочу добавить,что он Вам нужен только,если Вы планируете
    использовать промышленные девайсы. И даже тут хочу Вас огорчить. Нередко даже промышленные контрол
    леры с заявленным протоколом строго не подчиняются его правилам. А бывает даже так,что от протокола
    остаётся,только его название.
     
  7. znamen

    znamen Гик

    В гугле набираете примерно так. Туториал,екземпл.модбас,ардуино лайбрари.
    Попробуйте. Смешно,не токсично и результативно.
     
  8. yozhikov.d

    yozhikov.d Нерд

    Раскрою немного карты. Нужно разработать систему (хотя бы на бумаге), которая будет контролировать кое какие параметры, о которых я к сожалению не могу сказать, возможно это смешно сейчас выглядит, но предположим, что это появление цифрового сигнала на лапке МК. Эти сигналы должны контролироваться, и сигнализировать следующему МК о том, что появился сигнал и выполнять определенные действия, звучит, как типичная ситуация ардуинщника, НО, мк будут находиться в тяжелых для них условиях, эм наводки, как воздушные, так и по общей земле, по этому нужно разработать помехоустойчивую систему, и помехоустойчивый канал, или хотя бы на хорошем протоколе, который будет выполнять проверки на правильность пришедшего кода, исключая ложные сигналы. + мк будут располагаться друг от друга на расстоянии порядка 1км. идеально было бы использовать под все это оптическую линию связи, но при этом система должна быть максимально простой и дешевой. И скорее всего если я действительно за это возьмусь, то реализую не на платформе ардуино и вообще на Си, не очень мне нравится эта прослойка, ардуино это пока пощупать поиграться, написать на бумаге. Видите почему я хочу я реализовать не мастер - слейв, а мастер-мастер, потому что если мастер выйдет из строя, то это будет очень критично и не допустимо, по этому каждая плата должна понимать если мастер умер и работать без него
     
  9. parovoZZ

    parovoZZ Гуру

    В тырнете их полно. Ровно как и статей. Ардуино здесь не при чем (ардуиновские библы говно - с нормальным оборудованием работать будут только по воле Ра).
     
  10. parovoZZ

    parovoZZ Гуру

    Я уже говорил про маркерное кольцо. Реализуется, в том числе, и на шине RS-485/
     
  11. b707

    b707 Гуру

    интересно, а на чем. если не на Си? Если уж Си - "прослойка" - то остается один ассемблер. Что, действительно клиент модбаса на ассемблере возьметесь писать? :)
    простите, если человеку даже в гугле не хватает ума поискать - то что он забыл в электронике и программировании? надо ли ему сюда?
    Напротив. порог вхождения весьма низок и иногда даже хочется. чтобы он был повыше. А то слишком многие уверены. что ни в гугле искать, ни учебники читать - не нужно, на форуме пару слов спросил и все.
     
    DIYMan нравится это.
  12. znamen

    znamen Гик

    По поставленной задаче потянет,только 485. Из проводных интерфейсов только он,тк на 1км работает
    только он. Как реализовать вашу задумку,чтобы при гибели мастера его функция передавалась дублеру-
    ума не приложу. Может вообще отказаться от проводного интерфейса? Есть у меня идея,но не знаю будет
    ли она Вам по плечу. Вопрос решить при помощи специально для этих целей протокола ,МQTT. ИгорьК подро
    бно на пальцах описал механизм его работы с конкретными туториалами. И у меня есть много проектов с эт
    им протоколом. Задача на этом протоколе Ваша решится и я знаю,как её решить. Но есть одна печаль необходим интернет. Задача у Вас ответственная и пропадание интернета может иметь печальные последствия. Может быть только 3G. Я лично не наблюдал ,чтобы он падал. Если Вас такой механизм устро
    от,то я могу дать вам качественную консультацию по реализации Вашей задачи. Другой мысли по реализации
    Вашей задачи у меня пока нет. Может быть появится завтра.
     
  13. yozhikov.d

    yozhikov.d Нерд

    Я имел ввиду платформа ардуино и среда разработки - прослойка, читайте внимательнее. Касательно второго: "гугл" вы мало того, что вырываете слова из контекста, так еще и не понимаете, что вам говорят и пытаются донести другие, можно я вас буду просто игнорировать впредь, не сочтите за грубость. Вот опять же причем тут "не хватает ума поискать в гугле", я поискал, все реализовал, появилась проблема, проблемой оказалась бракованная ардуина, в процессе поиска проблемы мы выяснили это. Ваши утверждения неверны, в гугле поискать проще, чем задать вопрос на форуме и я не думаю, что надуться люди, которые так не думают.
     
  14. parovoZZ

    parovoZZ Гуру

    То, что слейв отвалился, грамотный мастер и так поймет. Слейву присваивать звание мастера не обязательно.
     
  15. znamen

    znamen Гик

    Так в том то и дело,что человеку страшен не отвал слейва,а именно мастера. И этого мастера отвалившегося
    каким то образом дублировать.Те должна существовать какая то дополнительная система,которая следила не откатился ли мастер и если отвалился .принять его функции
    на себя.
     
  16. yozhikov.d

    yozhikov.d Нерд

    Тлели у меня мысли в голове о реализации этого через интернет соединение, но к сожалению этого делать нельзя, я обсуждал и предлагал данные вещи, но как мне объяснили и четко дали понять, что это невозможно будет сделать в тех условиях, в которых система будет существовать, и я сейчас говорю не об аппаратной или программной части, а об политических, юридических и материальных аспектах. Нужно, чтобы система существовала либо проводным соединением либо оптическим - это главное условие, пока что я остановился на рс 485 исходя из рабочего расстояния, модбас и ардуино из простоты. Как вариант: мастер сделать компьютером и создать для него благоприятные условия существования
     
  17. parovoZZ

    parovoZZ Гуру

    Значит, слейва надо опрашивать или предоставлять ему данные с той частотой, время от которой будет критичным. Слейв не получил данные от мастера - использует локальные данные.
     
  18. parovoZZ

    parovoZZ Гуру

    В общем, сама постановка задачи изначально не верна.
     
  19. znamen

    znamen Гик

    И лёгким движением руки превращается в мастера.
     
  20. znamen

    znamen Гик

    Фиг его знает-верна или не верна.