Подключение датчика температуры DS18B20 к Orange Pi, Banana Pi, Raspberry Pi

DS18B20, пожалуй, один из самых из известных и доступных датчиков температуры. В основном для чтения данных с DS18B20 используется микроконтроллеры, к примеру: ATmega8, ATtiny2313, Arduino и др.. С появлением одно платных мини-компьютеров стало интересно, как будет работать подключённый датчик температуры DS18B20 к Orange Pi, Banana Pi или Raspberry Pi — самые популярнуе мини-компьютеры.
Для работы с GPIO на Orange Pi и Banana Pi необходимо установить WiringOP и BPI-WiringPi соответственно, и IDE Code::Blocks.
При создании статьи был выбран Banana Pi M3, так как он  у меня постоянно включён. Но данный пример программы будет работать и при подключении DS18B20 к Orange Pi или Raspberry Pi.

OneWire библиотека

OneWire.h

OneWire.cpp

Подключение нескольких DS18B20 к Orange Pi на одну шину

Подключение датчика температуры DS18B20 к Orange Pi, Banana Pi, Raspberry Pi

При подключение нескольких датчиков DS18B20 к Orange Pi, Banana Pi или Raspberry Pi на одну шину, главное устройство (компьютер) должно определить коды ROM всех подчиненных устройств на шине. Команда SEARCH ROM [F0h] — (ПОИСК ROM) позволяет устройству управления определять номера и типы подчиненных устройств. Устройство управления изучает коды ROM через процесс устранения, которое требует, чтобы Главное устройство исполнил цикл Поиска ROM (то есть, команда ROM Поиска, сопровождаемая обменом данных). Эту процедуру необходимо выполнить столько раз, сколько необходимо, чтобы идентифицировать все из подчиненных устройств. Если есть только одно подчиненное устройство на шине, более простая команда READ ROM [33h] (Чтения ROM) может использоваться место процесса Поиска ROM.
После каждого цикла Поиска ROM, устройство управления шиной должно возвратиться к Шагу 1 (Инициализация) в операционной последовательности.

main.cpp

double getTemp(OneWire * oneWire, uint64_t ds18b20s) — возвращает данные температуры в градусах Цельсия.

Результат

Подключение датчика температуры DS18B20 к Orange Pi, Banana Pi, Raspberry Pi

Скачать проект Code::blocks

DS18B20 Banana Pi M3.zip

Если есть вопросы, пишите в комментариях, попробуем разобраться.

 

Комментарии 4

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *