Автосвет при приходе домой: умное освещение на Arduino Yun и iPhone
Компоненты
- Arduino Yun — 1 шт.
- Светодиод (для демонстрации) — 1 шт.
- Резистор 220 Ом — 1 шт.
- Макетная плата, перемычки
- iPhone (или Android) с приложением Blynk
Сервисы
- Arduino Web Editor
- Blynk (IoT платформа, нужна регистрация)
Идея
Свет включается автоматически, когда вы приближаетесь к дому. Используется GPS телефона: Blynk отслеживает геолокацию и передаёт её на Yun. Yun сравнивает координаты с заданной «точкой дома» (квадрат ~60 м радиусом). Если телефон внутри — зажигает LED (в реальности — реле на свет).
Функционал
- Blynk требует мобильный интернет на телефоне.
- Yun постоянно проверяет:
if (isInParameter) TurnLEDOn(); else TurnLEDOff(); - Координаты дома задаются в коде вручную (получаются через Google Maps).
Сборка
- Схема: LED + 220 Ом на пине (например, 13) → GND.
- Получите координаты дома: в Google Maps долгим тапом → «Что здесь?» → скопируйте широту/долготу.
- Настройка Blynk:
- Создайте аккаунт, новый проект, выберите Arduino Yun, получите Auth Token.
- Добавьте виджет GPS Streamer (Virtual Pin V0).
- Настройте виджет: отправка координат на сервер Blynk.
Код (ключевые части)
// Переменные для координат дома
float myLocationLat = ВАША_ШИРОТА;
float myLocationLng = ВАША_ДОЛГОТА;
float maxLat, minLat, maxLng, minLng; // границы квадрата ~60м
// Виртуальный пин V0 — GPS от Blynk
BLYNK_WRITE(V0) {
latitude = param[0].asFloat();
longitude = param[1].asFloat();
}
// Проверка попадания в зону
if (latitude <= maxLat && latitude >= minLat &&
longitude <= maxLng && longitude >= minLng) {
geolocation = 1;
} else {
geolocation = 0;
}
// Управление LED
if (geolocation == 1) digitalWrite(pinLED, HIGH);
else digitalWrite(pinLED, LOW);
В setup() вычисляются границы квадрата от центральной точки. В скетче нужно вставить свой auth[] токен и координаты дома.
Библиотеки
- Bridge (встроена для Yun)
- Blynk (установить через Library Manager)
Запуск
- Загрузите скетч в Yun (через USB или WiFi).
- Запустите проект в приложении Blynk на телефоне.
- Проверьте: приблизьтесь к дому — LED загорится.
Для подключения реального света: добавьте реле на тот же пин, коммутируйте фазу лампы. Сначала протестируйте на LED!
Производственный процесс
- Управление яркостью LED с ШИМ через кнопку на Arduino Mega
- Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Мониторинг температуры дома из любой точки через Arduino IoT Cloud
- Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
- DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
- NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10
- Своё рулевое управление (джойстик) для игр на Arduino
- FM-радиоприемник на Arduino и модуле TEA5767