2 X BH1750FVI -> 1 X Arduino
- Войдите на сайт для отправки комментариев
Ср, 15/02/2017 - 11:12
Помогите подключить 2 датчика освещенности BH1750FVI к одной ардуине.
Про адреса 0х23 и 0х5С знаю.
Как программно с двух читать ?
ап
Они разные бывают, те где адрес менять можно, и где нельзя - пина нету. Для вторых, я бы использовал софтверный I2C, библа есть -погуглите. Тогда цепляете на рзные шины, и проблемы с адресом не существует
у меня как раз с пином для смены адресса
пример скетча для чтения одного датчика тож есть
не соображу как с двух читать поочереди изменяя состояние этих пинов
Тогда на пин адреса одного сенсор вы подключаете +3.3В , а на пин адреса другого - 0В, т.е. Gnd.
Какой библиотекой пользуетесь?
библиотект wire.h и bh1750.h
Вот нашёл для вас другую библиотеку, специально для двух датчиков. Сам не проверял, у меня датчики без адреса.
https://github.com/Genotronex/BH1750FVI_Master https://github.com/Genotronex/BH1750FVI_Master
во во эти и используются
наверно невозможно два датчика через один порт читать потому что вот такой конструктор в строке 04 задает адрес устройства (пустые скобки по умолчанию 0х23). Задать другой адресс в том же скетче не удается.
пробовал вот так. всегда дает 65535
что не так ??
Писать за вас скетч я не буду, просто приведу несколько фрагментов кода, которые вам, надеюсь, помогут разобраться. Никаких библиотек, кроме как Wire, в них не используется
Во-первых нужно учитывать, что у этого датчика есть несколько режимов замера. От них зависит время конвертации (замера).
Это время нужно будет выжидать после подачи команды на конвертацию в том случае, если вы выбираете однократный (*ONETIME*) замер (для экономии энергии, например). Имейте в виду, что датчик при чтении выдает результаты предыдущего замера. Таким образом, если замеры проводятся редко, необходимо будет провести две операции замера подряд для получения актуальных данных. Результаты первого - в /dev/null, второго можно использовать.
Если же экономить - не ваш стиль, то выбирайте режим продолжающегося замера (*CONTINUOUS*). В этом случае датчик будет производить замер за замером самостоятельно, а при считывании выдаст более-менее актуальный результат.
Итак, для определенности выберем mode = BH1750_CONTINUOUS_LOWRES
Вот, в принципе и вся работа с 1750.
Далее определяйтесь с режимом замера, делайте двойное считывание при одинарном замере или задержку после первого переключения в режим продолжающегося замера, а потом читайте без пауз. Результат можете вычислять любым доступным способом - через деление во float переменную или как-то иначе.
во во эти и используются
наверно невозможно два датчика через один порт читать потому что вот такой конструктор в строке 04 задает адрес устройства (пустые скобки по умолчанию 0х23). Задать другой адресс в том же скетче не удается.
Не та библиотека , у вас BH1750.h а надо BH1750FVI.h
Тогда создать Два конструктора
BH1750FVI LightSensor1;
BH1750FVI LightSensor2;
в сетапе задать разные адреса, в скетче обращаться по Двум именам. Не забудьте пин адреса подключить по разному,
у одого +5 у другого граунд
Всё работает всё отлично
СПАСИБО за помощь :)
С датчиком ВН1750 все отлично! Спасибо! А не могли бы подсказать как можно подключить 2 датчика освещенности GY-49 max44009 к одному Ардуино? А0 я подключил к Vcc. Нужно два разных адреса указывать? 1001 010х и 1001 011 ? Как отразить эти адреса в скетче. И нужно ли корректировать библиотеку?
Какую библиотеку?
Ту что в папке libraries/MAX44009-master
У меня нет такой в папке libraries
Разумеется. Её скачивают с GitHub.
А, ну тогда подождем кого-нибудь, кто угадает, какую из библиотек на гитхабе полагается скачать, чтобы помочь в вашей проблеме.
Я полагаю, что тот кто не знает как найти билиотеку на ГитХабе врятли может чем-то помочь. На рипозиторе GitHub.com в поиске напишите интересующее и получите результат.
Можете просто я Яндексе написать MAX44009 GitHub и получите все возможные результаты на этом репозиторе относительно этого датчика. Однако там нет скетча для подключения двух датчиков.
Мне-то зачем писать что-то на рипозиторе? У меня проблем с этим модулем нет и никакие библиотеки совершенно не интересуют.
Хотел вам помочь, но вижу, что с таким умищем (и умением скачивать с гитхаба) вам помощь не требуется.
Спасибо, но помощь нужна только от специалистов. Не засоряйте эфир
Спасибо, но помощь нужна только от специалистов. Не засоряйте эфир
ок. я - специалист. подымай свою ленивую задницу и звездуй на гитхаб.