Ничего не найдено :(
    В гостях у Самоделкина! » С сайтов » Спец » Авто с управлением удаленным компьютером

    Авто с управлением удаленным компьютером


    Сейчас одной из актуальных обсуждаемых тем являются беспилотные автомобили. Некоторые пытаются сделать их на базе Raspberry Pi и используя технологию компьютерного зрения. Это нормальное решение, которое имеет свои достоинства и недостатки.

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

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

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

    Давайте посмотрим видео, и в самом начале его будет демонстрация работы такого комплекса.

    Инструменты и материалы:
    -Arduino Nano;
    -Модуль драйвера двигателя L298n;
    -Мотор + колеса - 4шт;
    -Модуль Bluetooth HC05;
    -Соединительные провода;
    -Паяльные принадлежности;
    -Лист ПВХ;
    -Аккумулятор 7,4 В;
    -Клеевой пистолет;







    Шаг первый: корпус
    Корпус или платформа авто сделана из ПВХ. В принципе материал и форма значения не имеют и авто нужен только как способ проверки работы комплекса.

    Размечает и вырезает платформу. Закрепляет двигатели и подключает провода.






    Шаг второй: плата и схема
    Мастер разработал схему с помощью программы EasyEDA. Затем разработал печатную плату и заказал ее изготовление на соответствующем сервисе. Скачать файлы для изготовления платы можно здесь.

    Авто с управлением удаленным компьютером

    После изготовления платы все собрал и подключил.
    Левые моторы к D5, D6
    Правые моторы к D3, D4
    Модуль Bluetooth
    VCC к 5 В
    Gnd к Gnd
    tx к Arduino Rx
    Rx к Arduino Tx
    После монтажа подключил аккумуляторы.





    Шаг третий: программирование Arduino
    Теперь можно загрузить программу в робота. Поскольку модуль bluetooth подключен к аппаратному последовательному порту, мастер снимает перемычку перед загрузкой кода.
    Сначала он определил, к какому выводу подключены двигатели
     // Declare motor pins
     // motors of same side work as one
     // so we can consider both as one.
    int rightMotor1 = 2;                // right side
    int rightMotor2 = 3;
    int leftMotor1 = 5;                 // left side
    int leftMotor2 = 6;

    Затем устанавливает выводы двигателя как выходные данные в функции setup ()
      // Set pin modes
      pinMode(rightMotor1, OUTPUT);
      pinMode(rightMotor2, OUTPUT);
      pinMode(leftMotor1, OUTPUT);
      pinMode(leftMotor2, OUTPUT);

    Затем инициализировал последовательную связь для получения данных от модуля Bluetooth -
    // Initialize serial communication
      Serial.begin(9600);

    Эта часть проверяет байтовые данные из последовательного порта, к которому подключен модуль Bluetooth.
    // Variable to store received data
    byte command;

    // Get command data from bluetooth serial port
      command = Serial.read();

    Команды следующие:
    'f' - вперед
    'b' - назад
    'l' - влево
    'r' - вправо
    У каждого мотора есть два контакта. Чтобы запустить их в нужном направлении, нам нужно сделать один вывод HIGH, а другой - LOW. Если они оба одновременно HIGH или LOW, моторы не будут вращаются.
    if (command == 'f'){
        // indicates forward motion
        digitalWrite(rightMotor1, HIGH);
        digitalWrite(rightMotor2, LOW);
        digitalWrite(leftMotor1, HIGH);
        digitalWrite(leftMotor2, LOW);

    Загружает код с помощью Arduino.ide и переходит к следующему шагу.

    Шаг четвертый: код Python
    Сначала нужно загрузить программу python (python.org/downloads).
    Для работы программы нужны две библиотеки: pygame и pySerial. Мастер установил их из командной строки вот таким способом:
    $ pip install pygame
    $ pip install pySerial

    Затем нужно установить алгоритм "чтения" дороги и движения по ней машины.
    bg = pygame.image.load ("track1.png") 
    car = pygame.image.load ("car.png")

    Чтобы отправить данные с ПК на Bluetooth Arduino, сначала нужно подключить модуль Bluetooth к своему компьютеру.
    Включаем Bluetooth
    Переходим в panel > device manager
    Далее Search for new devices
    Добавляем устройство (HC05) вводим пароль (по умолчанию «0000» или «1234»]
    Затем кликает по свойствам устройства, чтобы получить номер порта HC05, на PC он был 'COM8'. Python соединяется так:
    PORT = "COM8"
    BUADRATE = 9600
    robot = serial.Serial(PORT, BUADRATE)  # connect robot

    Чтобы робот проверил окружение, нужно найти центр машины:
    # find the center of the car and draw a point on that
    center_x, center_y = (int(car_x + 40 /2), int(car_y + 40 / 2))

    Остальная часть кода проверяет дорогу и поворачивает или перемещает машину. Данные в Arduino через последовательный порт отправляются следующим образом:
    # start the robot
    robot.write(b'f')

    # turn left
    robot.write(b'l')

    Теперь можно загрузить код:

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


    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 9.67 из 10 (голосов: 1 / История оценок)

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии