Скетч для проекта Народный мониторинг и проблема с передачей данных.
- Войдите на сайт для отправки комментариев
Решил по ссылке: http://student-proger.ru/2014/11/meteostanciya-2-1/#top
собрать устройство.
Плата Leonardo, ethernet на W5100, кучка 18В20, DHT22, BMP085.
Среда 1.0.6? библиотеки по ссылке автора.
Все собрал как у автора по ссылке - не работает. То есть компилируется без ошибок, загружается и данные на Народном мониторинге не появляются.
Методом научного тыка, выяснил, что с 18В20 и DHT22 и его датчиком температуры) данные отправляются.
Но стоит добавить BMP085 - данные не идут.
Интересно, что если только BMP085 с его датчком температуры - данные идут, однако шины SCL SDA от него надо подключать в одноименные на Leonardo (5 и 4 как у автора - не работает)... как только добавляю что-то еще - опять данные не идут...
Подскажите, в чем проблема? Хотелось чтобы данные шли и от BMP085.
Резисторы 4к7 привязки стоят?
Да да, на DHT22 и 18В20 стоят. 3 штуки 18В20 и один DHT22 работают отлично. Стоит только в скетче активировать BMP085 - все, данные не идут. Хотя все соединения физически не трогаю.
А отдельно BMP085 работает? Чувствую что он шину коротит.
Да, отдельно работает. И в скетче автора и в моем скетче. Но стоит в скетче автора активировать еще один, любой датчик - все..
Вот сам скетч, когда активирован BMP085 и еще любой другой датчик (строки 18-21) то как я пытался понять, затык или на 74 строке или 88.
Продолжая самокопаться, сменил Leonardo на mega 2560. BMP085 правда включил в 20-21 контакты меги (SDA SCL). Скетч смог загрузиться только на меге без W5100.
Однако все датчики смогли опроситься и отправить данные.
Собственно, а что не так с Leonardo то? Ведь отдельно все работает а вместе нет...
Резисторы 4к7 привязки стоят?
Я про другие спрашивал, те которые на SDA SCL (I2C шины). Сканер находит ваш датчик? Примеры из библиотеки работают?
А, эти резисторы на шилде с BMP085 распаяны. Из библиотеки примеры работают.
В скетче автора работает или только BMP085 или все остальное без BMP085.
Если все активировать, то затык где-то в строке 74 или 88 скетча автора.
С Mega 2560 - работает все как надо. С Leonardo - затык...
Подтягивающие резисторы должны стоять только в одном месте.
Если у ВАС они стоят на каждом устройстве, то они и садят линию 3х4.7к =1.56к, если не ошибаюсь
Не, с резисторами все нормально. Только в одном месте.
Скетч автора заработал на Меге 2560. Подозрение в нехватке памяти у Leonadro, после старта программы. Хотя скетч умещается с запасом где-то около 2 кБ.
Так наверно и есть, загрузчик в Леонардо 4кб, а в UNO 0.5кб, ну для стабильности надо оставить 20-30% памяти.
А еще я посмотрел в Леонардо 2 (SDA) и 3 (SCL), а в UNO I2C: 4 (SDA) и 5 (SCL)
Не, с резисторами все нормально. Только в одном месте.
Скетч автора заработал на Меге 2560. Подозрение в нехватке памяти у Leonadro, после старта программы. Хотя скетч умещается с запасом где-то около 2 кБ.
Объем оперативной памяти и flash, в которой размещается скетч, это не одно и тоже. Поэтому судить по объему скетча бесполезно. Он либо войдет либо нет.