Управление микроконтроллером со смартфона natyanikova / 24.12.2015 Носимые программируемые устройства, интерес к которым всё возрастает в последнее время, предполагают постоянное взаимодействие с непосредственным владельцем. По большому счёту, получение данных с микроконтроллера и передача команд должны быть доступны для пользователя в любое время. Для этих целей удобно использовать мобильный телефон или планшет, находящиеся практически всегда под рукой.Рассмотрим один из способов, с помощью которого можно объединить программируемую плату (на примере Arduino UNO) и смартфон на базе Android. Начинать такое знакомство лучше с простых проектов с обычными светодиодами, чтобы освоить управление их яркостью и понять принципы взаимодействия устройств.Итак, что было в моём распоряжении: Микроконтроллер Arduino UNO Телефон с OS Androind Bluetooth-модуль HC-06 (описание на сайте "Амперки") Светодиод на 3В Резистор на 220 Ом Макетная плата Соединительные провода "папа-папа" и "мама-мама" (шлейфы) Сразу же сделаю два примечания.А. По поводу соединительных проводов можно отметить, что хорошо бы иметь в распоряжении четыре провода "мама-папа", поскольку именно такие будут удобны для подсоединения bluetooth-модуля к плате. Б. Не все bluetooth-модули совместимы с iOS, например, в моём случае обнаружить HC-06 с помощью iPhone не удалось. Также практика показала, что приложений для управления Arduino с Android гораздо больше.Шаг 1. Подсоединяем наш тестовый светодиод к Arduino через резистор. Можно брать сразу же те выходы, которые могут использоваться для PWM (ШИМ): 3, 5, 6, 9, 10, 11. Это позволит продумать и реализовать ряд экспериментов, идеи которых могут возникнуть в ходе работы.Шаг 2. Подсоединяем bluetooth-модуль к микроконтроллеру. Модуль имеет 4 контакта: питание, земля и линии данных RXD и TXD. Подключение осуществляется следующим образом:VCC - 5VGND - GNDRXD - TXTXD - RXЕсли всё сделано правильно, то bluetooth-модуль отзовётся миганием расположенного на нём светодиода.Шаг 3. Программируем устройство. Один из первых скетчей, который можно использовать при тестировании соединения.Заливая скетч на плату, необходимо отсоединить питание от BLE-устройства, иначе запись программы не произойдёт, так как используются всё те же RX и TX.Шаг 4. Установка приложения на смартфон. По запросу "Bluetooth terminal" в Google Play можно получить множество результатов и выбрать приложение, которое будет иметь наивысший рейтинг и понравится вам по интерфейсу. Функциональность у всех подобных приложений примерно одинаковая. Я использовала BlueTerm. Шаг 5. Установка соединения и тестирование. Нам необходимо включить bluetooth на телефоне, в приложении сделать поиск устройств, выбрать среди них HC-06. Пароль для подключения вводится единожды и для данного модуля это 1234 (иногда встречаются модели с паролем 0000). Набирая в терминале "1" и "0" наблюдаем за включением и выключением светодиода.Шаг 6. Эксперименты.А. Используем функцию analogWrite, которая позволит задавать не только состояния "включено/выключено", но и промежуточную яркость. Например, так (кусочек кода):Б. Используем оператор Switch для ступенчатого управления яркостью. Например, так (ещё один кусочек кода):switch (val)В. Добавляем в схему ещё несколько светодиодов или других компонент и управляем каждым через терминал по отдельности.Г. Подбираем (или создаём самостоятельно) приложения, которые смогут управлять светодиодами. Д. Подсоединяем LED-ленту к микроконтроллеру (как здесь) и меняем режимы её работы с помощью смартфона.Е. С помощью Android-приложений учимся получать показания датчиков Arduino. STEM arduino leds mobile