Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
Что понадобится
- 2 × цифровых датчика температуры DS18B20
- 2 × подтягивающих резистора 4,7 кОм
- Стандартная макетная плата, перемыточные провода и источник 3,3 В от Pi
- Опционально: резистор 47 Ом, 1 × светодиод, женский-папский перемыточный провод для индикатора
Понимание DS18B20 и протокола 1-Wire
DS18B20 — высоконадежный датчик, который может делить один GPIO-пин с несколькими устройствами благодаря протоколу 1-Wire. У каждого датчика свой уникальный адрес, поэтому Raspberry Pi может читать каждый независимо.
Настройка макетной платы
Большинство макетных плат имеют пару шин питания — красную для +3,3 В и синюю для GND. Эти шины соединяют все подключенные провода на своих сторонах, упрощая добавление компонентов позже.
Центральная секция платы состоит из рядов, разделенных на две половины вертикальным зазором. Подключение провода к одной стороне ряда связывает его со всеми другими пинами на той стороне, но не с противоположной половиной.
Для DS18B20 распиновка:
- Pin 1: GND
- Pin 2: Data (подключен к GPIO4 на Pi)
- Pin 3: VDD (3,3 В)
Разместите резистор 4,7 кОм между Pin 2 и Pin 3 для обеспечения необходимого подтягивания. Соедините Pin 1 с синей шиной GND и Pin 3 с красной шиной 3,3 В. Повторите ту же настройку для второго датчика.
Программирование Pi
Вставьте SD-карту с Raspbian, включите Pi и откройте терминал. Войдите с учетными данными по умолчанию (pi / raspberry) и запустите:
sudo python dstemp.py
Первый запуск загружает необходимые драйверы; последующие запуски показывают показания температуры с каждого датчика каждые несколько секунд.
Проверка работы датчиков
- Прикосновение к датчику постепенно повышает показание.
- Дуновение теплого воздуха или фен ускоряют рост.
- Приложение кубика льда быстро снижает температуру.
- Случайные ошибочные значения (например, 0,06 °C) могут появляться, но обычно являются разовыми.
Нажмите Ctrl+C для выхода.
Добавление второго датчика
С выключенным Pi (sudo halt), вставьте второй DS18B20 в макетную плату, подключите его пины как описано, и включите Pi снова. Запуск sudo python dstemp.py теперь должен показывать показания с обоих устройств.
Добавление светодиодного индикатора
Чтобы зажечь светодиод, когда датчик 1 превышает 25 °C, добавьте следующие компоненты:
- Женский-папский перемыточный провод от GPIO 24 к аноду светодиода (длинная нога)
- Светодиод (любой цвет)
- Резистор 47 Ом от катода светодиода (плоская сторона) к синей шине GND
Измените ваш Python-скрипт для мониторинга датчика 1 и переключения GPIO 24 соответственно. Помните держать Pi выключенным во время проводки.
Для более подробной информации: Raspberry Pi Temperature and Light Sensor
Производственный процесс
- Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
- Подключение нескольких DS18B20 1-Wire датчиков к Raspberry Pi для точного мониторинга температуры
- Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
- ИК-датчик температуры TMP006 с Raspberry Pi: библиотека Python и руководство по настройке
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Бесшовный мониторинг температуры и влажности на Raspberry Pi с EzTemp
- Точный мониторинг температуры в серверной на Raspberry Pi
- Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Подключение цифрового термометра DS18B20 1-Wire к Raspberry Pi — пошаговое руководство