Передвижная метеостанция с управлением по Bluetooth - Своими руками
Своими руками

Передвижная метеостанция с управлением по Bluetooth

>

Передвижная метеостанция с управлением по BluetoothВ этой статье мастер-самодельщик расскажет нам, как он сделал передвижную метеостанцию. По сути это четырехколесная тележка с полностью функциональным управлением по Bluetooth через Blynk. Тележка может двигаться вперед, назад, влево и вправо с помощью четырех двигателей постоянного тока. При этом устройство измеряет давление воздуха, температуру, влажность, освещенность. Устройство управляется терминалом Seeed Wio Terminal и DFRobot Quad DC Motor Driver Shield. Все данные, связанные с тележкой и погодой, отображаются как на ЖК-дисплее терминала Wio, так и на экране HMI Blynk.
Инструменты и материалы:-Терминал Seeed Wio ATSAMD51;-Драйвер мотора DFRobot для Arduino;-Датчик температуры и влажности DHT11;-Датчик температуры и давления BMP280;-Мотор-редуктор GA25 12 В, 4 шт;
-Резиновые колеса, 2 шт. X 65 мм, + два шкива GT2;
-Шестигранная муфта – 4 шт;-Литий-ионный аккумулятор 18650, 6 шт;-Держатель батареи 18650, 2 ячейки на 2 шт;-Держатель батареи 18650, 2 шт., 1 ячейка;-Регулируемый понижающий модуль питания постоянного и переменного тока LM2596S 3A;-Плата расширения Arduino Uno;-Штыревые разъемы;-Белый акрил, размер A4, толщина 5 мм;-Выключатель;-Ленточный кабель;-Двухжильный силовой кабель 2 метра;-Штекер питания постоянного тока + гнездо;-Кабельные стяжки;
-Труба ПВХ Ø42 мм и Ø60 мм;
-Тройник из ПВХ, Ø 42 мм. 2 шт.;
-Заглушка Ø42 мм для трубы из ПВХ – 4 шт;
-Тройник прямой из ПВХ Ø60 мм;
-Заглушка для трубы из ПВХ Ø60 мм;
-Сверлильный станок;-Ножовка;My Webpage
-Паяльные принадлежности;
Шаг первый: терминал Seed Wio
Терминал Wio – это микроконтроллер на базе SAMD51 с возможностью беспроводного подключения на базе Realtek RTL8720DN, совместимый с Arduino и MicroPython. Он работает на частоте 120 МГц (увеличение до 200 МГц), имеет 4 МБ внешней флэш-памяти и 192 КБ ОЗУ. Он поддерживает как Bluetooth, так и Wi-Fi, являясь основой для проектов Интернета вещей.

Сам терминал Wio имеет:
ЖК-экран с диагональю 2,4 дюйма.
Инерциальные измерительные модули (LIS3DHTR).
Микрофон.
Зуммер.
Слот для карты microSD.
Световой датчик.
Инфракрасный излучатель (ИК 940 нм).
5-позиционный переключатель.
3 кнопки.
Встроенная функция RTC.
Вдобавок ко всему, он также имеет два многофункциональных порта Grove для экосистемы Grove и 40 контактов GPIO, совместимых с Raspberry Pi, для дополнительных надстроек.
Подробную информацию можно найти по адресу: https://www.seeedstudio.com/Wio-Terminal-p-4509.html.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг второй: драйвер мотора
В устройстве используется драйвер двигателя, совместимый с контроллером Arduino 5 В / 3,3 В. Он может одновременно управлять четырьмя двигателями постоянного тока с 8 контактами. Драйвер поддерживает управление скоростью и направлением.
Экран драйвера включает в себя две микросхемы драйвера двигателя TB6612FNG с максимальным выходным постоянным током 1,2 А на каждом канале. Модуль включает в себя встроенную схему обнаружения низкого напряжения и схему защиты теплового отключения.
Передвижная метеостанция с управлением по BluetoothШаг третий: принципиальная схема
Драйверу двигателя необходимы два сигнала для управления одним двигателем постоянного тока: направление и скорость. Сигналы скорости двигателя должны быть подключены к контактам PWM терминала Wio следующим образом:
PWM0 (D0/A0).
PWM1 (D2/A2).
PWM3 (D6/A6).
PWM4 (D8/A8).
Датчик температуры и влажности DHT11 подключается к порту Grove I2C, а датчик давления BMP280 к контакту D4 / A4 терминала Wio.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг четвертый: шасси
Сначала мастер соединил 2 тройника из ПВХ Ø42 мм.
На 4 торцевых заглушках диаметром 42 мм просверлил по центру отверстия, для осей двигателей. Двигатели прикрутил винтами, на оси двигателей установил муфты.

Далее просверлил несколько отверстий в верхней части корпуса для крепления держателя батареи, плат управления и кабелей двигателя постоянного тока.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг пятый: установка колес
Колеса крепятся к валам мотора через шестигранные муфты. В связи с тем, что у него было всего два колеса, на одну из осей он установил шкивы.

Узлы колес были установлены в торцы каркаса. Провода от двигателей вывел в отверстие.
Между двумя тройниками из ПВХ установил стальную пластину.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг шестой: держатель батареи
Держатели батареи закреплены на полосе из акрила. Весь узел помещается внутрь ПВХ-трубы. С торца трубы устанавливаются заглушки. В одной из заглушек устанавливается выключатель.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг седьмой: сборка
Мастер припаял 2-х рядные 20-контактные штыревые разъемы к нижней части платы Protoshield. Разъем используется для подключения к розетке терминала Wio.

На верхней части платы припаял штыревые разъемы. Затем припаял провода от терминала Wio к плате драйвера двигателя.
Подключает Protoshield к терминалу Wio и плате драйвера.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothДля питания устройства он использовал 6 аккумуляторов x 18650, которые были разделены на 2 параллельные группы, в каждой группе по 3 последовательно соединенных аккумулятора. При полной зарядке выходное напряжение составляет около 12 В постоянного тока. Для подачи 5 В постоянного тока на Wio Terminal и драйвер мотора он использовал понижающий модуль питания LM2596.
Передвижная метеостанция с управлением по BluetoothДеталь с аккумуляторами устанавливается на основное шасси. Сверху устанавливается модуль LM2596.
Подключаются провода от двигателей. Устанавливаются датчики DHT11 и BMP280.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothДля установки терминала Wio и платы драйвера он использовал алюминиевый уголок и акриловый лист.
Передвижная метеостанция с управлением по BluetoothТеперь нужно установить аккумуляторы.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг восьмой: программное обеспечение
Чтобы обновить последнюю версию прошивки для Wireless Core Realtek RTL8720 на терминале Wio до версии 2.1.3, нужно перейти по этой ссылке.
Некоторые библиотеки для Bluetooth также были установлены в Arduino IDE.
Seeed_Arduino_rpcBLESeeed_Arduino_rpcUnified
Передвижная метеостанция с управлением по BluetoothКод проекта доступен на GitHub
Управление тележкой
Тележка управляется по Bluetooth через программное обеспечение Blynk. Пользователю необходимо получить собственный “Токен аутентификации” в Blynk App.
Для двигателей определяются следующие значения:
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текстtypedef struct
{
int SPD_PIN; // Speed Pin
int DIR_PIN; // Direction Pin
int SET_SPEED; // Speed to be set
} Motor;
Управление автомобилем осуществляется в приложении Blynk с помощью виртуальных контактов.
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текстBLYNK_WRITE(V1)
{
Forwardcmd_V1 = param.asInt(); // Get value as integer
if(Forwardcmd_V1)
{
RC_Car_Forward();
}
else
{
RC_Car_Stop();
}
}
Команды движения также выводится на экран терминала Wio.
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текстvoid RC_Car_Forward()
{
// Set car Direction
digitalWrite(MotorFrontLeft.DIR_PIN, 0);
digitalWrite(MotorBackLeft.DIR_PIN, 0);
digitalWrite(MotorFrontRight.DIR_PIN, 0);
digitalWrite(MotorBackRight.DIR_PIN, 0);

// Set car Speed
analogWrite(MotorFrontLeft.SPD_PIN, MotorFrontLeft.SET_SPEED);
analogWrite(MotorFrontRight.SPD_PIN, MotorFrontRight.SET_SPEED);
analogWrite(MotorBackLeft.SPD_PIN, MotorBackLeft.SET_SPEED);
analogWrite(MotorBackRight.SPD_PIN, MotorBackRight.SET_SPEED);

// Show "FORWARD" command on LCD screen
Car_Image.createSprite(WIDTH, HEIGHT);
Car_Image.fillSprite(TFT_BLACK);
Car_Image.setTextColor(TFT_MAROON);
Car_Image.setFreeFont(&FreeMonoBold24pt7b);
Car_Image.drawString("FORWARD", 70, 6);
Car_Image.pushSprite(0, (HEIGHT/2) + 1);
Car_Image.deleteSprite();
}
Информация о погоде
Информация о погоде обновляется и отображается на экране независимо от того, подключена ли тележка к Blynk или нет. Мастер использовал « BlynkTimer » для настройки интервалов считывания датчиков температуры и влажности, давления и освещенности.
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текст // Set-up 2 second intervals between BMP280 readings
timer.setInterval(2000L, myTimerBMP280);
// Set-up 3 second intervals between DHT11 readings
timer.setInterval(3000L, myTimerDHT11);
// Set-up 4 second intervals between Light sensor readings
timer.setInterval(4000L, myTimerLight);
Например, датчик давления BMP280 считывается каждые 2 секунды, затем его данные отправляются на экран Blynk, а также отображаются на ЖК-экране терминала Wio.
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текстvoid myTimerBMP280()
{
readPressure();

// Send to Blynk
Blynk.virtualWrite(V6, pressure/1000);

// Show actual pressure on LCD screen
Car_Image.createSprite(WIDTH/2, HEIGHT);
Car_Image.fillSprite(TFT_BLACK);
Car_Image.setTextColor(TFT_RED);
Car_Image.setFreeFont(&FreeMonoBold12pt7b);
Car_Image.drawString(pressureStr, 2, 12);
Car_Image.pushSprite(0, (8*HEIGHT/2) + 1);
Car_Image.deleteSprite();
}
Фактическое окружающее давление считывается и обрабатывается следующим эскизом:
Передвижная метеостанция с управлением по Bluetooth Показать / Скрыть текстvoid readPressure()
{
// Read the pressure from BMP280
pressure = bmp280.getPressure();
// Convert to String for showing on the LCD screen
pressureStr = "P:" + String(pressure/1000) + "kPa";
}Шаг девятый: экран терминала Blynk и Wio
Дисплей терминала Wio
На экране устройства, под заголовком « Четырехколесный радиоуправляемый автомобиль » показаны:
-Статус команды Вперед/ Назад/ Поворот направо/ Поворот налево/ Стоп / Экстренная остановка / Индикация скорости в процентах.
Под заголовком “Информация о погоде” отображаются следующие данные:
Температура (T).
Влажность (Н).
Давление (Р).
Свет (L).
Экран Blynk на смартфоне
Blynk отображает информацию о погоде и команды управления автомобилем таким образом, чтобы они соответствовали экрану терминала Wio.
Мастер использовал виртуальный pin-код в Blynk для кнопки электронной остановки. Но лучше запрограммировать одну из встроенных физических кнопок на терминале Wio в качестве кнопки остановки на случай, если что-то пойдет не так.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothШаг десятый: тестирование
После сборки и кодирование нужно протестировать устройство и откалибровать работу двигателей. Скорость вращения всех двигателей должна быть одинакова. Если это не так, то необходимо программно ограничить или увеличить напряжения подаваемое на каждый из двигателей.
Wio Terminal имеет встроенный датчик акселерометра, благодаря чему можно отслеживать находится устройство в движении или нет.
Передвижная метеостанция с управлением по BluetoothВсе готово, это устройство можно использовать как в стационарном, так и в мобильном режиме. Его можно поставить на стол как обычную метеостанцию.
Передвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothПередвижная метеостанция с управлением по BluetoothСборку и демонстрацию работы станции можно посмотреть на видео.

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.