Добрый день! Есть малина, на ней сверху Troyka Cap. Пытаюсь соединить их с arduino leonardo через i2c. Малина не видио ардуинку. Думал, что проблема в Cap или в чем-то еще, пробовал подключать датчик BMP280 (просто как тестовое устройство i2c), итог: 0) малина видит Cap по i2c 1) малина видит BMP280 по i2c 2) ардуино видит BMP280 по i2c 3) 2 ардуины видят друг друга по i2c 4) малина НЕ видио ардуину по i2c 5) малина БЕЗ Cap тоже НЕ видит ардуину Для проверки использовал эти скетчи: https://www.arduino.cc/en/Tutorial/MasterReader https://playground.arduino.cc/Main/I2cScanner На малине смотрю через i2cdetect Также пробовал питон-скрипты и программы на c++ - все они выдают ошибку при чтении данных. А вот например с BMP280 что-то читается! В интернете полно статей, как соединять, и там все работает. Достаточно просто залить скетч "slave" на ардуину и она сразу станет видна. По сути это делает строка Wire.begin(SLAVE_ADDRESS); Для соединения использую просто 2 провода SDA и SCL. По идее этого должно хватать? Например, для двух ардуин хватает. Пробовал выставлять dtparam=i2c_baudrate=10000 в /boot/config.txt, но это не помогло, ничего не изменилось.
Скетч залит. Ну другая ардуина то видио его через сканнер. И число считывается. И в интернете примеры приводят, что ардуина видна через i2cdetect. Неужели просто из-за того, что ардуины неоригинальные?
Не понял - вопрос в чем? I2C - это интерфейс с определенными правилами пересылки пакетов. Что там будет пересылаться - это прерогатива прогоаммиста. Поэтому разрабатываете простейший протокол и наслаждаетесь результатом. Благо что все железо поддерживает данный интерфейс на аппаратном уровне.
Вопрос в том, что не могу ни одного байта переслать. Протокол будет, как только будут пересылаться байты.
Потому что нужно знать школьную физику, прежде чем провода подключать к чему-нибудь. Ток течет по петле. Нет пути возврата - нет тока.
I2C не является балансной линией передачи, поэтому нулевые потенциалы устройств необходимо между собой уровнять.
Изучи внимательно I2C и делай всё ручками. Кто-то держит линию SCL дольше, чем надо, вот и результат. А вообще ЛА или осцилл в помощь. Так можно до седины гадать.