Лодка на Ардуино с ИК управлением

Представляем вам проект на плате Ардуино — «Лодка с пультом ДУ своими руками». Для изготовления данного проекта потребуется небольшой список деталей, который вы сможете найти в данной статье. Радиоуправляемая лодка на Ардуино изготавливается из подручных материалов, поэтому, больших вложений не потребуется. Схема и подробная технология изготовления лодки размещена далее.

Видео. Лодка с ИК управлением на Ардуино

Лодка на Ардуино с пультом ДУ может передвигаться по воде за счет винта, соединенном с электродвигателем. Экструдированный пенополистирол (пеноплэкс) имеет пористую ячеистую структуру, благодаря которой, материал достаточно прочный, но при этом пеноплэкс легче воды и не тонет. Кроме того, лодка способна поворачивать, благодаря килю, соединенному с сервоприводом рычагом.

Радиоуправляемая лодка на Ардуино своими руками

Лодка на Ардуино с ИК управлением
Лодка на Ардуино с ИК управлением от пульта ДУ

Для этого проекта нам потребуется:

  • плата Arduino UNO;
  • ИК приемник;
  • любой пульт ДУ;
  • один сервопривод;
  • электродвигатель 5В;
  • аккумулятор на 12В;
  • один транзистор;
  • кусок пеноплекса;
  • кусок проволоки;
  • фанера толщиной 2-3 мм;
  • стержень от шариковой ручки;
  • канцелярские скрепки;
  • клей, термопистолет;
  • провода и изолента.

Инструкция по изготовлению лодки

1. Изготовление корпуса лодки из пеноплекса

Изготовление корпуса лодки на Ардуино
Изготовление корпуса лодки на Ардуино своими руками

Размеры и форма лодки могут быть абсолютно разными — все зависит лишь от фантазии. Что касается прорезей, то они должны соответствовать размерам деталей. На трафарете (слева-направо) размечены прорези для: платы Ардуино UNO, сервомотора, привода киля и микромоторчика. Учтите, что привод от сервомотора к килю должен свободно ходить в прорези, для этого надо точно рассчитать радиус.

2. Изготовление деталей для привода и управления

Изготовление деталей для привода и управления
Изготовление деталей для привода и управления лодкой

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

Сборка деталей для привода лодки
Сборка деталей для привода радиоуправляемой лодки

3. Сборка лодки на Ардуино с управлением

Для начала следует установить плату, сервопривод и двигатель
Для начала следует установить плату, сервопривод и двигатель

В этом проекте мы обошлись без использования макетной платы. Если вспомнить схему подключения ИК приемника к Ардуино, то она очень проста (слева-направо): A0GND5V  и не требует расходов на приобретение макетной платы. Транзистор мы использовали в этой схеме для включения советского электромоторчика от 3,3 V.

Сборка электрической схемы лодки на ИК управлении
Сборка электрической схемы лодки на ИК управлении

Транзистор размещен на пинах 12, 11 и 10. На Pin11 (средняя ножка транзистора — это база) мы подаем напряжение для включения электродвигателя. Pin12 и Pin10 в скетче не используются, поэтому служат нам эмиттером и коллектором. К Pin12 подключен выход 3,3 V, а к Pin10 подключен электромоторчик (красный плюсовой провод).

4.  Крепление привода винта на валу двигателя

Разогрейте стержень шариковой ручки над паяльником
Разогрейте стержень от ручки над паяльником и он зайдет на вал двигателя

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

Электрическая схема лодки с ИК управлением

Электрическая схема лодки на Arduino Uno с сервоприводом
Электрическая схема лодки на Arduino Uno с сервоприводом

В нашем проекте используется старый электродвигатель на 3,5 Вольта, поэтому мы его включаем через транзистор, используя выход 3,3V на плате Arduino UNO. Включение цепи с микромоторчиком происходит после подачи тока на среднюю ножку транзистора (база) с Pin11. Чтобы написать скетч (он очень простой) посмотрите пример кода для проекта на Ардуино «Управление светильником с пульта ДУ»

Скетч для лодки на Ардуино с ИК пультом

Обратите внимание, что при использовании других моторчиков, транзистор в схеме может не потребоваться. Скачать скетч для лодки можно здесь: yahta.ino

#include <IRremote.h> // Библиотека для IR-приемника
#include <Servo.h> // Библиотека для сервомотора

// Замените коды команд от пульта ДУ на свои значения
#define forward 16736925
#define left 16769565
#define right 16754775
#define turm_left 16712445
#define turm_right 16711935
#define stope 16755285

Servo servo; // Присваиваем имя сервомотору

int RECV_PIN = A0;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()

{
  Serial.begin(9600); // Подключаем монитор, чтобы получить коды от пульта ДУ
  irrecv.enableIRIn();
  pinMode (11, OUTPUT);
  pinMode (13, OUTPUT);
  pinMode(A0, INPUT);
  servo.attach (7);
}

void loop() {
  
    if (irrecv.decode(&results)) {
    
    Serial.println(results.value); // Выводим на монитор порта коды с пульта ДУ

    if (results.value == left) {
    servo.write(60);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == right) {
    servo.write(120);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == turm_left) {
    servo.write(10);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == turm_right) {
    servo.write(170);
    digitalWrite(11, HIGH);  
   }
   
    if (results.value == forward) {
    servo.write(90);
    digitalWrite(11, HIGH);
   }
   
    if (results.value == stope) { 
    digitalWrite(11, LOW);
    servo.write(90);
   }
   
    irrecv.resume(); // Ждем следующий сигнал от пульта
  }
  
}

Тестирование сервомотора лодки на Ардуино

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

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

Фото. Лодка с ИК управлением на Arduino UNO
Фото. Лодка с ИК управлением на Arduino UNO

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


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5,00 out of 5)
Загрузка...

Один комментарий для “Лодка на Ардуино с ИК управлением

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *