Прежде чем начнём - несколько важных моментов.

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

Скорее – наоборот...

Как-то раз увидел, что инфракрасный датчик линии на сайте Амперки продаётся в двух отдельных версиях – аналоговой и цифровой. Это при том, что схемотехнически это один и тот же модуль. Но по-человечески только китайцы делают, а у нас производитель решил разапгрейдить модуль, дабы получить сверхприбыль. Когда это увидел, стал именовать «Амперку» не иначе как «Вампиркой».

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

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

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

ИК-приёмник с ИК-пультом

Как искать: TL1838

Библиотека: iarduno_IR

Цена: 5 р за ИК-приёмник, 50 р за пульт

Сложность освоения: низкая

Дальнобойность: до 6 метров в помещении

Коллизии: неизбежны

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

Мини-проекты, которые ученики могут делать, освоив данный способ беспроводной связи: простейший робот с беспроводной связью (при наличии навыка управления моторами через Arduino), базовый «настоящий» «умный дом» (управление несколькими лампочками 220 В через реле и ИК-пульт), разного рода иной интерактивчик со всей освоенной до этого периферией.

Из особенностей можно выделить то, что микросхема не работает на солнечном свету (солнечное ИК-излучение засвечивает чувствительный элемент), а если в помещении одновременно несколько учеников играются с ИК-пультами, то их сигналы могут перебивать друг друга, так как у приёмника нет возможности как-либо детерминировать источники. Библиотека толерантна к использованию ШИМ и сервоприводов через стандартную библиотеку Servo. В целом, микросхема работает строго так, как и ожидается, что является её несомненным плюсом.

Bluetooth

Как искать: SPP-C Bluetooth (HC-05 или HC-06 - не рекомендую)

Библиотека: SoftwareSerial, но можно и без библиотеки

Цена: 150 р

Сложность освоения: средняя

Дальнобойность: около 10-12 метров

Коллизии: возможны при определённых условиях

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

1. Модуль обеспечивает уже радиосвязь – и теперь управлять приборами можно за пределами прямой видимости и на втрое большей дальности, чем по ИК-интерфейсу.

2. Для отправки данных используется смартфон. А он даёт множество возможностей кастомизировать панель управления создаваемого прибора. В работе мы используем, например, сервис RemoteXY, который позволяет быстро и просто создавать красивые интерфейсы. Также в привязке к теме блютуса я рассказываю ребятам про App Inventor, который сам по себе является целой отдельной технологической веткой, представляя собой, по сути, полноценный конструктор Android-приложений.

3. Можно одновременно запускать несколько блютусов в помещении, и не опасаться неизбежности наложения сигналов друг на друга (но тут есть нюансы, о которых скажу дальше).

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

Во-первых, требуется провести лекцию по UART, суть которой сводится к тому, что «RX модуля подключается к TX Arduino, и наоборот». Также надо ещё раз донести до детей, что пины 0 и 1 на ардуинах мы не используем до особого распоряжения.

И вот уже на этом этапе начинаются проблемы, так как не всем детям по силам удержать в голове обе этих мысли) Хорошо, что у нас принято писать конспекты, и больше одного раза это всё объяснять не приходится – только исправлять иногда, да ссылаться на записи в тетрадках.

На этом же этапе следует объяснить, как работать с библиотекой SoftwareSerial, что проблем обычно не вызывает. Отдельно следует упомянуть ОСОБЕННОСТЬ 0: при назначении пина Rx на арудино лучше чтобы это был пин 2 или 3 (то есть, пины с «быстрыми», аппаратными прерываниями). В противном случае может не заработать приём данных от блютуса к ардуине.

Тут же я обычно изображаю каноничную архитектуру Arduino-устройств с блютусом на борту, чтобы дети понимали, где тут Serial, а где – «другой Serial».

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

Во-вторых, приходится чётко объяснять порядок манипуляций, которые надо проделать с телефоном, чтобы подключиться к блютусу. И тут уже сразу две «особенности». ОСОБЕННОСТЬ 1 – на разных смартфонах чуть по-разному всё это делается. ОСОБЕННОСТЬ 2 – «яблочная» продукция в принципе не умеет общаться с известными мне блютус-модулями, применимыми в работе. На этот случай в кружке всегда стоят на зарядке «православные» андроиды, готовые прийти на помощь несчастным «мичуринцам».

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

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

…и помните, выше я упоминал, что блютусы всё-таки чуть-чуть, да склонны к коллизиям? Ну, в общем-то, проявляется это только в том случае, если на 20 квадратных метрах кабинета врубятся сразу штук 16 блютусов (8 телефонов и 8 модулей). Это как раз и есть ОСОБЕННОСТЬ 3, которая выглядит так: на смартфонах (некоторых) отображаются некорректные имена блютусов, иногда имена меняются прямо во время подключения, иногда не подходят верные пин-коды, иногда – отвалы происходят. Решается это тем, что блютусы подключаем один за другим. Благо, темп работы у всех разный, и кое-какая дискретизация по времени в работе с модулями обычно имеется. Если нет – ну, что ж, подконтраливаю врукопашную.

Всё это с лихвой окупается тем ВОСТОРГОМ, с которым дети впервые отправляют какую-нибудь ‘1’ в терминал, а в ответ на устройстве загорается светодиод!

А уж когда осваивается RemoteXY или AppInventor – и говорить нечего, просто на ушах стоят, упиваясь пьянящим ощущением власти) Минут пять уходит обычно на то, чтобы молодёжь наигралась, свайпая туда-сюда какой-нибудь переключатель НА САМОДЕЛЬНОМ приложении.

Качество шакальное, так как это кадр из видеоотчёта с занятия: молодой человек оторваться не мог от игрушки, которую собрал самостоятельно
Качество шакальное, так как это кадр из видеоотчёта с занятия: молодой человек оторваться не мог от игрушки, которую собрал самостоятельно

Однако и тут есть ложечка дёгтя (ОСОБЕННОСТЬ 4): библиотека SoftwareSerial конфликтует с библиотекой Servo. Выражается это в том, что при одновременном использовании этих библиотек сервы начинают довольно сильно подрагивать, портя весь кайф от применения слайдеров или джойстиков в том же RemoteXY.

И вот тут я даю ОСОБОЕ РАСПОРЯЖЕНИЕ: подключать блютус к пинам 0 и 1. Это решает проблему, хотя, опять же, добавляет мороки - теперь нужно отключать блютус при каждой перепрошивке, а отладка по Serial становится недоступной.

Но и это не всё.

Дело в том, что (ОСОБЕННОСТЬ 5) аппаратный Serial не работает адекватно на Arduino Nano, если использовать RemoteXY. На Arduino Uno – прекрасно работает. На нане (с тем же камнем, тем же всем) – не работает. Загрузчики пробовали и Old, и новый – вообще всё равно…

Ну и напоследок. У блютусов есть разные аппаратные версии и разные версии программного обеспечения. Это надо уточнять, работая с AT-командами. Учеников я к таким вещам подпускаю редко, уж точно сильно позже, чем при первом знакомстве. Просто потому что не будучи до конца в курсе, как и что тут работает, дети могут сбить оптимальные настройки модуля и потом нудить, мол, «оно не работает».

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

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

...приходит мне как-то раз партия из 30 блютусов. Я начинаю их тестить – и в ответ полная тишина. Я в шоке: 30 блютусов мёртвых – это тебе не фунт изюму. Открываю спор с китайцем, ругань-дрязги… Уже почти вернул деньги, как вдруг приходит мне в голову отправить что-то кроме «AT». Отправляю «AT+NAME», и о чудо, получаю в ответ заветные «JDY-31».

Когда выяснилась ОСОБЕННОСТЬ 6 про более не жизнеспособную команду «AT», я отменил спор и стал с тех пор тестировать блютус командой «AT+VERSION». Связано это с тем, что она состоит из двух частей и при этом не имеет аргументов. Отсутствие аргументов нужно на случай, если (ОСОБЕННОСТЬ 7) одна команда «слипнется» с другой, и последующая команда становится как бы аргументом предыдущей. Такое случается по причине слишком маленькой паузы между командами. На скорости 9600 бод лучше, чтобы интервал был хотя бы 100 мс. Иначе вполне реально получить блютус с именем AT+NAME.

Фух.

Итого: блютус – это круто, блютус – это стильно, блютус – это больно работа для мозгов. Также это работа с Android, что позволяет впоследствии гармонично перейти от разработки хардварных проектов на Arduino и плюсах к разработке приложений на Java.

Пример простейшего интерфейса и «кода» для App Inventor, подходящего для работы с блютусами, приведён ниже. С подобных вот «приложений» начинаются у нас все проекты на Android.

Лучший модуль радиосвязи для кружка робототехники: SI4432



Как искать:
SI4432

Библиотека: RH_RF22 (из набора RadioHead)

Цена: 150 р

Сложность освоения: высокая

Дальнобойность: тест показал, что около 500 метров

Коллизии: есть потенциал возникновения, но можно исключить полностью

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

Данный модуль – программируемый приёмник-передатчик, с настраиваемой несущей частотой в диапазоне от 240 до 960 МГц. Подключается по SPI, работает от 3,3 В, что требует либо подключения к Arduino через конвертер, либо перепайки на самой ардуине линейного стабилизатора AMS1117 с версии 5.0 В на версию 3.3 В. Первый способ предпочтительнее, так как для ардуины почти вся периферия работает с логическим уровнем 5 В.

Плюсами модуля являются:

1. Дальнобойность (несколько сотен метров в условиях застройки и помех на частоте 433 МГц и стандартной модуляции);

2. Устойчивость к перепадам по питанию (радиомодули типа MX или NRF таким похвастаться не могут – постоянно отваливались и ребутались при использовании на колёсных платформах);

3.  Возможность настраивать частоту с шагом в полторы сотни Гц, что позволяет избежать приёма сигналов от разных источников одним приёмником;

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

Особенности работы с этим модулем.

Во-первых, зачем-то пины интерфейса SPI названы как-то нестандартно. Таким образом, MOSI стал SDI (предполагаю, что это «Serial data input»), MISO – SDO, CLK – SCLK, а SS – NSEL (что, в принципе, удобнее, так как N явно указывает, какой логический уровень разрешает работу микросхемы). Пин NIRQ к интерфейсу SPI уже не относится, и является выходом прерывания, проваливающимся в 0 при наступлении событий.

Во-вторых, есть некоторая сложность при освоении библиотеки по стандартным примерам. Чтобы понять до конца то, что в них написано, следует знать синтаксис массивов, навыки их применения, а также иметь представление о ссылках и указателях. Поэтому изучение этого модуля я сдвигаю ближе к концу курса структурного программирования. Также в примерах не указано, что у конструктора класса есть удобные аргументы, и их аж целых два. Первый – это пин Arduino,  к которому подключён NSEL микросхемы. Второй – это NIRQ, причём это должны быть пины с «быстрыми» прерываниями, то есть, 2 или 3 на большинстве плат. Не зная этого работа с модулем может доставить головной боли.

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

Пульт и выглядел, и работал как заводской
Пульт и выглядел, и работал как заводской

В-четвёртых, надо помнить, что SI4432 может работать на запрещённых частотах, и преподавателю нужно контролировать настройки модулей учеников, чтобы не спровоцировать приезд каких-нибудь служб, мониторящих порядок в радиоэфире.

В общем-то и всё. В работе применяем уже 5 лет, все самые ответственные проекты собраны с применением именно этого чипа.

UPD (по мотивам комментария от пользователя UFO_01)

Что касается разрешённых-запрещённых частот:
450-470 МГц
- МВД;
495-505 МГц - Международный диапазон для передачи сигналов азбуки Морзе и сигналов бедствия;
406-407 МГц - частоты спутниковых радиомаяков для международной поисково-спасательной системы КОСПАС-САРСАТ;
328,6-335,4 МГц - частоты воздушной радионавигационной службы.

Можно использовать передатчики 433 МГц мощностью 0.01 Вт и 446 МГц мощностью 0.5 Вт (на частоте 27 МГц можно использовать передатчики 10 Вт, но думаю эта частота мало кому интересна)

FPV-система

Роботы не были бы роботами, если бы на них не устанавливались камеры, позволяющие оператору наблюдать за происходящим. Тут всё просто: мы используем маломощные камеры с передатчиком на 25 мВт (искать можно как 25 mW fpv camera), а в качестве приёмников – Skydroid в исполнении с двумя антеннами.

Работать с этим всем очень просто: на камеру надо подать от 3,7 до 5 В, а приёмник – воткнуть в смартфон с OTG, на котором есть приложение вроде PokeFPV. После включения питания камеры и подключения приёмника к смартфону на приёмнике нужно длительно нажать кнопку сканирования, подождать секунд 30, и вуаля – на смартфоне отображается то же, что видит камера на роботе.

ИТОГ

Разумеется, существует огромное многообразие модулей, протоколов, систем для организации беспроводной связи, толерантной к мозгам учеников и аппаратному обеспечению Arduino. Но  за время работы мы с коллегами остановили свой выбор именно на этих устройствах, по указанным выше причинам (соотношению цены и предоставляемых возможностей). В будущем планируем подробнее рассмотреть ESP8266 (как отдельную платформу, изучаемую в рамках курса web-разработки для интернета вещей) и модуль HC-12 – как альтернативу сложноватенькой SI4432. Кстати, HC-12 уже едет, так что надеюсь вскоре дополнить статью впечатлениями от его использования.

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

О нас

Группа в ВК: https://vk.com/robograde

Канал на YouTube: ЦТТ RoboGrade

Профиль на Яндексе: https://yandex.ru/profile/181404940769

Комментарии (42)


  1. pavel_raskin
    25.06.2023 12:16
    +1

    Слово в защиту модулей из состава "экосистем". Главное их преимущество - унификация. Какой бы модуль ни был по назначению, на нём, как правило, одинаковое расположение и маркировка контактов. Это даёт возможность дать быстрый старт на начальных уроках (тыц конец, тыц второй, и работает!), не отбив у детей желание кучей малопонятной технической информации. Но если бюджет ограничен, то согласен - Китай наше всё.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16
      +6

      Тут два фактора. Первый - это бюджет, как Вы абсолютно верно и сказали) С ним у нас всегда сложно) Поэтому - "голь на выдумки хитра".

      Второй фактор тот, что у нас сама цель - научить детей работать с самыми доступными запчастями. Да, чуть сложнее. Но тут от учебной программы зависит многое. У них перед этим весьма ядрёный курс аналоговой электроники идёт, который неплохо так закаляет. Важно, что дети учатся работать с теми запчастями, которые и им самим по карману - а значит, могут купить себе такие же и работать дома. В общем-то, в этом и цель обучения: научить креативить без помощи кружка и наставников, обращаясь за помощью в инет и свои конспекты)


  1. N-Cube
    25.06.2023 12:16
    +1

    В микробит есть радиомодуль, в RPI Pico вайфай и блютуф, так что даже без дополнительной периферии можно много всего сделать. И зачем детям C++? Ассемблер плюс Си плюс питон предоставляют несравнимо больше возможностей, притом и качественнее и быстрее. На Pico и vga и hdmi и что еще только не делают используя встроенные машины состояний и микроассемблер - при стоимости чипа в 3 доллара в сезон скидок.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      На вкус и цвет, как говорится)

      Вообще, я учебную программу писал, опираясь на то, что знаю сам. Она не оптимальна (и таковой никогда не будет), но она очень неплохо работает (сужу по тому, что дети креативят сами и на уроках). Поэтому особо не заморачиваюсь с поиском новых модулей или языков программирования. Моя задача - показать связки технологий и языков. А уж дальше если захотят, то выучат и асму, и пайтон, и что угодно...


      1. forthuse
        25.06.2023 12:16

        Выскажу своё мнение.
        Ассемблер, вряд ли освоят или будут осваивать самостоятельно после Ардуино инструментария, а Форт, Лисп, Smalltalk, Tcl/Tk к примеру, ортогональны освоенным языкам в их понимании к используемым с Ардуино. Вот Лого может быть освоен. :)


        P.S. Добрынин Д.А. История создания минироботов в ЦДТ "Родник"


        Добрынин Д.А. Принципы построения малых мобильных роботов — мобильной платформы "Crazy Mouse" и робота-собаки "Робик"
        imageimage


        1. N-Cube
          25.06.2023 12:16
          -2

          Выглядит страшно, вряд ли такое может кому понравиться, как утверждает автор по ссылке. Ну и терминология там жуткая - «коробочки от пыли», «рулевые машинки», серьезно? А по делу ничего и нет. Помнится, по кибернетике (которая имела сомнительный статус в СССР) были издания с названиями вида «Теория цепей обратной связи» (видимо, чтобы кому не надо, не догадались, что это та же кибернетика) и там теория конструирования самых различных автоматов была изложена вполне детально. Увы, точные названия уже не помню, может, кто-то из комментаторов подскажет.


          1. forthuse
            25.06.2023 12:16

            Да, это интересная ретроспективная информация к прочтению, а если есть интерес
            пощупать Форт (Forth) к примеру на AVR, STM32 или других контроллерах и/или ПК, то есть неплохие проекты с их реализацией
            Вот некоторые из них навскидку, коих, конечно же, намного больше.
            (и часто их реализации можно видеть сделанные на базисе языка ассемблер)


            для AVR:
            amForth
            FlashForth
            eForth


            для STM32:
            Mecrisp-Stellaris
            VFX Forth community
            SwiftX Forth


            для STM8, 8051, PIC… тоже есть разные варианты.


            P.S. И даже такой, к примеру, проект IDE using MikroForth for the ATMEL AVR Attiny 2313 in 20 Pin DIL


            image


            А, вообще есть русскоязычный форум для интересующихся Форт (Forth) языком и сопряжёнными интересами http://fforum.winglion.ru/
            где всевозможных ссылок связанных с Форт насыпано немеряно. :)


            а также Телеграм канал по Форт и саморасширяющимся системам программирования


  1. Dee3
    25.06.2023 12:16
    +2

    ОСОБЕННОСТЬ 2 – «яблочная» продукция в принципе не умеет общаться с блютусами

    Вот тут не понял, как тогда работают сотни приложений на iOS, где применяется Bluetooth?


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Окей, яблоки не работают с теми блютусами, которые мы используем в работе. Либо их как-то настраивать нужно особым образом.

      На вопрос о том, как работают "сотни приложений" - не отвечу, за айфоны не особо в курсе.


      1. N-Cube
        25.06.2023 12:16
        +1

        Для микробита есть айос приложение, из которого по блютусу прошивки грузятся - удобно и работает стабильно. Можно и удаленно отлаживать, и даже камеру подключать.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Подправил, дабы всё было максимально точно)


    1. VT100
      25.06.2023 12:16

      Разработчики приложения — зарегистрированы в Apple и, вероятно, платят за доступ.


    1. lonelymyp
      25.06.2023 12:16

      Сложность написания своего личного приложения и установка его на айфон зашкаливает. Ну и блютус нужен ble4.0 минимум.


      1. Klochko
        25.06.2023 12:16
        +2

        Даже не сложность, а кол-во расставленных Apple граблей. Нужен мак (или хакинтош), сертификат покупать, как-то дороговатое удовольствие для радиолюбительской практики. А сейчас ещё и не самое простое.

        У себя обнаружил вообще странную историю, после переезда на новое яблоко мне вообще не получилось запустить свою программу на своем айфоне. Пишет что-то вроде «Сбой проверки приложения от Apple Development…» и все. Видимо связано с обновлением iOS 16. В общем хотел изучать Swift, но из-за таких каруселей забил.

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

        Так что использовать Bluetooth на iPhone в кружках и радиолюбительской практике технически можно. Практически дешевле купить б/у смартфон на Android и не мучатся.


        1. N-Cube
          25.06.2023 12:16

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


          1. Klochko
            25.06.2023 12:16

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


            1. N-Cube
              25.06.2023 12:16

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


  1. nikolz
    25.06.2023 12:16
    +4

    Рекомендую присмотреться к модулям на чипах Telink. Например, один из первых таких модулей, SoC ( 32-bit MCU+flash+RAM+ADC+...)+BLE4.2 , дешево, это модуль JDY-10 (цена от 100 до 140 руб) но надо брать именно на чипе Telink (см фото). Чип не новый, но фактически содержит ардуино с большей памятью и питанием 3.3 в. Но лучше брать модули на новых чипах Telink, которые поддерживают BLE5,Bluetooth® Mesh, Zigbee, RF4CE их можно посмотреть здесь https://www.telink-semi.com/for-developers/ . Telink альтернатива чипам Nordic, который ушел из РФ.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Понял, принял, сейчас закажу пару на пробу.


      1. nikolz
        25.06.2023 12:16

        еще есть вот такой интересный мост UART-BLE

        адаптер USB-UART


  1. nikolz
    25.06.2023 12:16
    +1

    Полагаю было бы интересно ребятам делать говорящих роботов. Для этой цели есть дешевые MP3 модули с усилителем , флеш памятью на 4МБ или SD картой до 32 ГБ. Можно синтезировать речь на основе словаря. На базе ESP8266 (модуль ESP12) можно сделать TTS на основе библиотеки flite. Все это использую в своих разработках.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Говорящих уже делаем, у меня в вк есть видео и посты по теме) Сперва боевой робот заговорил репликами Голиафа из второго старкрафта, а затем мы освоили нейронки... И понеслась. Анимэ, пацаны...


      1. Desem
        25.06.2023 12:16
        +2

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


        1. vladimirmozg1994 Автор
          25.06.2023 12:16

          Прошу прощения, ухитрился забыть... Благодарю, что напомнили!


  1. geher
    25.06.2023 12:16

    Также надо ещё раз донести до детей, что пины 0 и 1 на ардуинах мы не используем до особого распоряжения

    Я так понимаю, что Вы используете только классическую Уно и ее "родственников"?

    В Леонардо и ее клонах такой проблемы нет, поскольку разделены аппаратный последовательный порт на 0 и 1 и последовательный порт, через который подключен USB и осуществляется программирование.

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


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Дешевле обычные камешки. На atmega32u4 мы делаем более сложные проекты, не усебно-повседневные.


  1. Didimus
    25.06.2023 12:16

    А что за запрещённые частоты, на которые можно попасть в указанном диапазоне?


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      А вот и не знаю. Знаю, что разрешена для всякой самодеятельности и на небольшой мощности 433 МГц. А остальные частоты, видать, под что-то другое заняты. Раз заняты - зачем туда лезть, правильно?)


    1. UFO_01
      25.06.2023 12:16
      +4

      450-470 МГц - МВД

      495-505 МГц - Международный диапазон для передачи сигналов азбуки Морзе и сигналов бедствия.

      406-407 МГц - Частоты спутниковых радиомаяков для международной поисково-спасательной системы КОСПАС-САРСАТ

      328,6-335,4 МГц - Частоты воздушной радионавигационной службы

      Можно использовать передатчики 433 МГц мощностью 0.01 Вт и 446 МГц мощностью 0.5 Вт (на частоте 27 МГц можно использовать передатчики 10 Вт, но думаю эта частота мало кому интересна)


      1. vladimirmozg1994 Автор
        25.06.2023 12:16

        Благодарю за информацию)


  1. AlexanderS
    25.06.2023 12:16

    HC-05 или HC-06 — не рекомендую

    А что с ними не так? Я когда-то использовал — вроде никаких проблем не было.


    1. vladimirmozg1994 Автор
      25.06.2023 12:16
      +1

      Точно не скажу, давно это было. По воспоминаниям они троили как-то совсем не очевидно, в ряде случаев их смартфоны даже не видели. И недавно ко мне обратился за покупкой блютусов мой коллега, который кратно опытнее меня во всех технических делах. Я ему сосватал SPP-C эти модули. И друг сказал, что они себя гораздо стабильнее ведут, чем HC. Больше он HC не покупал.

      Опять же, HC дороже чутка.


      1. Recosh
        25.06.2023 12:16
        +1

        Все верно. HC-06 пришел с кривой прошивкой. Рвет serial соединение на расстоянии 30см при интенсивном обмене данных (ставил на коптер для отладки через мавлинк). Проблема явно не аппаратная, так как поведение не меняется хоть 10см, хоть 5 метров.

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


  1. Recosh
    25.06.2023 12:16
    +2

    esp8266 подустарела. Лучше сразу esp32. Там аппаратно можно вывести Serial почти на любые пины. Можно отлаживать брекпоинтами и смотреть в память без доп оборудования.

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

    Ну и блютуз сразу на борту ????


    1. vladimirmozg1994 Автор
      25.06.2023 12:16

      Доберёмся)


    1. 0x1A4
      25.06.2023 12:16

      esp8266 подустарела
      Старенькая, но надежная и приятная при правильном обращении. Главное обеспечить хорошим питанием, так как wi-fi довольно прожорливый в них. А возможностей достаточно чтобы поднять веб сервер и подключаться с любого девайса с wi-fi и браузером.


      1. Recosh
        25.06.2023 12:16
        +1

        ESP32 точно такая же) но из опыта менее требовательна к питанию. Ну и памяти и мощщи хватает что бы что бы воспроизводить интернет радио, или сделать ip камеру, которая сразу может быть установлена на колёсную платформу или коптер, попутно управляя двигателями.

        Ещё там разрабы подключали микрофон и делали умную колонку. Стоит она конечно на 20-50 % дороже esp8266, но потенциала очень много)


        1. 0x1A4
          25.06.2023 12:16

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


          1. LAutour
            25.06.2023 12:16

            Главный минус у ESP8266  - очень мало доступных gpio.


    1. forthuse
      25.06.2023 12:16

      Интересно, что и на esp8266, esp32 тоже портируют и используют Форт (Forth) и в рамках Ардуино реализации. :) (на Github находятся такие проекты)


      И, к примеру, на сервисе Wokwi какие то из них можно проверить на работоспособность.
      EspForth ("немного" тормозит у меня в используемом интернет браузере FireFox, но по истечении некоторого времени приглашение в консоль выводит и для возможности выполнить слово WORDS)


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


      12 output 12 wiggle 11 output 11 wiggle


      Запускается даже на Atmega такой код c Cortex-M0 (вставив вместо выше кода)
      M0-Forth.ino


      если подправить его к примеру так.


      define RAM_SIZE 0x300
      define S0 0x0100
      define R0 0x0200

      слово WORDS при наборе даже что то печатает и сама программа этого интерпритатора не крашится, хотя заточена на 32-бит ячейку хранения слов в словаре.


      P.S. В скетче Aрдуино можно использовать и ассемблер AVR.
      (в немного непривычном смнтаксисе)
      Примeр с сайта Wokwi


      А, кто то даже создал целый сайт FORTH & Arduino / ESP32
      (с французкими корнями)


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


    1. LAutour
      25.06.2023 12:16

      Если нужны нормальные брекпоинты и второй аппаратный сериал, лучше смотреть сразу на ESP32S2\ESP32S3 (про С серию не помню)


  1. frt123
    25.06.2023 12:16

    USART ( serial port ) на 16MHz (arduini UNO/Nano ) не очень хорошо работает. Если припаять кристалл на 1.8432 MHz/3.6864MHz/7.3728MHz etc все ошибки исчезнут. Только не забыть подправить fuses касающихся кристалла.