В этом посте мы создадим интересный проект Миниметеостанция на Arduino в телефоне, которая может показать вам температуру окружающей среды, влажность, давление и многие другие данные о вашем окружении, которые можно использовать для прогнозирования погоды из телефона.
Если вас интересует метеорология, этот проект может пригодиться для изучения местных погодных условий и краткосрочных изменений.
Возможности самодельной метеостанции:
- Измерение текущей температуры в доме, на улице.
- Показания влажности воздуха.
- Отслеживание атмосферного давления.
- Вывод всех данных на экран телефона в реальном времени.
Перечень необходимых компонентов:
- Плата Arduino Uno, mini, nano с процессором ATmega 168, ATmega 328.
- Bluetooth модуль HC-05.
- Датчик давления BMP180 — более экономное и точное устройство своей устаревшей версии BMP085.
- Датчик влажности DHT22 — отличается от DHT11 большей точностью и расширенным диапазоном измерений. Температуру он меряет также неточно, с чувствительностью 0.5 °С, хотя уже от –40 до + 125 °С, а не от 0 до +50 °С.
- Датчик температуры DS18B20, две штуки — один замеряет температуру в комнате, другой на улице. Использовать отдельные датчики температуры понадобилось, поскольку встроенный в модуль DHT22 имеет низкую точность до 0.5 °С.
- Резисторы по 0,125 Вт: 4.7 кОм, 10 кОм.
- Монтажная плата, паечная или беспаечная.
- Сетевой адаптер 220/5 В для питания платы Arduino.
Дополнительно можно приобрести:
- Плата коммутационная Sensor Shield для быстрого подключения всех датчиков, сервомоторов, интерфейсов Serial и I2C, незаменима тем, кто ни разу не держал в руках паяльник.
- Импульсный преобразователь DC-DC, вход 7…24 В, выход 5 В, 2.5 А.
Подключение датчиков и Bluetooth модуля
Подключать датчики температуры DS18B20 следует с одним резистором 4.7 кОм между их выводами DQ и VDD.
Два датчика температуры подсоединены к плате Arduino по одной трехпроводной шине. Каждый датчик DS18B20 имеет свой уникальный 64-битный адрес, и работает с Arduino по однолинейному протоколу 1 Wire передачи данных.
Все два датчика будут передавать данные по одной шине на 4 цифровой вход платы Arduino.
Подключаем датчик давления BMP180 к плате Arduino четырьмя проводами:
- VCC — 5V (питание +5В);
- GND — GND (земля);
- SDA — A4 аналоговый вход на Arduino;
- SCL — A5 аналоговый вход на Arduino;
Подключаем датчик влажности с pul-up (подтягивающим) резистором 10 кОм между его выводами VCC и DAT. Если расстояние от датчика до контроллера более 20 метров, то рекомендуется ставить подтягивающий резистор на 5.1 кОм. При необходимости улучшить работу датчика, следует добавить конденсатор емкостью 100 нФ между его питанием VCC и землей GND.
Наш датчик влажности будет передавать данные на 8 цифровой вход платы Arduino.
Остается лишь подключить Bluetooth модуль HC-05 к плате Arduino:
- VCC — 5V (питание +5 В);
- GND — GND (земля);
- RX — TX на Arduino;
- TX — RX на Arduino;
- KEY — не используется;
- STATE — не используется.
Программное обеспечение
Загружаем в Arduino эскиз программы для домашней миниметеостанции.
Скетч WSAB
Проверяем работоспособность собранного устройства. В Монитор порта компьютерной программы Arduino IDE отправляем 1, затем поочередно 2, 3, 4.
- При отправке 1 — показания температуры на улице.
- При отправке 2 — показания температуры в доме.
- При отправке 3 — данные о давлении.
- При отправке 4 — данные о влажности.
Загружаем на Android телефон приложение Wether station Android Arduino Bluetooth.
Показания температуры на улице в градусах Цельсия
Показания температуры внутри дома в градусах Цельсия
Данные об атмосферном давлении на улице в мм.рт.ст.
Данные о влажности на улице в процентах
Собрать готовое устройство можно в любом корпусе: футляр от аудиокассеты, распределительная коробка.
Напоследок следует упомянуть, что собранная Миниметеостанция на Arduino в телефоне домашняя метеостанция потребляет совсем мизерный ток, до 30 мА, поэтому её вполне можно сделать переносной, запитав от солнечной панельки и аккумулятора.
Автор: Виталий Петрович. Украина Лисичанск.
Читайте также: Новости России Украины и мира