Bluetooth-метеостанция для начинающих с помощью Arduino

Эта статья подойдет для тех, кто еще только начинает свой путь по изучению мира электроники. Речь пойдет о том, как своими руками можно соорудить простую метеостанцию, которая будет работать через bluetooth на основе контроллера Arduino. Система будет состоять из двух модулей. Один модуль будет считывать всю необходимую информацию, а второй будет ее отображать. Связываются модули с помощью беспроводной связи bluetooth.

Материалы и инструменты для изготовления:
— один барометр типа BMP085;
— фоторезистор на 500 кОм;
— BT-модуль HC-05 (x2);
— Arduino UNO R3 (x2);
— LCD дисплей, ЖК экран LCM 1602 i2c (x1);
— макетная плата, резисторы, диоды и другие компоненты;
— паяльник с припоем.

Процесс изготовления метеостанции:

Шаг первый. Как подключить фоторезистор

Сборку устройства можно начать с подключения фоторезистора. Сопротивление этого электронного компонента зависит от того, какой интенсивности свет на него падает. При использовании в связке фоторезистора с обычным резистором получается эффект деления напряжения, это значит, что напряжение, которое будет проходить через фоторезистор, напрямую зависит от интенсивности освещенности.

Чтобы достичь нужного уровня чувствительности фоторезистора, нужно провести пару опытов, подбирая номинал обычного резистора. По словам автора, резистор на 10 кОм подходит для этих целей как нельзя лучше.

Значения датчика выводятся с помощью функции analogRead(pin_number).

 Показать / Скрыть текст
int lightPin= 0; //номер входа, к которому подключен фоторезистор
void setup()
{
}
void loop()
{
int light = analogRead(lightPin);
}

[/hide]


Шаг второй. Подключаем датчик температуры и давления

Чтобы получать данные о температуре, давлении и высоты над уровнем моря используется барометр типа BMP085. Для того чтобы подключить этот датчик к Arduino, нужно задействовать 4 контакта. На контакт Vcc подается питание +5В. Контакт SDA подключается к соответствующему контакту на Arduino (A4). Выход SCL нужно подключить к входу SCL на Arduino (A5). Ну а GND означает землю. Чтобы с датчика можно было снимать показания, нужно подключить библиотеку Adafruit.

Вот как выглядит код:

 Показать / Скрыть текст#include
#include
#include
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
void setup(void)
{
/* Initialise the sensor */
if(!bmp.begin())
{
/* There was a problem detecting the BMP085 … check your connections */
Serial.print(«Ooops, no BMP085 detected … Check your wiring or I2C ADDR!»);
while(1);
}
}
void loop(void)
{
sensors_event_t event;
bmp.getEvent(&event);
if (event.pressure)
{
float pressure = event.pressure;

float temperature;
bmp.getTemperature(&temperature);

float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA;
float altitude = bmp.pressureToAltitude(seaLevelPressure, event.pressure);
}
}

Шаг третий. Подключаем дисплей
Дисплей подключается очень просто, для этого просто нужно следовать указанной схеме.

ЖК GND -> Arduino GND
ЖК SDA -> Arduino SDA (A4)
ЖК VCC -> Arduino 5V
ЖК SCL -> Arduino SCL (А5)

Также прилагается пример кода:

 Показать / Скрыть текст/* В примере показано использование LCD экрана 1602. */
#include
#include
LiquidCrystal_I2C lcd(0x27,16,2); // Параметры: Адрес устройства, размер экрана
void setup()
{
lcd.init();
// Инициализация lcd
lcd.backlight();
// Включаем подсветку
// Курсор находится в начале 1 строки
lcd.print(«Hello»);
// Выводим текст
lcd.setCursor(0, 1);
// Устанавливаем курсор в начало 2 строки
lcd.print(«World!»);
// Выводим текст
}
void loop()
{ }
// Подробнее: http://xrobot.by/modules/lcd_4_4#ixzz3vQXoFKOj

Шаг четвертый. Подключение электроники
Этот этап сборки является завершающим. Теперь нужно подключить bluetooth-модуль к контроллеру Arduino. Устройство типа Master должно подключаться к устройству типа Slave, оно, в свою очередь, будет ожидать входящего подключения. Чтобы создать плату типа Master нужно установить на ней переключатель в Н. На другой плате нужно поставить переключатель в L, она будет являться Slave. После того как модули будут подключения к контроллеру Arduino, можно переходить к настройке.

Чтобы настроить Master, в модуль bluetooth необходимо послать некоторый набор команд, это делается при помощи Serial Monitor (Ctrl+Shift+M). В процессе обмена сообщениями лучше всего выставить Baud rate -> 38400 & «Both NL&CR».
После того как отсылается команда «AT» нужно дождаться ответа «OK». Это будет означать, что все подключено правильно, и можно переходить к следующему этапу. Если же такого ответа нет, то нужно все проверить, возможно, bluetooth-модуль подключен неправильно.

Вот несколько команд, которые понадобятся для настройки устройства:
AT — просто вернет «OK», значит всё в порядке
AT+NAME? — вернет имя модуля. Мы также можем задать своё имя, послав, например, AT+NAME=WEATHER_MONITOR
AT+ROLE? — одна из ключевых команд, вернет роль устройства, master/slave. Задать значение можно с помощью AT+ROLE=0 — перевести в режим slave, либо AT+ROLE=1 — режим master.
AT+PSWD? — вернёт пин-код, используемый для подключения.
AT+ADDR? — вернёт адрес устройства, например «14:2:110007». Стоит заметить, что при использовании адреса в посылаемых AT-командах двоеточия «:» нужно заменять запятыми «,», т.о. «14:2:110007» -> «14,2,110007».

Переходим к настройке Mastera. Она состоит из двух этапов, из настройки конфигурации и непосредственно подключения.

1. Сперва нужно послать команду AT+ORGL, это вернет модуль к его первоначальным настройкам.
2. Если требуется изменить имя модуля, это можно сделать с помощью команды AT+NAME=myname.
3. С помощью команды AT+RMAAD нужно удалить всю информацию о предыдущих «спариваниях».
4. Посылая команду AT+ROLE=1, заставляем работать устройство в режиме Master.
5. Командой AT+PSWD=1234 можно установить пароль.
6. При отправке команды AT+CMODE=1 устройство может подключаться к любым адресам.

А теперь можно переходить непосредственно к подключению.

1. Чтобы удостовериться в том, что устройство работает, можно послать команду AT и дождаться ответа ОК.
2. Инициализация проводится командой AT+INIT. Если при этом получается ответ ERROR(17), это не страшно, вероятно инициализация уже проводилась ранее.
3. Поиск доступных адресов bluetooth запускается с помощью команды AT+INQ.
4. Непосредственно сам процесс подключения к устройству осуществляется с помощью команды AT+LINK=. Например, команда может выглядеть вот так — AT+LINK=14,2,110007.
Если все сделано верно, частота мигания диодов уменьшиться.

В заключении устройство останется прошить, чтобы оно могло принимать, отправлять, считывать и отображать погодные данные. Если есть желание, макетную плату можно не использовать, все можно соединить с помощью паяльника. В заключении электроника прячется в корпус. Вот и все, домашняя самодельная метеостанция готова к испытаниям.

meteo.rar

[2.31 Kb] (скачиваний: 338)

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Источник: usamodelkina.ru

Оцените статью