10 интересных вещей, которые можно сделать на arduino

Отличие от других плат

Сегодня на рынке можно встретить множество вариантов плат ардуино. Самыми популярными конкурентами Уно являются платы Nano и Mega. Первая пойдет для проектов, в которых важен размер.  Вторая – для проектов, где у схема довольно сложна и требуется множество выходов.

Отличия Arduino Uno от Arduino Nano

Современные платы Arduino Uno и Arduino Nano версии R3 имеют, как правило, на борту общий микроконтроллер: ATmega328. Ключевым отличием является размер платы и тип контактных площадок. Габариты Arduino Uno: 6,8 см x 5,3 см. Габариты Arduino Nano: 4,2 см x 1,85 см. В Arduino UNO используются коннекторы типа «мама», в Nano – «гребень» из ножек, причем у некоторых моделей контактные площадки вообще не припаяны.  Естественно, больший размер UNO по сравнению с Nano в некоторых случаях является преимуществом, а в некоторых – недостатком. С платой большого размера гораздо удобнее производить монтаж, но она неудобна в реальных проектах, т.к. сильно увеличивает габариты конечного устройства.

На платах Arduino Uno традиционно используется разъем TYPE-B (широко применяется также для подключения принтеров и МФУ). В некоторых случаях можно встретить вариант с разъемом Micro USB. В платах Arduino Nano стандартом является Mini или Micro USB.

Естественно, различия есть и в разъеме питания. В плате Uno есть встроенный разъем DC, в Nano ему просто не нашлось места.

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

Отличия от Arduino Mega

Плата Mega в полном соответствии со своим названием является на сегодняшний день самым большим по размеру и количеству пинов контроллеров Arduino. По сравнению с ней в Uno гораздо меньше пинов и памяти. Вот список основных отличий:

  • Плата Mega использует иной микроконтроллер: ATMega 2560. Но тактовая частота его равна 16МГц, так же как и в Уно.
  • В плате Mega большее количество цифровых пинов – 54 вместо 14 у платы Uno. И аналоговых – 16 / 6.
  • У платы Mega больше контактов, поддерживающих аппаратные прерывания: 6 против 2. Больше Serial портов – 4 против 1.
  • По объему памяти Uno тоже существенно уступает Megа. Flash -память 32/256, SRAM –  2/8, EEPROM – 4/1.

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

Монитор последовательной связи (Serial Monitor)

В Arduino Web Editor монитор последовательной связи Serial Monitor доступен в боковой панели.

Монитор последовательной связи считывает данные с платы, которая в данный момент выбрана в списке плат. Если вы хотите сменить плату (например, у вас к компьютеру подсоединено несколько плат), то просто выберите необходимую плату в списке плат. При смене платы автоматически обновится и используемый последовательный порт.

Если хотите протестировать работу монитора последовательной связи, можете открыть пример Examples > 03.Analog > AnalogInOutSerial. Загрузите код этого примера в плату и после этого вы увидите результат его работы.

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

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

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

Если вы хотите освободить этот порт для работы других приложений просто нажмите кнопку Disconnect (разъединиться) на панели.

Программирование для платы Uno

Для написания программ (скетчей) для контроллер Ардуино вам нужно установить среду программирования. Самым простым вариантом будет установка бесплатной Arduino IDE, скачать ее можно с официального сайта.

После установки IDE вам нужно убедиться, что выбрана нужная плата. Для этого у Arduino IDE в меню “Инструменты” и подпункте “Плата” следует выбрать нашу плату (Arduino/Genuino Uno). После выбора платы автоматически изменятся параметры сборки проекта и итоговый скетч будет скомпилирован в формат, который поддерживает плата. Подключив контроллер к компьютеру через USB, вы сможете в одно касание заливать на него вашу программу,используя команду “Загрузить”.

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

Написанная и скомпилированная программа загружается через USB-соединение (UART- Serial). Со стороны контролера за этот процесс отвечает bootloader.

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

Начало работы

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

Этапы

При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:

  • Инсталляция программного кода;
  • Конфигурация приложения под применяемое устройство;
  • Переадресация портов (для роутера);
  • Проведение тестов;
  • Внесение правок и так далее.

В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).

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

Последовательность действий при подключении к компьютеру

Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:

  • Подготовьте необходимое оборудование — USB-кабель и Arduino.
  • Скачайте программу на странице arduino.cc/en/Main/Software.
  • Подсоедините плату с помощью USB-кабеля. Проследите, чтобы загорелся светодиод PWR.
  • Поставьте необходимый набор драйверов для работы с Ардуино. На этом этапе стоит запустить установку драйвера и дождаться завершения процесса. После жмите на кнопку «Пуск» и перейдите в панель управления. Там откройте вкладку «Система и безопасность» и выберите раздел «Система». После открытия окна выберите «Диспетчер устройств», жмите на название Ардуино и с помощью правой кнопки мышки задайте команду обновления драйвера. Найдите строчку «Browse my computer for Driver software!», кликните по ней и выберите соответствующий драйвер для вашего типа платы — ArduinoUNO.inf (находится в папке с драйверами). Это может быть UNO, Mega 2560 или другая.
  • Запустите среду разработки Ардуино, для чего дважды кликните на значок с приложением.
  • Откройте готовый пример (File — Examples — 1.Basics — Blink).
  • Выберите плату. Для этого перейдите в секцию Tools, а дальше в Board Menu.
  • Установите последовательный порт (его можно найти путем отключения и подключения кабеля).
  • Скачайте скетч в Ардуино. Кликните на «Upload» и дождитесь мигания светодиодов TX и RX на плате. В завершение система показывает, что загрузка прошла успешно. Через несколько секунд после завершения работы должен загореться светодиод 13 L (он будет мигать оранжевым). Если это так, система готова к выполнению задач.

Работа с роутером

Для полноценной работы «Умного дома» важно правильно обращаться с роутером. Здесь требуется выполнить следующие действия — открыть конфигурацию, указать адрес Arduino IP, к примеру, 192.168.10.101 и открыть 80-й порт

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

Умный дом на базе Raspberry Pi 3 своими руками, пошаговая инструкция

Справочник радиолюбителя конструктора

Как проверить конденсатор мультиметром на работоспособность

СОДЕРЖАНИЕ ► Конденсаторы и способы их проверки тестером Как проверить ёмкость конденсатора тестером Как проверить конденсатор на исправность Проверка конденсатора

Язык программирования Ардуино C++

СОДЕРЖАНИЕ ► Arduino команды языка программирования Операторы в языке программирования Ардуино Управляющие операторы в языке Ардуино Синтаксис в языке программирования

Ошибки компиляции Arduino IDE

СОДЕРЖАНИЕ ► Ошибки компиляции для Arduino Uno, Nano, Mega Ошибка: programmer is not responding Ошибка: a function-definition is not allowed

Библиотеки для Ардуино Уно, Нано скачать

СОДЕРЖАНИЕ ► Скачать стандартные библиотеки Arduino на русском Скачать популярные библиотеки Arduino на русском Где правильно хранить библиотеки Arduino IDE

СОДЕРЖАНИЕ ► Учебники по Ардуино в формате pdf Книги по Ардуино для начинающих 25 крутых проектов с Ардуино С чего

Arduino IDE скачать на русском

СОДЕРЖАНИЕ ► Скачать Arduino IDE бесплатно Установка Arduino IDE в Windows Настройка Arduino IDE Linux Онлайн сервис Arduino Web IDE

Типы данных Ардуино

СОДЕРЖАНИЕ ► Таблица. Типы переменных Arduino Константы, директива define в скетче Преобразование переменных Arduino Типы данных (переменная) в Ардуино —

СОДЕРЖАНИЕ ► Описание пинов платы Ардуино Цифровые и ШИМ пины Ардуино Уно Цифровые и ШИМ пины Ардуино Нано Цифровые и

Как создать библиотеку в Arduino IDE

СОДЕРЖАНИЕ ► Создание новой библиотеки в Arduino IDE Как написать библиотеку для Arduino IDE Создание заголовочного файла .h Создание файла

Макетная плата как пользоваться

СОДЕРЖАНИЕ ► Для чего нужна макетная плата (breadboard) Конструкция и устройство макетной платы Как пользоваться макетной платой Ардуино Беспаечная макетная

Ардуино: установка библиотек в Arduino IDE

СОДЕРЖАНИЕ ► Что такое библиотеки в Arduino IDE Установка библиотеки в Arduino IDE Установка библиотеки через Arduino IDE Установка библиотеки

Библиотека Adafruit NeoPixel Ардуино

СОДЕРЖАНИЕ ► Библиотека Adafruit NeoPixel для Ардуино Ошибка ‘Adafruit_NeoPixel h no such file or directory’ Библиотека Adafruit NeoPixel описание команд

Библиотека FastLED Ардуино

СОДЕРЖАНИЕ ► FastLED описание библиотеки на русском Ошибка скетча ‘fastled h no such file or directory’ Описание команд библиотеки FastLED.h

Делитель напряжения на резисторах

СОДЕРЖАНИЕ ► Работа делителя напряжения на резисторах Онлайн расчет делителя напряжения на резисторах Делитель напряжения на резисторах — это схема,

Цветовая маркировка радиоэлементов

СОДЕРЖАНИЕ ► Таблица. Цветовая маркировка резисторов Таблица. Цветовая маркировка конденсаторов Раньше маркировка наносилась на корпус резисторов, и сопротивление радиоэлемента просто

Обозначение радиоэлементов с фото

СОДЕРЖАНИЕ ► Схемное обозначение радиоэлементов с названиями Обозначение радиоэлементов на электрических схемах Для понимания принципиальных электрических схем необходимо ознакомиться с

Основной закон электричества Ома

СОДЕРЖАНИЕ ► Основные понятия: электричество, ток, напряжение Главный закон электричества — Закон Ома Параллельное и последовательное соединение Электричество — совокупность

Загрузить Arduino IDE с официального сайта

Для загрузки программы с официального сайта Arduino.cc вам нужно найти в навигации сайта пункт Software – Downloads. Найдите на странице ссылки на последние версии программы (для Windows, Linux, Mac OS X). Щелкнув на ссылку вы попадете на страницу загрузки, на которой можете выбрать вариант загрузки:

  • С поддержкой проекта (укажите, какую сумму вы готовы пожертвовать)
  • Без поддержки. Просто нажмите на кнопку «Загрузить».

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

Версия 1.8.7

Windows Installer, 1.8.7
Windows – ZIP файл, 1.8.7
MAC OS X, 1.8.7
Linux, 32-разрядная система, 1.8.7
Linux, 64-разрядная система, 1.8.7

Платы дополнения (шилды)

Для расширения вспомогательного функционала используются дополнительные платы – шилды. Ниже приведен список самых интересных:

  • LCD Shield определяет метеорологические показатели в помещениях: влажность, скорость ветра, температуру.
  • Motor Shield обеспечивает управление скоростью и оборотами моторов. Есть модели с поддержкой нескольких приводов.
  • Data Logging Shield предназначена для записи и хранения информации до 32 Gb.
  • Relay Shield самая востребованная в системах Smart Homе, рассчитана на обслуживание приборов мощностью 1 КВт.
  • Ethernet Shield от Ардуино обеспечивает независимость Умного дома от ПК, настраивает интернет-связь.
  • Wi-fi Shield нужен для передачи шифрованных данных между Arduino и устройствами.
  • Energy Shield позволяет разнообразить источники питания для подключения проекта.
  • GPRS Shield используется для связи Умного дома с телефоном владельца.

Принцип работы

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

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

Составляющие платформы

Стандартный Умный дом включает следующие составляющие:

  1. Сенсорная часть, которая включает различные датчики, способные реагировать на температуру, влажность, движение или различные иные события.
  2. Исполнительная часть, то есть устройства, которыми пользователи или сама система может управлять, отправляя на них соответствующие команды по включению или выключению. К такой исполнительной части относятся различные реле, электромоторы, устройства управления воздухоочистителями и так далее.
  3. Микропроцессор — это «головной мозг,” который согласовывает и координирует работу всех компонентов.

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

Пример работы

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

blink.ino
void setup() {
  // Устанавливаем пин светодиода в режим выхода.
  // Используем определение LED_BUILTIN,
  // которое содержит в себе пин светодиода
  pinMode(LED_BUILTIN, OUTPUT);
}
 
void loop() {
  // Включаем светодиод
  digitalWrite(LED_BUILTIN, HIGH);
  // Ждём пол секунды
  delay(500);
  // Выключаем светодиод                       
  digitalWrite(LED_BUILTIN, LOW);
  // Ждём пол секунды   
  delay(1000);                       
}

После загрузки программы встроенный светодиод начнёт мигать раз в секунду.

Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.

Простые проекты Ардуино

Давайте начнем наш обзор с традиционно самых простых, но очень важных проектов, включающих в себя минимальное количество элементов: светодиоды, резисторы и, конечно же, плату ардуино. Все примеры рассчитаны на использование Arduino Uno, но с минимальными изменениями будут работать на любой плате: от Nano и Mega до Pro, Leonardo и даже LilyPad.

Проект с мигающим светодиодом – маячок

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

Нам понадобится:

  • Плата Ардуино Uno, Nano или Mega со встроенным светодиодом, подключенным к 13 пину.
  • И все.

Что должно получиться в итоге:

Светодиод мигает – включается и выключается через равные промежутки времени (по умолчанию – 1 сек). Скорость включения и выключения можно настраивать.

Схема проекта

Схема проекта довольно проста:  нам нужен только контроллер ардуино со встроенным светодиодом, подсоединенным к пину 13. Именно этим светодиодом мы и будем мигать. Подойдут любые популярные платы: Uno, Nano, Mega и другие.

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

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

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

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

Открываем программу Arduino IDE, убеждаемся, что выбран нужный порт.


Проверка порта Ардуино – выбираем порт с максимальным номером

Затем открываем уже готовый скетч Blink – он находится в списке встроенных примеров. Откройте меню Файл, найдите подпункт с примерами, затем Basics и выберите файл Blink.


Открываем пример Blink в Ардуино IDE

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


Кнопки компиляции и загрузки скетча
Информация в Arduino IDE – Загрузка завершена

Ждем немного (внизу можно отследить процесс загрузки) – и все. Плата опять подмигнет несколькими светодиодами, а затем один из светодиодов начнет свой размеренный цикл включений и выключений. Можно вас поздравить с первым загруженным проектом!

Проект маячка со светодиодом и макетной платой

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

Графическое изображение схемы подключения доступно на следующем рисунке:

Другие идеи проектов со светодиодами:

  • Мигалка (мигаем двумя свтодиодами разных цветов)
  • Светофор
  • Светомузыка
  • Сонный маячок
  • Маячок – сигнализация
  • Азбука Морзе

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

Задача

Обеспечение основных функций «умного дома» для городской квартиры: управление работой отопления, управление двумя санузлами (обогрев полов, освещение, вентиляция, защита от протечек и т. д.), отопление «зимнего сада» на балконе, слежение за температурой и влажностью воздуха на улице, слежение за уровнем напряжения в электросети и потребляемой квартирой мощностью, контроль открытия и закрытия входной двери, посылка тревожных и информационных СМС на телефон владельца квартиры и т. д.

Пояснение. Это не какой-то особый концептуальный проект, а один из множества возможных вариантов «умного дома», построенного на основе технологий AMS. Весь его функционал определяется потребностями конкретного хозяина квартиры и в другом случае мог бы быть совершенно иным.

Программирование Arduino

Теперь, когда необходимая нам схема собрана, мы можем начать программирование платы Arduino UNO. Полный текст программы будет приведен в конце статьи, в этом разделе будет дано объяснение некоторых участков кода этой программы.

В каждой программе для Arduino должны обязательно присутствовать две функции – это функции void setup () и void loop (), иногда их называют «абсолютным минимумом», необходимым для написания программы. Все операции, которые мы запишем внутри void setup (), исполнятся только один раз, а операции, которые мы запишем внутри void loop () – будут исполняться снова и снова. Пример этих функций показан в коде ниже – именно в таком виде они создаются когда вы выбираете пункт меню File -> New.

Arduino

void setup() {
// put your setup code here, to run once:
}

void loop() {
// put your main code here, to run repeatedly:
}

1
2
3
4
5
6
7

voidsetup(){

// put your setup code here, to run once:

}
 

voidloop(){

// put your main code here, to run repeatedly:

}

Начнем писать программу в функции setup (). Обычно в этой функции объявляются названия пинов (контактов). В нашей программе нам необходимо объявить всего два контакта: контакт 2 в качестве входного контакта и контакт 3 в качестве выходного контакта. Это можно сделать с помощью следующих строчек кода:

Arduino

pinMode(2,INPUT);
pinMode (3,OUTPUT);

1
2

pinMode(2,INPUT);

pinMode(3,OUTPUT);

Но здесь необходимо внести небольшое изменение в программу – нам желательно чтобы контакт 2, который мы объявили в качестве входного контакта, никогда не был бы в «плавающем» состоянии. Это означает что входной контакт должен быть всегда подсоединен либо к +5 В, либо к земле. А в нашем случае при нажатии кнопки он будет подсоединен к земле, а при отжатой кнопке он будет находиться в плавающем состоянии. Чтобы исключить это нам необходимо задействовать внутренний подтягивающий резистор, который находится внутри микроконтроллера ATmega 328 (то есть снаружи мы этот резистор не видим). Для его задействования необходимо написать соответствующую строчку кода в программе.

С помощью этой строчки кода контакт 2 будет подключаться через подтягивающий резистор к напряжению +5 В всегда когда он не подсоединен к земле. То есть мы должны в одной из написанных нами строчек кода изменить слово INPUT на слово INPUT_PULLUP как показано ниже.

Arduino

pinMode(2,INPUT_PULLUP);

1 pinMode(2,INPUT_PULLUP);

Теперь, когда мы закончили с функцией setup (), перейдем к функции loop (). В этой функции мы должны проверять не подсоединен ли контакт 2 к земле (то есть на его входе низкий уровень – LOW) и если он подсоединен в земле, то мы должны зажечь светодиод при помощи подачи на контакт 3 высокого уровня (HIGH). А если контакт 2 не подсоединен к земле (то есть кнопка не нажата), то мы должны держать светодиод в выключенном состоянии при помощи подачи на контакт 3 низкого уровня (LOW). В программе это будет выглядеть следующим образом:

Arduino

if (digitalRead(2) == LOW)
{
digitalWrite(3,HIGH);
}

else
{
digitalWrite(3,LOW);
}

1
2
3
4
5
6
7
8
9

if(digitalRead(2)==LOW)

{

digitalWrite(3,HIGH);

}

else

{

digitalWrite(3,LOW);

}

В этих строчках кода оператор digitalRead() используется для проверки статуса (состояния) входного контакта. Если контакт подсоединен к земле, то оператор digitalRead() возвратит значение LOW, а если оператор подсоединен к +5 В, то оператор возвратит значение HIGH.

Аналогично, оператор digitalWrite() используется для установки состояния выходного контакта. Если мы установим контакт в состояние HIGH, то на его выходе будет напряжение +5 В, а если мы установим контакт в LOW, то на его выходе будет 0 В.

Таким образом в нашей программе когда мы нажимаем кнопку на контакт 2 будет подана земля и, соответственно, на контакт 3 мы подаем высокий уровень +5 В (HIGH) чтобы зажечь светодиод. Если условие не выполняется – то есть на контакт 2 не подана земля, то мы на контакт 3 подаем низкий уровень 0 В (LOW) чтобы выключить светодиод.

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

Дистанционное управление «умным» домом

Для подключения платы к интернету, понадобится:

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

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

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

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

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

Blynk

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

Virtuino

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

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

Bluino Loader – Arduino IDE

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

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

С помощью подключаемой библиотеки GSM в Arduino IDE можно:

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

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

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

Arduino Mega 2560: схема портов, питание

Напряжение питания Ардуино Мега 2560 при подключении через USB равно 5 Вольт. При подключении питания через разъем от аккумулятора или блока питания, питание платы автоматически переключается на внешний источник. Рекомендуемое питание платы Arduino Mega, согласно описанию производителя от 7 до 16 Вольт. Распиновка портов платы (при клике откроется в новом окне) представлена на фото ниже.


Arduino Mega 2560: схема портов и монтажная схема платы

Arduino Mega 2560: питание, подключение

5V – на пин платы подается стабилизированное напряжение 5 В;
3.3V – на пин подается стабилизированное напряжение 3.3 В;
VIN – на пин подается внешнее напряжение;
IREF – информирования о напряжении платы Arduino Mega;
GND – общий вывод земли.

С чего начать работу с Ардуино

Если вы делаете первые шаги в мире Ардуино, то советуем вам заранее приготовиться к двойному потоку знаний. Во-первых, вам придется разобраться с тем, что такое контроллер Arduino, какие устройства можно к нему подключить и как это сделать. Потребуется разобраться с основами электроники. Во-вторых, придется научиться навыкам программирования в Arduino. Для профессиональной работы нужны знания C++, для начинающих доступны многочисленные графические среды с блочным программированием. Например, mBlock или ArduBlock. При отсутствии реальной платы можно воспользоваться одним из эмуляторов ардуино.

Все это потребует и времени, и знаний, но результатом станет удивительное ощущение восторга от сделанных своими руками умных устройств

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

Делаем мини-пианино с помощью Ардуино — схемы и видео

Компоненты

Необходимые компоненты для нашего проекта:

  • Arduino UNO — 1 шт.
  • Провода-переходники папа-папа — 104×4.
  • Клавиатура — 14 Ом.
  • Динамики — 1A.
  • ПК или ноутбук.

Рабочий код

arduino-keypad.rar
#include#include «pitches.h» #define GND 12 const byte ROWS = 4; //four rows const byte COLS = 4; //four columns const int SPEAKER=11;//define the symbols on the buttons of the keypads char hexaKeys = { {‘0′,’1′,’2′,’3’}, {‘4′,’5′,’6′,’7’}, {‘8′,’9′,’A’,’B’}, {‘C’,’D’,’E’,’F’} }; byte rowPins = {3, 2, 8, 0}; //connect to the row pinouts of the keypad byte colPins = {7, 6, 5, 4}; //connect to the column pinouts of the keypad//initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); pinMode(GND,OUTPUT); digitalWrite(GND,LOW); } void loop(){ char customKey = customKeypad.getKey(); if (customKey==’0′){ Serial.println(customKey); tone(SPEAKER,NOTE_C4,350); } if (customKey==’1′){ Serial.println(customKey); tone(SPEAKER,NOTE_D4,350); } if (customKey==’2′){ Serial.println(customKey); tone(SPEAKER,NOTE_E4,350); } if (customKey==’3′){ Serial.println(customKey); tone(SPEAKER,NOTE_F4,350); } if (customKey==’4′){ Serial.println(customKey); tone(SPEAKER,NOTE_G4,350); } if (customKey==’5′){ Serial.println(customKey); tone(SPEAKER,NOTE_A4,350); } if (customKey==’6′){ Serial.println(customKey); tone(SPEAKER,NOTE_B4,350); } if (customKey==’7′){ Serial.println(customKey); tone(SPEAKER,NOTE_C5,350); } if (customKey==’8′){ Serial.println(customKey); tone(SPEAKER,NOTE_D5,350); } if (customKey==’9′){ Serial.println(customKey); tone(SPEAKER,NOTE_E5,350); } if (customKey==’A’){ Serial.println(customKey); tone(SPEAKER,NOTE_F5,350); } if (customKey==’B’){ Serial.println(customKey); tone(SPEAKER,NOTE_G5,350); } if (customKey==’C’){ Serial.println(customKey); tone(SPEAKER,NOTE_A5,350); } if (customKey==’D’){ Serial.println(customKey); tone(SPEAKER,NOTE_B5,350); } if (customKey==’E’){ Serial.println(customKey); tone(SPEAKER,NOTE_C6,350); } if (customKey==’F ‘){ Serial.println(customKey); tone(SPEAKER,NOTE_D6,350); }}

Files — Example — Keypad — Custom Keypad

Играем песню «С Днем Рождения»

Как играть песню «С Днем Рождения» на клавиатуре:
4 4 5 4 B 6 4 4 5 4 7 B4 4 C 8 B 6 59 9 9 B 7 B
Видео: