Наши контакты: +380958663605
Домашняя погодная станция на arduino должна быть у каждого и сегодня я Вам расскажу как сделать самому погодную станцию с отображением на android телефоне температуры на улице, температуры в помещении, атмосферного давления и влажности воздуха.
Измерение температуры на улице в градусах Цельсия
Измерение температуры в комнате в градусах Цельсия
Измерение атмосферного давления на улице в мм. рт. ст.
Измерение влажности на улице в %
Заказать датчик температуры DS18B20
Заказать датчик атмосферного давления BMP085
Заказать датчик влажности DHT11
Заказать bluetooth модуль HC-05
Для начала мы разберемся с подключением модулей и датчиков к ардуино и запустим тестовый скетч а позже перейдем к созданию приложения на android.
Приступим к созданию погодной станции на ардуино:
Для начала подключим 2 датчика температуры DS18B20 к arduino как показано на картинке, более подробно читайте в статье Подключение датчика температуры DS18B20 к Arduino . Датчики подключаем к 4 цифровому пину на ардуино.
Потом подключим датчик давления BMP085 как показано на картинке , более подробно читайте в статье Подключение датчика BMP085 к Arduino.
Подключаем датчик влажности DHT11 , более подробно читайте в статье Подключение датчика DHT11 к Arduino Датчик подключаем к цифровому пину 8 .
и блютуз модуль HC-05 к пинам RX-TX на вашей плате arduino, более подробно читайте в статье Подключение bluetooth HC-05 к Arduino.
После подключения всех модулей и датчиков загружаем в arduino наш скетч
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
#include <OneWire.h> #include <DallasTemperature.h> #include <Wire.h> #include <BMP085.h> #include <DHT.h> #include <DS1307.h> #include <EEPROM.h> #define ONE_WIRE_BUS 4 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = { 0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92 }; DeviceAddress Thermometer3 = { 0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5 }; BMP085 dps = BMP085(); long Temperature = 0, Pressure = 0, Altitude = 0; DHT dht(8, DHT11); char incomingByte; int x=0; void setup() { sensors.begin(); sensors.setResolution(Thermometer1, 10); sensors.setResolution(Thermometer3, 10); Wire.begin(); dps.init(MODE_ULTRA_HIGHRES, 21000, true); dht.begin(); Serial.begin(9600); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); Serial.println(tempC,1); } void loop(){ sensors.requestTemperatures(); dps.getPressure(&Pressure); int h = dht.readHumidity(); float t = dht.readTemperature(); if (Serial.available() > 0) { incomingByte = Serial.read(); if(incomingByte == '1') { x=2; } if(incomingByte == '2') { x=1; } if(incomingByte == '3') { x=3; } if(incomingByte == '4') { x=4; } } delay(100); switch (x) { case 1: printTemperature(Thermometer1); break; case 2: printTemperature(Thermometer3); break; case 3: Serial.println(Pressure/133.3,1); break; case 4: Serial.println(h); break; } } |
После заливки скетча открываем монитор порта и проверяем, а именно отправляем 1, потом 2, 3 и 4. В итоге мы должны получать значения температуры на улице – при отправке 1, температуры в комнате – при отправке 2, давления – при отправке 3 и влажности – при отправке 4.
Если все нормально и скетч работает – загружаем приложение на android телефон
Погодная станция на arduino приложение для android
Категория: | Arduino приложения для android |
Лицензия: | Freeware |
Дата: | 02.04.2014 |
и проверяем работоспособность
Всем спасибо за внимание, в следующей статье мы более подробно рассмотрим создание приложения погодной станции для android телефона.
А можно купить уже готовую?
Там нет ничего сложного,и можно свободно сделать самому … Я свою подарил другу)))
я постараюсь( но я не понимаю нечего
А почему нету в компонентах резисторов?
нет я не смогу я уже не могу установить проги и всякую чушь для програмиривания ардуино(( сколько будет стоить такая?
Оставьте свой e-mail, я Вам напишу …
У меня в ардуино при проверке скетча выбивает ошибки библиотек, хотя все библиотеки загружены
Свяжитесь со мной по почте inhelp@i.ua, помогу…
Здравствуйте! А через SMS или GPRS есть варианты (чтобы издалека мониторить можно было? Заранее благодарен за ответ на почту
Я хіба вчусь, но хіба датчик DHT11 не показує температуру і вологість? Для чого використовували два датчика температури, якщо можна було один.
Можна використовувати один, так само як і слухати музику в моно, якщо Вам подобається точність даного датчика і діапазон роботи, то використовуйте його… Мене цікавить як ви будете заміряти температуру взимку ???
Сейчас готовлю статью об GSM модуле SIM800L и работе с ним, при использовании данного модуля можно будет мониторить и удаленно…
А нельзя к этой конструкции прикрутить микро сд+часы, для фиксирования времени и записывать изменения показания датчиков с последующим просмотром на телефоне?
И вместо блютус использовать wi-fi на ESP8266
А можно исходник для ап инвентора?
В разделе сайта android исходник с именем WSAB, библиотеки в разделе библиотек
И ссылки для библиотек.
Проект интересный но хочется под себя переделать.
Собрал схему, залил скетч на ардуино, выдает ошибку: sketch_apr05b.ino:6:20: fatal error: DS1307.h: No such file or directory
compilation terminated. Помогите разобраться в чем дело!
Подскажите, а как вывести на экран 1602 значения 2-х датчиков температуры? Давление и влажность вывел.
http://vozmeteo.com.ua погодный сайт на ардуино г.Вознесенска
Доброго времени!!! Вопрос зачем подключена библиотека датчика реального времени DS1307.h.
Когда закоментить строку с подключение данной библиотеки то скетч не заливаеться. А если оставить так как есть, то при компиляции возникает куча ошибок.
Добрый вечер . не могу разобраться. решил собрать а мне выдает ошибку с библеотеками . если вам не трудно можете выслать мне на почту полный сборник библеотек t_hasanov@mail.ru заранее спасибо
Один вопрос…..DHT 11 это датчик температуры и влажности, зачем тогда еще один датчика температуры ставить (если это связанно с неточными показаниями DHT 11 то за место него можно использовать DHT 22, он уж поточнее будет).
Доброго времени! Подскажите, влажность, давление – норм, обе температуры показывает -127.0
Разобрался, всё работает!
Класс то что это заведено не андройд , есть идея по доработкам , температурные датчики по разным комнатам мониторить, и в детскаой комнате там дети окно открывают на ночь и фишка в том если температура опустится ниже определенного порога то тревогу включать что дети мерзнут во сне ! Очень полезная вещь выйдет как мне кажется.