четверг, 12 августа 2021 г.

Кораблик бюджетный радиоуправляемый на ардуине

 Изготовление моделей радиоуправляемых транспортных средств это увлекательное и интересное занятие которое отвлекает от проблем и успокаивает нервы в случае когда это изготовление получается удачным. Наиболее простым способом сделать систему радиоуправления, под конкретные (не сильно спецефические) нужды, является использование платы Ардуино и модулей для неё. Такой способ уменьшит вероятность неудачи и потери времени а также увеличит вероятность получить именно положительные эмоции от работы. А из всех транспортных средств именно кораблик (на субъективный взгляд автора данной статьи) является самым простым и дешевым в изготовлении т.к. этому способствуют особенности передвижения по воде (не даром лодка является древнейшим транспортным средством используемым человеком). А его испытание вынудит посетить какой нибудь красивый пруд (на сильно волнистой поверхности моря или реки хлипкую самодельную конструкцию лучше не испытывать) на природе что также должно благотворно повлиять на нервную систему. Для изготовления радиоприемника самодельного радиоуправляемого кораблика можно использовать например такую схему:

Рисунок 1 - Схема приемника

Данная схема выглядит не очень сложной т.к. вместо отдельных деталей (за некоторым небольшим исключением) в ней имеются модули которые могут быть приобретены в готовом виде или же могут быть изготовлены. Мотор используется для вращения гребного винта а сервомотор для поворота руля (см. видео внизу данной статьи). Чтобы схема заработал в ардуино надо загрузить скетчь (так называется программа а точнее её исходный код для использования в среде разработки Arduino IDE). О том как это сделать можно узнать на официальном сайте Arduino. Скетч может быть например такой:
Правда данный код подходит для старых версий библиотеки nRF24L01.h которая обычно устанавливается вместе со старыми версиями Arduino IDE. Для новых возможно понадобиться заменить конструкцию вида
if ( radio.available() )
{
    bool done = false;
    while (!done)
    {
       done = radio.read( joystick, sizeof(joystick) );
... тут какой то код ....
    }
}
на конструкцию вида
if ( radio.available() )
{
    radio.read( joystick, sizeof(joystick) );
... тут какой то код ....
}
или ещё какого либо другого вида. Это можно уточнить на официальном сайте.
Для теста радиоуправляемых моделей можно сделать какой нибудь один универсальный пуль с кнопками и потенциометрами. Например такой как на схеме:
Рисунок 2 - Схема пульта

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