Arduino i2c Orange Pi PC

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Подскажите пожалуйста.

Подключила Arduino по i2c шине к Orange Pi PC

Передать данные с Orange Pi PC на Arduino у меня получилось, так как адрес i2c шины в ардуино я прописываю сама

Wire.begin(0x23);

Но передать данные (или считать на Orange) у меня не получается, так как адрес Orange pi ардуино не определяет (скетч lzk поиска устройств на шине i2c)

Соответственно 

  Wire.beginTransmission(0x23);
  Wire.write("123"); 
эти команды не работают, я не знаю какой адрес.
Как быть?
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А сканер на ардуине видит апельсинку? Он же должен сказать адрес. А если не видит, так ничего и не заработает.

sadman41
Offline
Зарегистрирован: 19.10.2016

Хочу подчеркнуть, что у Orange и Arduino (UNO/NANO/etc)  разные логические уровни. Запалить одноплатник очень просто.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

ЕвгенийП пишет:

А сканер на ардуине видит апельсинку? Он же должен сказать адрес. А если не видит, так ничего и не заработает.

Я и говорю, что сканер Orange Pi не видит. Но отправить данные из Orange в Ардуино я могу, так как адрес ардуинки мне известен.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

sadman41 пишет:

Хочу подчеркнуть, что у Orange и Arduino (UNO/NANO/etc)  разные логические уровни. Запалить одноплатник очень просто.

Спасибо. Не посмотрела.

Можно использовать делитель из резисторов по 10k на линии SDA и SCL ?

sadman41
Offline
Зарегистрирован: 19.10.2016

Ирина, выражайтесь как инженер, а не как зелёный навичок. Я вот ничего не понял - кто слейв, кто мастер...

Orange (master) -> Arduino (Slave) работает, Arduino (Master) -> Orange (Slave) не работает ?

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Irinka пишет:

sadman41 пишет:

Хочу подчеркнуть, что у Orange и Arduino (UNO/NANO/etc)  разные логические уровни. Запалить одноплатник очень просто.

Спасибо. Не посмотрела.

Можно использовать делитель из резисторов по 10k на линии SDA и SCL ?

Ну, я предпочитаю на транзисторах всегда делать, так что не буду обнадёживать ответом про резисторы.

В принципе, физически I2C должен как open drain реализовываться и не бояться повышенного напряжение, но я не знаю на самом деле - как в этом оранже всё унутре.

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

sadman41 пишет:

Orange (master) -> Arduino (Slave) работает, Arduino (Master) -> Orange (Slave) не работает ?

Да, так и хотела сказать.

Чем  на транзисторе лучше чем на двух резисторах?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

А Orange вообще умеет как I2C слейв работать? А еще у некоторых контроллеров слейви мастер на разных пинах могут висеть.

sadman41
Offline
Зарегистрирован: 19.10.2016

Irinka пишет:

sadman41 пишет:

Orange (master) -> Arduino (Slave) работает, Arduino (Master) -> Orange (Slave) не работает ?

А Вы как-то Оранжу намекали, что ему надо стать слейвом?

Irinka пишет:

Чем  на транзисторе лучше чем на двух резисторах?

Как минимум - тем, что он в обе стороны корректно работает.

Да и мне проще поставить вот такое на плату:

Irinka
Irinka аватар
Offline
Зарегистрирован: 28.06.2017

Спасибо