Arduino Mega и DS18b20 не все выводы работают
- Войдите на сайт для отправки комментариев
Ср, 04/09/2013 - 00:32
К Arduino Mega подключил DS18B20, на выводах 20, 21 работает.
на других, опробовал порядка 10 выводов, - не работает.
Пользовался как OneWare, так DallasTemperature.
В чем подводный камень?
Плата новая, выводы рабочие, на 22 помигал светодиодом.
Подводный камень в протоколе по которому данный датчик общается с контроллером.
Что бы ориентироваться во множестве аппаратных различий выводов дуины распечатайте себе плакат и смотрите что и как отличается.
http://reaktor23.org/_media/files/arduino-mega2560-r3-pinout.svg
В вашем случае - аппаратные SDA, SCL.
В вашем случае - аппаратные SDA, SCL.
при работе с ds18d20 I2C не используется, используется чисто програмный 1wire протокол, так что теоретически обязано работать на любых цифровых входах-выходах
Была аппаратная проблема. Начинал я с выводов 20, 21 (SDA, SCL), а там видно подтягивающие резисторы есть и их хватает для работы DS18b20. А мною припаяный smd резистор между выводами датчика оказался непропаян, и датчик на остальных выводах не опрашивался.
Да, действительно не на всех пинах работает... В моем случае из 5 опробованных заработал на 25 (много других занято). Но в чем таки дело, почему не работает на любом цифровом IO пине?
Да, действительно не на всех пинах работает... В моем случае из 5 опробованных заработал на 25 (много других занято). Но в чем таки дело, почему не работает на любом цифровом IO пине?
У автора исходного сообщения проблема оказалась в плохой пайке, а вовсе не в том, что какие-то "выводы не такие". Думаю и у вас нечто похожее. Пишите, на каких у вас не работает - проверю
Спасибо за ответ!
Проблема решена, хотя и большими нервами )
Как это часто бывает - я поверил коммерческому продукту ) В общем когда начал все проверять, проверил питание на шилде (тот что arduino mega shield v2.0). На ранее указанных пинах оказалось отсутствует напряжение. В результате выяснил, что линия питания от 36 до 45 пина просто не присоединена к общей шине +5В. Чуть позже начав поиски в англоязычном сегменте, нашел ветку на официальном форуме как раз о том же.
Кстати, это проблема всех шилдов. У меня таких несколько, все одинаково.
А ведь если задуматься, проблема весьма коварна. Если начинающий захочет проверить светодиодом, то наверняка сделает это с помощью digitalWrite() и он будет работать )
Решение проблемы в принципе очевидное - либо накинуть перемычку с линии питания +5В неиспользованного пина на любой пин питания из 36 по 45, либо запаять перемычку с обратной стороны между 35 и 36 пинами.
Вот так всегда: вдруг, откуда ни возьмись, появляется шилд, о котором раньше не было ни слова.
Тема то о Меге, а не о шилде.