Как сделать ии на ардуино

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

10 интересных проектов для Ардуино

Arduino – это универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее.

Из этой статьи вы узнаете, что можно сделать интересного на Ардуино. Какие проекты станут зрелищными, а какие полезными.

Что можно сделать с помощью Arduino

Робот пылесос

Уборка в квартире – рутинное занятие и малопривлекательное, тем более на это нужно время. Сэкономить его можно, если часть хлопот по дому возложить на робота. Этого робота собрал электронщик из г. Сочи – Дмитрий Иванов. Конструктивно он получился достаточно качественным и не уступает в эффективности заводским аналогам.

Для его сборки вам понадобятся:

1. Arduino Pro-mini, или любая другая подобная и подходящая по размерам.

2. USB-TTL переходник, если вы используете Pro mini. Если вы выбрали Arduino Nano, то он не нужен. Он уже установлен на плате.

3. Драйвер L298N нужен для управления и реверсирования двигателей постоянного тока.

4. Маленькие двигателя с редуктором и колесами.

6. Двигатель для турбины (побольше).

7. Сама турбина, а вернее крыльчатка от пылесоса.

8. Двигателя для щеток (небольшие).

9. 2 датчика столкновения.

10. 4 аккумулятора 18650.

11. 2 преобразователя постоянного напряжения (повышающий и понижающий).

13. Контроллер для работы (заряда и разряда) аккумуляторов.

Система управления выглядит следующим образом:

А вот система питания:

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

Управление RGB-лентой со смартфона и Arduino

RGB-ленты способны выдавать световой поток любого цвета, в них обычно используются светодиоды в корпусе которых размещено три кристалла светящиеся разным цветом. Для их управления продаются специальные RGB-контроллеры, их суть заключается в регулировании тока подаваемого на каждый из цветов светодиодной ленты, следовательно – регулируется интенсивность свечения каждого из трёх цветов (отдельно).

Вы можете сделать своими руками RGB-контроллер на Ардуино, даже более того, в этом проекте реализовано управление через Bluetooth.

На фото приведен пример использования одного RGB-светодиода. Для управления лентой потребуется дополнительный блок питания на 12В, тогда ШИМ-выходы Arduino будут управлять затворами полевых транзисторов включенных в цепь. Ток заряда затвора ограничен резисторами на 10 кОм, они устанавливаются между пином Ардуино и затвором, последовательно ему.

Автор использовал для связи со смартфоном Bluetooth, для этого был куплен модуль HC-05.

Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

Пульт управления на базе Arduino и смартфона

С помощью микроконтроллера можно сделать универсальный пульт дистанционного управления управляемый с мобильного телефона.

Пульт управления на базе Arduino и смартфона

Для этого понадобится:

Arduino любой модели;

Bluetooth-модуль HC-05 или HC-06.

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

Система распознавания лиц и слежения за ними

Веб-камера устанавливается на поворотный механизм. Её подключают к компьютеру, с установленным программным обеспечением. Оно базируется на библиотеке компьютерного зрения – OpenCV (Open Source Computer Vision Library), после обнаружения программой лица, координаты его перемещения передаются на плату Arduino через USB-кабель.

Ардуино даёт команду приводу поворотного механизма и позиционирует объектив камеры. Для движения камеры используется пара сервоприводов.

На видео изображена работа этого устройства.

Следите за своими животными!

Идея заключается в следующем – узнать, где гуляет ваше животное, это может вызвать интерес для научных исследований и просто для развлечения. Для этого нужно использовать GPS-маячок. Но чтобы хранить данные о местоположении на каком-нибудь накопителе.

При этом габариты устройства здесь играют решающую роль, поскольку животное не должно ощущать от него дискомфорт. Для записи данных можно использовать Arduino шилд для работы с картами памяти формата Micro-SD.

Ниже приведена схема оригинального варианта устройства.

В оригинальной версии проекта использовалась плата TinyDuino и шилды к ней. Если вы не можете найти такую, вполне можно использовать маленькие экземпляры Arduino: mini, micro, nano.

Для питания использовался элемент Li-ion, малой ёмкости. Маленького аккумулятора хватает примерно на 6 часов работы. У автора в итоге все поместилось в обрезанную баночку из-под тик-така. Стоит отметить, что антенна GPS должна смотреть вверх, чтобы получать достоверные показания датчика.


Взломщик кодовых замков

Для взлома кодовых замков с помощью Ардуино понадобятся серво- и шаговый двигатель. Этот проект разработал хакер Samy Kamkar. Это достаточно сложный проект. Работа этого устройства изображена на видео, где автор рассказывает все подробности.

Конечно, для практического применения такое устройство вряд ли подойдет, но это отличный демонстрационный.

Ардуино в музыке

Это скорее не проект, а небольшая демонстрация какое применение нашла эта платформа у музыкантов.

Анализатор спектра звука, с видео выходом.

Транзистор NPN-типа, например 2n3904 – 1 шт.

Резистор 1 кОм (R2, R4, R5) – 3 шт.

330 Ом (R6) – 1 шт.

10 кОм (R1) – 1 шт.

100 кОм (R3) – 1 шт.

Электролитический конденсатор 3.3 мкФ – 1 шт.

Для работы проекта потребуется подключение библиотеки для быстрого разложения в ряд Фурье.

Пошаговое обучение программированию и созданию устройств на микроконтроллерах AVR: Программирование микроконтроллеров для начинающих

3 проекта роботов

Робототехника – одно из интереснейших направлений для гиков и просто любителей сделать что-нибудь необычное своими руками, я решил сделать подборку из нескольких интересных проектов.

BEAM-робот на Ардуино

Для сборки четырёхногого шагающего робота вам понадобятся:

Для движения ног нужны сервомоторчики, например, Tower Hobbies TS-53;

Кусок медной проволоки средней толщины (чтобы выдерживала вес конструкции и не гнулась, но и не слишком толстой, т.к. не имеет смысла);

Микроконтроллер - AVR ATMega 8 или плата Ардуино любой модели;

Для шасси в проекте указано, что использовалась Рамка Sintra. Это что-то вроде пластика, он сгибается в любую форму при нагревании.

В результате вы получите:

Примечательно то, что этот робот не ездит, а шагает, может перешагивать и заходить на возвышения до 1 см.

Робот fijibot с функцией самоподзарядки

Этот проект мне, почему-то, напомнил робота из мультфильма Wall-e. Его особенностью является использование солнечной батареи для зарядки аккумуляторов. Он перемещается подобно автомобилю, на 4-х колесах.

Его составляющие детали:

Пластиковая бутылка подходящего размера;

Солнечная панель с выходным напряжением в 6В;

В качестве донора колес, двигателей и других деталей – машинка на радиоуправлении;

Два сервопривода непрерывного вращения;

Два обычных сервопривода (180 градусов);

Светодиоды, фоторезисторы, постоянные резисторы на 10 кОм – всего по 4 штуки;

Вот основа – плата Ардуино с прото-шилдом.

Вот так выглядят запчасти от радиоуправляемой машины – колеса.

Конструкция почти в сборе, датчики установлены.

Суть работы робота заключается в том, что он едет на свет. Обилие фоторезисторов нужно ему для навигации.

Художник из деталей от CD-приводов

Это скорее ЧПУ станок, чем робот, но проект весьма занимательный. Он представляет собой 2-х осевой станок для рисования. Вот перечень основных компонентов, из которых он состоит:

(DVD)CD-приводы – 2 шт;

2 драйвера для шаговых двигателей A498;

Источник питания 12В;

Шариковая ручка, и другие элементы конструкции.

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

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

Полный процесс сборки и работы показан на этом видео.

Смотрите также 16 лучших Arduino проектов от AlexGyver:

Заключение

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

На этой странице буду публиковать некоторые полезные алгоритмы и примеры для ваших проектов, которые накопились у меня за годы разработки собственных. Статья обновляется по мере моей ленивости, так что иногда заходите, проверяйте =)

НЕСКОЛЬКО ТРЮКОВ

  • Автоформатирование – Arduino IDE умеет автоматически приводить ваш код в порядок (имеются в виду отступы, переносы строк и пробелы). Для автоматического форматирования используйте комбинацию CTRL+T на клавиатуре, либо Инструменты/АвтоФорматирование в окне IDE. Используйте чаще, чтобы сделать код красивым (каноничным, классическим) и более читаемым для других!
  • Скрытие частей кода – сворачивайте длинные функции и прочие куски кода для экономии места и времени на скроллинг. Включается здесь: Файл/Настройки/Включить сворачивание кода

Не используйте мышку! Чем выше становится ваш навык в программировании, тем меньше вы будете использовать мышку (да-да, как в фильмах про хакеров). Используйте обе руки для написания кода и перемещения по нему, вот вам несколько полезных комбинаций и хаков, которыми я пользуюсь ПОСТОЯННО:

  • Ctrl+← , Ctrl+→ – переместить курсор влево/вправо НА ОДНО СЛОВО
  • Home , End – переместить курсор в начало/конец строки
  • Shift+← , Shift+→ – выделить символ слева/справа от курсора
  • Shift+Ctrl+← , Shift+Ctrl+→ – выделить слово слева/справа от курсора
  • Shift+Home , Shift+End – выделить все символы от текущего положения курсора до начала/конца строки
  • Ctrl+Z – отменить последнее действие
  • Ctrl+Y – повторить отменённое действие
  • Ctrl+C – копировать выделенный текст
  • Ctrl+X – вырезать выделенный текст
  • Ctrl+V – вставить текст из буфера обмена
  • Ctrl+U – загрузить прошивку в Arduino
  • Ctrl+R – скомпилировать (проверить)
  • Ctrl+Shift+M – открыть монитор порта

Также для отодвигания комментариев в правую часть кода используйте TAB, а не ПРОБЕЛ. Нажатие TAB перемещает курсор по некоторой таблице, из-за чего ваши комментарии будут установлены красиво на одном расстоянии за вдвое меньшее количество нажатий!

Питание от пинов – во время разработки прототипов без брэдборда всегда не хватает пинов для питания датчиков и модулей. Так вот, слабые (с потреблением тока менее 40 мА) 5 Вольтовые датчики можно питать от любых пинов! Достаточно сформировать пин как выход, и подать на него нужный сигнал (HIGH – 5 Вольт, LOW – GND).

Пример: подключаем трёхпиновый датчик звука, не используя пины 5V и GND

Питание от штекера для программатора. Вы наверняка задавались вопросом, а зачем на Arduino NANO на краю платы расположены 6 пинов? Это порт для подключения ISP программатора. Что он делает в списке лайфхаков? Вот вам фото распиновки, используйте!

blank

  • Использовать библиотеку энергосбережения GyverPower, есть подробный урок
  • В паре с библиотекой сделать несколько модификаций: отключить светодиод питания и отрезать левую ногу регулятора напряжения. ВНИМАНИЕ! Резать ногу регулятору можно только в том случае, если плата питается от источника 3-5 Вольт в пины 5V и GND.

blank

Arduino Pro Mini бывает двух типов: с кварцем на 16 МГц и 8 МГц. Китайцы обычно не подписывают плату, и есть риск перепутать разные платы, если у вас есть и те и те. На средних по цене Pro Mini стоит качественный полноразмерный кварц в овальном металлическом корпусе, на нём крупно написана цифра, обозначающая частоту в Мгц:


На недорогих платах стоит крошечный дешёвый кварц в SMD корпусе, вот он:


Берём лупу и смотрим: 16 МГц кварц маркируется примерно как “A1” or “A’N”, 8 МГц кварц маркируется “80’0” или что-то в этом стиле. Ну вот, теперь вы не перепутаете свои Pro Mini!

РАБОТА С ПЕРИФЕРИЕЙ (ДЛЯ ATMEGA328)

Или облегчённые и ускоренные куски ядра Arduino и не только

СТРУКТУРА ПРОГРАММЫ

Допустим есть у нас задача: переключать режимы по одному и “по кругу”, в простейшем варианте это реализуется вот так: Есть ещё парочка интересных вариантов. Результат не отличается, но сам механизм знать будет полезно:

Очень часто в примерах используется delay(), и это несомненно очень плохо: построить на основе такого примера серьёзный проект практически невозможно. Одним из частых и критичных моментов являются циклы с delay(), это может касаться каких то эффектов со светодиодами, адресными светодиодными лентами, и прочими действиями со счётчиком: Как переписать такой цикл, чтобы он не блокировал выполнение кода? Очень просто: нужно избавиться и от цикла, и от delay. Введём таймер на millis(), и будем работать по нему: Вот собственно и всё! Вместо переменной цикла i у нас теперь свой глобальный счётчик counter, который бегает от 0 до 30 (в этом примере) с периодом 100 мс.

ПОЛЕЗНЫЕ МАКРОСЫ

Часто приходится писать один и тот же цикл for, можно заменить его макросом: Макрос создаст цикл for от from до to и счётчиком i внутри. Пример использования: Нужны вложенные циклы? Можно сделать макрос с выбором имени переменной И пример с ним:

Данный макрос заменяет “таймер на миллис” одной строчкой, без использования библиотек и создания классов! Пользоваться очень просто: Единственное ограничение: нельзя вызывать макрос больше одного раза в одном и том же блоке кода, это приведёт к ошибке =) То есть вот так нельзя: Если очень нужна такая конструкция – помещаем каждый вызов в свой блок кода: Либо используем блоки кода по условиям или как функцию: У – удобно!

Чтобы полностью остановить программу в каком-то месте, обычно используют замкнутые циклы. Это нужно при отработке каких-то критических ошибок и в других ситуациях. Обычно это делается так: Можно обернуть в более понятный макрос: Теперь в коде на строке FOREVER; код “зависнет”:

ВРЕМЯ, ТАЙМЕРЫ

Таймер, который после срабатывания переключает период на другой, например включаем реле на 10 секунд каждые 60 минут

Данный макрос заменяет “таймер на миллис” одной строчкой, без использования библиотек и создания классов! Пользоваться очень просто: добавьте указанный выше макрос в самое начало кода и вызывайте его как функцию Единственное ограничение: нельзя вызывать макрос больше одного раза в одном и том же блоке кода, это приведёт к ошибке =) То есть вот так нельзя: Если очень нужна такая конструкция – помещаем каждый вызов в свой блок кода: Либо используем блоки кода по условиям или как отдельную функцию, которая “оборачивает” макрос:

В первом пункте мы разобрали “классический” таймер на millis(), давайте посмотрим ещё один, иногда встречающийся в скетчах: Чем он хорош и чем плох? Хорош тем, что не нужна отдельная переменная типа uint32_t, а также данный таймер не сбивается и без проблем проходит через переполнение millis(). Минусы весьма существенные: операция % выполняется очень долго, также внутри таймера нужен delay(1), иначе таймер может сработать несколько раз в течение одной миллисекунды (пока миллис кратен периоду). Не используйте этот таймер, но знайте, что такой есть.

Недавно я задался вопросом: а можно ли сделать таймер на миллис, который будет корректно обходить переполнение millis() и не сбивать период? Можно, сделал: Данный таймер имеет механику классического таймера с хранением переменной таймера, а его период всегда кратен PERIOD и не сбивается. Эту конструкцию можно упростить до В этом случае алгоритм получается короче, кратность периодов сохраняется, но теряется защита от пропуска вызова и переполнения millis(). Мои библиотеки GyverTimer и timerMinim были обновлены до этого алгоритма, можете работать с ними.

РАБОТА С SERIAL

Парсинг переехал в отдельный урок

ФИЛЬТРЫ ЗНАЧЕНИЙ

Классический вариант бегущего среднего выглядит так: Но если раскрыть скобки и “причесать” выражение, получится очень красивая короткая запись. Время выполнения одной операции фильтрации составляет 35 мкс.

У фильтра “бегущее среднее” не один настраиваемый параметр, как может показаться на первый взгляд. Помимо коэффициента фильтрации k очень большую роль играет время итерации, то есть период вызова фильтра. В реальном коде фильтр вызывается с определённым промежутком времени, чтобы фильтровать шумы. Я обычно настраиваю фильтр вручную по графику, который строится средствами Arduino IDE или программой Serial Port Plotter. Задаюсь периодом итерации и подгоняю k, пока не станет “хорошо”. Но есть и аналитический способ расчёта коэффициента фильтрации (или времени итерации). При выборе значения коэффициента k необходимо отталкиваться от того, какие изменения сигнала нам интересны, а какие мы будем считать за шум. Сделать это можно с помощью следующего выражения: t = dt * (1 / k – 1) где t — период времени, который отделяет слишком быстрые изменения от требуемых; dt — время итерации (период вызова фильтра). Например, если в нашем случае с потенциометром, k = 0,1, а время между двумя измерениями dt = 20 мс, то время t = (1-0.1) * 0,02 / 0.1 = 0,18 сек. То есть все изменения сигнала, которые длятся меньше 0,18 секунд будут подавляться. Во втором случае (при k = 0,3), мы получим t = 0,047 сек. Вникнув в эту связь, можно настроить фильтр, всего лишь глянув на график сырого значения!

Умный дом Arduino

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

Что такое Arduino

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

  • сбор информации с помощью датчиков;
  • анализ данных и принятие решения, посредством программируемого микроконтроллера;
  • реализация принятых решений с помощью подаваемых команд, на различные подключенные в систему устройства.

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

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

Полезная информация! Arduino – итальянская компания, производящая и разрабатывающая компоненты ПО, для реальных и не сложных систем Smart Home, которые ориентированы на любого человека, заинтересовавшегося в этом вопросе. Архитектура полностью открыта, поэтому сторонние разработчики (преимущественно из Китая) уже успели полностью скопировать, и выпускают собственные альтернативные элементы системы, и ПО для них.

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


Набор умного дома Arduino

Проектирование умного дома Arduino


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

  1. Крыльцо. При приближении владельца к дому ночью, включится освещение. Также следует учесть обратное – выходя из дома ночью, тоже надо включать освещение.
  2. Прихожая. При детектировании движения и в сумерки включать свет. В темное время необходимо, чтобы загорался приглушенный свет лампочки.
  3. Подвал на улице. При приближении хозяина, в темное время суток, должна загораться лампа возле дверцы подвала. Открывая дверь, загорается свет внутри, и выключается в том случае, когда человек покидает здание. При выходе, включается освещение на крыльце, а по мере отхождения от подвального помещения, выключается возле дверцы. В подвале установлен контроль влажности и при достижении критической температуры, включаются несколько вентиляторов для улучшения циркуляции воздуха.
  4. Душевая комната. В ней установлен бойлер. Если человек присутствует в доме, бойлер включает нагрев воды. Автоматика выключается, когда максимальная температура нагрева достигнута. При входе в туалет, включается вытяжка и свет.
  5. Кухня. Включение основного освещения ручное. При длительном отсутствии хозяина дома на кухне, свет выключается автоматически. Во время приготовления еды автоматически включается вытяжка.
  6. Столовая. Управление светом происходит по аналогии с кухней. Присутствуя на кухне, есть возможность дать голосовую команду ассистенту умной колонки, чтобы тот запустил музыку.
  7. Спальная комната. Включение освещение происходит вручную. Но есть автоматическое выключение, если в комнате долгое время отсутствует человек. Дополнительно, нужно выключать освещение по хлопку.

По всему дому расставлены конвекторы. Необходим автоматический контроль поддерживаемой температуры в доме в двух режимах: когда человек есть в доме и вовремя его отсутствия. В первом варианте, температура должна опускаться не ниже 20 градусов и подниматься не выше 22. Во втором, температура дома должна опускаться не ниже 12 градусов.

Проект готов, осталось заняться его реализацией.

Плюсы и минусы системы


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

  1. Среда разработки Arduino IDE – это построенная на Java ппрограма, в которую входит: редактор кода, компилятор, передача прошивки в плату. По сравнению с современными решениями на 2019 год – это худшая среда разработки (в том виде, в котором она подается). Даже когда вы перейдете в другую среду разработки, IDE вам придется оставить для прошивки.
  2. Малое количество флэш-памяти для создания программ.
  3. Загрузчик нужно прошивать для каждого шилда микроконтроллера, чтобы закончить проект. Его размер – 2 Кб.
  4. Пустой проект занимает 466 байт на Arduino UNO и 666 байт в постоянной памяти платы Mega.
  5. Низкая частота процессора.

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

  • Arduino UNO – средних размеров плата с собственным процессором и памятью. Основа — микроконтроллер ATmega328. В наличии 14 цифровых входов/выходов (6 из них можно использовать как ШИМ выводы), 6 аналоговых входов, кварцевый резонатор 16 МГц, USB-порт (на некоторых платах USB-B), разъем для внутрисхемного программирования, кнопка RESET. Флэш-память – 32 Кб, оперативная память (SRAM) – 2 Кб, энергонезависимая память (EEPROM) – 1 Кб.
  • Arduino MEGA – больших размеров плата с микроконтроллером ATMega 2560. Тактовая частота 16 МГц (как и в UNO), цифровых пинов 54 вместо 14, а аналоговых 16, вместо 6. Флэш-память – 256 Кб, SRAM – 8 Кб, EEPROM – 4.

Arduino UNO – самая распространённая плата, так как с ней проще работать в плане монтажных работ. Плата NANO меньше в размерах и компактнее – это позволяет разместить ее в любом уголке умного дома. MEGA используется для сложных задач.

  1. Шаговый двигатель.
  2. Манипулятор управления.
  3. Электросхематическое реле SRD-05VDC-SL-C 5 В.
  4. Беспаечная плата для макета MB-102.
  5. Модуль с картой доступа и и двумя метками.
  6. Звуковой датчик LM393.
  7. Датчик с замером уровня жидкости.
  8. Два простейших устройства отображения цифровой информации.
  9. LCD-дисплей для вывода множества символов.
  10. LED-матрица ТС15-11GWA.
  11. Трехцветный RGB-модуль.
  12. Температурный датчик и измеритель влажности DHT11.
  13. Модуль риал тайм DS1302.
  14. Сервопривод SG-90.
  15. ИК-Пульт ДУ.
  16. Матрица клавиатуры на 16 кнопок.
  17. Микросхема 74HC595N сдвиговый регистр для получения дополнительных выходов.
  18. Основные небольшие компоненты электроники для составления схемы.


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

Сенсоры и датчики

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


Плата дополняется совместимыми датчиками движения или иными PIR-сенсорами, которые определяют присутствие или отсутствие человека в зоне действия, и привязывается через реле к освещению.


Датчик Arduino

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


Газовый датчик Arduino

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


Для более крупного проекта лучше применять шину реле, например, восьмиканальный модуль реле 5V.


Контроллер





Программная настройка

Или воспользоваться готовым скетч решением Ardublock – графический язык программирования, встраиваемый в IDE. По сути, вам нужно только скачать и установить ПО, а затем использовать блоки для создания схемы.

  • Wi-Fi-адаптер, настроенный на прием и передачу сигнала через маршрутизатор;
  • или подключенный через Ethernet кабель Wi-Fi роутер.

Также, есть вариант дистанционного управления по блютуз. Соответственно, к плате должен быть подключен Bluetooth модуль.

Есть несколько вариантов управления умным домом Arduino: с помощью приложения для смартфона или через веб. Рассмотрим каждое подробнее.

Приложения управления

Так как данная система-конструктор – не закрытая экосистема, то и приложений, реализованных для нее очень много. Они отличаются друг от друга не только интерфейсом, но и выполнением различных задач.

Blynk


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

Virtuino


Крутое бесплатное приложение на Android, позволяющее совмещать проекты в одно целое и управлять с помощью Wi-Fi или Bluetooth сразу несколькими платами.

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

Bluino Loader – Arduino IDE


Arduino Bluetooth Control


Приложение контролирует контакты Arduino и управляет основными функциями по Блютузу. Но, программа не направлена на удаленное управление, только мониторинг.

RemoteXY: Arduino Control


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

Bluetooth Controller 8 Lamp


Созданное с помощью Bluetooth-модулей HC-05, HC-06 и HC-07 приложение, обеспечивает восьмиканальный контроль. Таким способом достигается контроль и регулирование работы Ардуино, в соответствии с каждым из 8 светодиодов.

BT Voice Control for Arduino

Приложение специально заточено под дистанционное управление данными с ультразвукового датчика, подключенного по блютуз через Arduino. Реализуется подключения через модуль HC-05.

Подключившись, ультразвуковой датчик сможет передавать информацию о расстоянии до объекта, которая отобразится в интерфейсе приложения на телефоне.

IoT Wi-Fi контроллер

Приложение с интерфейсом, информирующем о конфигурации каждого входа/выхода в плате Arduino. В утилите можно переключать в реальном времени GPIO и показывать значение АЦП.

Веб-клиент

Управлять удаленно платой умного дома можно, разместив получение и обработку данных умного дома на веб-сервере. Естественно, сервер для умного дома Ардуино нужно создавать самостоятельно.

Для этих целей понадобится Arduino Ethernet Shield – сетевое расширение для пинов Ардуино Уно, позволяющее добавить разъем RJ-45 для подключения к сети.


При удаленном подключении, необходимо обеспечить внешнее питание платы не от USB.

Затем, подключите по USB плату к компьютеру, а по Ethernet плату к роутеру, которой раздает интернет компьютеру. При правильном установлении соединения, вы увидите зеленый свечение на порту.


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

Уведомления по SMS

  1. Работать с голосовыми вызовами.
  2. Получать и отправлять СМС.
  3. Подключаться к Интернету через GPRS.

Работает схема через специальную плату расширения GSM, содержащую специальный модем.


О создании универсальной сигнализации на Arduino, с отправкой СМС уведомления на смартфон можно узнать из соответствующей видеоинструкции.

Обучение азов Arduino


После освоения азов, можно посетить ресурс Habrahabr, на котором собраны 100 уроков по программированию на Arduino.


Самый популярный учебник по Arduino

В книге приведены основные сведения об аппаратном и программном обеспечении Ардуино. Рассказаны принципы программирования в среде Arduino IDE. Автор книги учит анализу электрических схем и чтению технических заданий. Информация из книги поможет в дальнейшем определится с выбором подходящих деталей для создания умного дома.

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

Видео по теме

Отличным решением для заинтересовавшихся в теме, станет видео для начинающих. В нем описаны основные элементы платы, зачем они используются, а также рассказаны основы программирования в среде Arduino IDE.

Не лишним будет ознакомится на примере, как реализовано создание умного контроллера для теплицы.

Здесь вы узнаете, какие проекты умного дома на базе Ардуино уже созданы, и используются разработчиками в свое удовольствие.

Arduino - аппаратная платформа для разработки устройств, с платой ввода/вывода и простой средой разработки на Processing/Wiring. Базируется на МК Atmel AVR (ATmega), большинство плат программируются через USB. Платы Arduino позволяют своими руками создавать различные устройства, являются хорошим инструментом для начинающих и обучения МК. Большинство устройств можно собрать даже не прибегая к помощи паяльника!
В данном разделе вы найдете различные интересные схемы и проекты для платформы Arduino, их клонов Freeduino, Seeeduino, а также плат Raspberry Pi, Python и др. Не забудьте посетить форум по Arduino

Читайте также: