Переделка RC-машинки в смарт-машинку при помощи ардуино

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



    Итак, переделывать я решил стандартную RC-машинку, купленную в магазине игрушек примерно за 500 рублей.



    Переделку можно осуществить двумя основными способами:
    1. Подключить ардуино к пульту ДУ от машинки
    2. «Вживить» ардуино внутрь самой машинки

    Я решил попробовать оба способа, но сегодня расскажу только про первый, поскольку он несколько проще, а начинать лучше с простого.

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



    Вместо четырех кнопок подключаем четырехканальный блок реле по схеме:



    Блок реле подключаем к ардуино, а она уже будет получать сигналы со смартфона посредством блютуз модуля. Скетч для ардуино
    тут
    unsigned long incomingByte;
    int LED2 = 6;
    int LED3 = 7;
    int LED4 = 8;
    int LED5 = 9;

    void setup() {
    Serial.begin(9600);
    Serial.setTimeout(4);
    pinMode(LED2, OUTPUT);
    pinMode(LED3, OUTPUT);
    pinMode(LED4, OUTPUT);
    pinMode(LED5, OUTPUT);
    }
    void loop() {
    if (Serial.available() > 0) {
    incomingByte = Serial.parseInt();
    if(incomingByte == 2) {digitalWrite(LED2, LOW); }
    if(incomingByte == 3) {digitalWrite(LED3, LOW);digitalWrite(LED2, LOW); }
    if(incomingByte == 4) {digitalWrite(LED4, LOW); }
    if(incomingByte == 5) {digitalWrite(LED5, LOW); digitalWrite(LED2, LOW);}
    if(incomingByte == 18) {digitalWrite(LED2, HIGH); }
    if(incomingByte == 18) {digitalWrite(LED3, HIGH); }
    if(incomingByte == 18) {digitalWrite(LED4, HIGH); }
    if(incomingByte == 18) {digitalWrite(LED5, HIGH); }
    }
    }

    Теперь нужно сделать простенькое приложение для управления всем этим на подобии этого:



    Приложение я сделал в среде визуальной разработки андроид приложений App Inventor 2.

    Выглядит оно приложение так:



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



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


    P.S. Сборник из более 100 обучающих материалов по ардуино для начинающих и профи тут
    P.P.S. Онлайн курс по ардуино на гиктаймс здесь.
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 15
      +5
      А не проще вместо реле использовать саму выходы ардуины? Там как раз напряжение небольшое.
        0
        выходы ардуино не тянут
          0
          Сергей, всё здорово, но замени релюшки хотя бы полевиками что ли. А то такое решение довольно дико и топорно выглядит.
          0
          +
          0
          Т.е. вы перетащили управление с нормальных аналоговых стиков хоть с каким-то ходом, на кнопки? Это я считаю не совсем успех.

          Интересно было бы увидеть навешивание на машинку дополнительного обвеса в виде ИК датчика столкновений или камеры — вот тогда был бы толк. А так вы только ухудшили изначальные характеристики.

          Очень надеюсь что это лишь начало и все у вас впереди.
            +3
            Там нет аналоговых стиков. Это просто рычажки, которые жмут на кнопки.
            +4
            ОПТРОНЫ!!!
              +1
              Есть подозрение, что через аудиовыход планшета можно напрямую управлять передатчиком пульта (там всего одна линия и амплитудная модуляция сигнала).
                0
                Вижу ваша машинка не просто поворачивает, а по тому же нажатию едет вперёд.
                А может ли она поворачивая ехать назад?
                  0
                  не может. но если дописать 2 строчки кода то сможет
                  0
                  Ужасно. В идеале нужно было реверснуть передатчик на пульте и эмулировать его используя 433.92TX модуль.
                  ну или раз уж на то пошло подпаяться к кнопкам напрямую ну или через транзистор. Но реле это, простите, не в какие ворота.
                    0
                    А там и реверсить ничего не надо, в передатчике использована микросхема TX-2B, вся документация на нее есть в сети.
                  0
                  А чем заключается СМАРТ-овость? Ведь тут просто замена контроллера! Не так ли?
                    0
                    смартовость в подключении к смартфону. По аналогии со смарт-часами, смарт-стельками, смарт-брелоками, смарт-лампами и прочей смартфон-совместимой электроникой

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

                  Самое читаемое