arduino duemilanove и i2c
- Войдите на сайт для отправки комментариев
Уже неделю пытаюсь получить хоть какой-то результат по шине i2c от Ардуины.
Пробовал подключать и это:
http://www.electronshik.ru/item/10-dof-mems-imu-sensor-1109790
и к Rasperberry Pi как slave - никакого результата. Подключаю вроде правильно (на A4 и А5 пины) + общая земля.
Упорно виснет на Wire.endTransmission(); в случае с датчиком, а с Rasperberry Pi как master и Ардуино как slave - master не видит адреса Ардуинки. Если пины не подключать не виснет, но естественно ничего и не находит. A4 и А5 проверил: работают нормально. Даже атмегу менял (благо была в запасе) на такую же - без результата. На датчике питание горит - вроде рабочий. Rasperberry Pi точно рабочая. Да и вероятность того, что я спалил всё и сразу стремится к 0. Так же пробовал подтягивать резисторами SDA и SCL к питанию - безрезультатно.
Может кто подскажет хоть в какую сторону копать ? Уже всё перепробовал и идеи кончились.
[потерто]
Упс.... сорри.
Проглючило, че-то мне привиделось что у вас DUE
Неужели никто не сталкивался с похожим и не может подсказать ?
UPD: Подключил 2 ардуинки по i2c. Друг друга увидели, а значит они по крайней мере точно рабочие. Остаётся проблема: их не видит rasperberry pi, настроенная как мастер, и не один из них не видит датчики (в описании вопроса) т.е. работают только друг с другом.
Как их всех передружить ?
UPD: Подключил 2 ардуинки по i2c. Друг друга увидели, а значит они по крайней мере точно рабочие. Остаётся проблема: их не видит rasperberry pi, настроенная как мастер, и не один из них не видит датчики (в описании вопроса) т.е. работают только друг с другом.
Как их всех передружить ?
ну логично что есть малинка не видит дуню. но две дуню успешно общаются.. то наверно нужно пытать малинку, типа какого фига ей не нравится... думаю что скорее всего рыть нужно в сторону питания..
Спасибо,что ответили.
Питается raspberry pi вроде от адекватного бп от HTС на 2А. Явно больше требуемого. Да и запитывал я ардуину в т.ч. от отдельного БП. По поводу разного напряжения на ардуине и raspberry pi, то это компенсируется встроенными резисторами. Да и вроде i2c работает,как я понял, всегда по 5v. Кроме того указанный в теме датчик так же не работает ни с ардуиной, ни с raspberry pi. Вообщем беда :(
Попробуйте http://playground.arduino.cc/Main/I2cScanner
давайте помотрим дружно на картинку
а потом почитаем
http://blog.retep.org/2014/02/15/connecting-an-arduino-to-a-raspberry-pi-using-i2c/
в общем гугл в помощь..
скукота... кто бы чего новое придумал. что бы в гуглях не было..а то одно и тоже
Puhlyaviy
Как я написал в самом начале я пытался найти решение самостоятельно в течение недели. Гуглом пользоваться умею.
Читал и делал по этому примеру - не находит аруину.Ни с подтягивающими резисторами, ни без.
Тут вот тоже есть похожее: http://www.rootfront.com/article/8104171/2013-07-09/podkljuchenie-raspberry-pi-i-arduino--s-ispolzovaniem-i2c Вообще похожих тем много и если бы решение было в одной из них я бы не беспокоил уважаемых специалистов.
Так же вот wiki по подключению датчиков из топика: http://www.dfrobot.com/wiki/index.php/10_DOF_Sensor_(SKU:SEN0140) по которому тоже не работает (ардуина виснет, а Raspberry Pi просто не находит)
Я допускаю, что у меня руки не от туда (тем более в электронике я не силён), но я уже перепробовал все возможные варианты (кроме разве что выпиливания резисторов из Raspberry Pi) и по идее хоть один из них должен был заработать.
trembo
Пробовал. Виснет на error = Wire.endTransmission(); при подключенном датчике
вот же ж.. у всех работает а у него не работает..в задаче вопрос.. почему?
попробуем погадать..
а ты вообще соединял проводками? и каким образом? и какими проводками? чудес не бывает.
Естесственно соединял. SDA малины (или датчиков) с SDA ардуины(А4), SCL с SCL(А5), землю с землёй. Куча схем и примеров. Ошибиться сложно.
В случае малины питание брал сначало с малины с USB, потом подумал, что мож не хватает и подключил ардуину отдельным БП. В случае с датчиками питание брал +5v с ардуины. Пробовал так же 3.3v с ардуины. Индикация питания у датчиков гадских светилась в обоих случаях.
С малиной на ардуину заливал скетч слейва. На малине проверял по i2cdetect -y 0 ( и 1)
С датчиками на ардуину заливал i2c сканер, а так же примеры от разработчика данного подлого девайса для ардуины.
Пробовал подтягивать SDA и SCL к питанию резисторами на 4.7кОм. в обоих примерах (хоть это и бессмысленно).
Провода и контакты все проверял.
Уже начинаю склоняться к мысли, что спалил и датчики, и малину или изначально брак какой-нибудь т.к. оба девайса брал единовременно в одном магазине :(
Скорость проверить ( менять ) пробовали? 100KHz - 400KHz
trembo
Попробовал - не помогает
В состоянии покоя (без обращения к шине) замерил: малина даёт 3.25v на SDA и 1.66v на SCL. Вероятно при 3.3v питания это нормально - уже хорошо. Подключил другую ардуину - реакция та же :(
Подключил ардуину как слейв. Добавил вывод (при работе с i2c) показаний с A4 и A5. Не знаю на сколько верные значения отдаёт ардуина, но при несоединённых проводах оба контакта - 5v, в подключенном состоянии - SDA - 5v, SCL -0v и не изменяется независимо от действий
скукота... кто бы чего новое придумал. что бы в гуглях не было..а то одно и тоже
Вот. Придумал. Неужели никто помочь не может ? Я уже не знаю как проверить или хотя бы выявить однозначно горелый датчик или малину. Что сделать, что бы хоть немного приблизится к решению данной проблемы ?
Читать и думать что ты делаешь не правильно.
Ну что ещё можно почитать и над чем подумать? Я уже всё перепробовал! Просто вариантов не осталось. Спросить больше не у кого. Если вы тоже не знаете как решить эту проблему, то может подскажете как диагностировать неисправность в малине или указанных выше датчиках ? Как вы верно заметили: "чудес не бывает", однако ВСЕ варианты кроме сгоревших всех девайсов перепробованны. Заменено всё, что можно было заменить из имеющегося в наличии. Просто не представляю что ещё можно "читать" или над чем "думать"
Ну значит они сломались. Я обычно все железо заказываю в количестве минимум 5 штуки и у боле менее внушающих доверие продавцов.
А то в процессе работы многое случается. Колега вот не дает скучать, 2 прототипа сломал, причем физически сломал в процессе подключения к компьютеру, сильный он! Гы гы. Зато в новой версии я уже это учел.
Так что купите любой датчик с i2c и попробуйте.
Puhlyaviy
Спаиибо. Видимо это единственное, что остаётся. Будет мне наука. 2к за малину и почти столко же за датчики. Печальбеда :(
Чет дорого как то. Причем очень.
http://www.electronshik.ru/card/akselerometr-giroskop-magnitometr-barometr-118516
http://www.electronshik.ru/card/minikompyuter-raspberry-pi-model-b-116833
У них и брал. Дешевле в России не видел. Во всяком случае малину
http://aliexpress.com/item/1017927481.html
http://aliexpress.com/item/1625399370.html
2500 в рублях вместе
404 по обоим ссылкам. Тем более это, как я понимаю, долго ждать придётся. Про aliexpress слышал, но не заказывал там ничего пока. Возможно хороший повод попробовать уже наконец :)
Ну не знаю.
Лучше день потерять, потом за час долететь (с)гриф. . Но хвост все равно это наше все.
В любом случае спасибо, что откликнулись
А датчик не откликается. Скорее проблема в библиотеке. Это целая пачка разных сенсоров. И теоретически i2c позволяет работать с гроздью датчиков. Но на практике не все так просто. Там вроде питание ему нужно.
Да это я знаю, просто датчик и на малине не находится по i2cdetect, и на ардуине через сканер. Мне бы для начала не данные с них получить, а хотя бы адрес увидеть, но тут тоже глухо. Тот факт, что на ардуине попытка передачи виснет даёт надежду на то, что датчик жив
Не факт. Это не датчик, это несколько датчиков на одном куске. Я бы поискал соплю или непропай, если бы быдо скучно.
В своей пайке (ножки) искал очень внимательно и прозванивал, а фабричную проверить малость затруднительно. Там плата покрыта чем-то типа плёнки или лака. Дорожки просматриваются, но доступа к ним нет
Чет я щас не понял, какая своя пайка? Оно все собраное продается. И смотреть нужно ноги и площадки, не дорожки.
ну под своей пайкой я вообщем-то и подразумевал припаянные ноги к контактным площадкам :-)
Их проверил внимательно.
Мдааа.. площадки имеется ввиду PADS, место куда паяют детали при SMD монтаже (я не знаю как они по русски правильно называются). И расматривать из нужно с увеличилкой.
У меня хорошее зрение. И лупу тоже использовал. И прозвонить не забыл :-)
Я не представляю каким образом можно прозвонить соединения сенсоров с платой при smd монтаже... там и ног то часто нет.. но вам видней, а мне пофигу. Выкинуть и купить новую. Но не факт что новая будет работать. Есть у меня подозрение про кривые руки.
Ножки. К плате. Прозвонить на контакт между ними. Хотя относительно рук думаю вы правы. Я работаю над этим :)
Я ща матом буду ругаться. У СЕНСОРОВ НОГИ.. СЕНСОРОВ А НЕ У ПЛАТЫ... мляяя
их я тоже визуально проверил. Вроде всё хорошо. Но если бы и не было хорошо исправить бы это я не смог.
Спасибо за помощь. Думаю тему можно закрывать т.к. что-то решить тут уже вероятно не получится
Можно сдуть все сенсоры и назад их по одному сажать и смотреть.
Но если питание на эту вязанку берете с ардуины. То аржуина не виснет. Ей просто питания не хватает.