|
|||
Метеостанция на Arduino
ПРОЕКТЫ НА ARDUINO Метеостанция на Arduino 03. 11. 2016 3 MINS READ SHARE Для того, чтобы узнать температуру и влажность воздуха на улице, а также атмосферное давление, можно посмотреть прогноз в Интернете. Но, как известно, гидрометеоцентры частенько ошибается. Получить фактические точные данные можно с помощью домашней метеостанции. Домашнюю метеостанцию можно купить, а можно сделать самостоятельно. Рассмотрим создание домашней метеостанции на контроллере Arduino. Наша домашняя метеостанция будет измерять температуру и влажность воздуха, атмосферное давление и выводить параметры на ЖК-дисплей. Список комплектующих, которые понадобятся для данного проекта: · контроллер Arduino; · плата прототипирования (без пайки) · модуль датчика BMP085 или BMP180 · модуль с датчиком влажности DHT11 · датчик температуры DS18B20 · резистор 4, 7 кОм; · дисплей Nokia 5110 · провода и корпус В качестве платы Arduino в принципе можно использовать любую из модельного ряда Arduino, но я рекомендую Arduino Uno или Arduino Duemilanove, так как в будущем собираюсь установить на нее Ethernet shield, чтобы сделать домашнюю метеостанцию устройством IoT (“Интернета вещей”). Я буду использовать плату Arduino Duemilanove (рисунок 1). Рис. 1. Плата Arduino Duemilanove Теперь рассмотрим датчики, которые будем использовать в проекте. Рис. 2. Модуль датчика BMP085 Датчик температуры DS18B20 (рисунок 3) – это цифровой измеритель температуры с разрешением преобразования 9 – 12 разрядов и функцией тревожного сигнала контроля за температурой. Обменивается данными с микроконтроллером по однопроводной линии связи, используя протокол интерфейса 1-Wire. Диапазон измерения температуры составляет от -55 до +125 °C. Для диапазона от -10 до +85 °C погрешность не превышает 0, 5 °C. У каждой микросхемы DS18B20 есть уникальный серийный код длиной 64 разряда, который позволяет нескольким датчикам подключаться на одну общую линию связи. Рис. 3. Датчик температуры DS18B20 Датчик DHT11 (рисунок 4) не обладают высоким быстродействием и точностью, но зато имеет низкую стоимость. Датчик состоит из емкостного датчика влажности и термистора. Содержит аналого-цифровой преобразователь для преобразования аналоговых значений влажности и температуры в цифровые. Диапазон измерения влажности – 20-80%, частота опроса 1 раз в секунду. Мы будем использовать в проекте датчик DHT11 в виде готового модуля. Рис. 4. Модуль DHT11 Для отображения информации с датчиков будем использовать ЖК-дисплей Nokia 5110 (рисунок 5). Это графический монохромный дисплей с разрешением 84× 48 точек. Дисплей Nokia 5110 поставляется на плате в паре с контроллером PCD8544 и штыревым разъемом. Электропотребление дисплея позволяет питать его от выхода +3. 3 В платы Arduino. Рис. 5. Дисплей Nokia 5110 Собираем схему согласно рисунка 6. Рис. 6. Схема подключения к Arduino Для удобства я спаял датчики на плате прототипирования, сделал контакты для подключения проводов от дисплея и оформил это в виде шилда – припаял штырьки для подключения к контактам платы Arduino (рисунок 7). Рис. 7. Как получилось у меня. Проект метеостанции на Arduino Теперь приступим к написанию скетча. При написании скетча нам понадоьятся следующие Arduino-библиотеки: С периодичностью 5 секунд получаем данные с датчиков DS18B20, DHT11, BMP085 и выводим в монитор последовательного порта и на дисплей Nokia 5110. Процедура получения данных с датчика DS18B20 – get_temp() выполняет поиск устройств 1-Wire, подключенных к выводу Adruino D7 (у нас один датчик), и выдает его данные. // подключение библиотек void setup() { void loop () { if (! ds. search(addr)) { ds. reset(); ds. select(addr); return Temp; После загрузки скетча видим вывод получаемых данных в мониторе последовательного порта (рисунок 8) и на экран дисплея Nokia 5110 (рисунок 9). Рис. 8. Вывод данных в монитор последовательного порта Устанавливаем это все в корпус (рисунок 10). Рис. 9. Вывод данных с Arduino на дисплей Nokia 5110 Устанавливаем это все в корпус (рисунок 10). Рис. 10. Собранная на Ардуино метеостанция в корпусе Остается накрыть блок крышкой и перенести на улицу, при этом дисплей и блок питания оставить в комнате. Метеостанция будет готова к работе. Метеостанцию можно усложнить, добавив датчик дождя и часть кода из предыдущего проекта “Датчик дождя на Arduino“. В прикрепленных архивах рабочий скетч и необходимые библиотеки. Скачать файлы проекта.
|
|||
|