Следующий вдоль линии робот на Raspberry Pi Pico


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

Следующий вдоль линии робот на Raspberry Pi Pico

Таким образом, в этом проекте мы рассмотрим создание робота следующего вдоль линии на основе платы Raspberry Pi Pico. Для программирования данной платы мы будем использовать среду Thonny IDE.

Ранее на нашем сайте мы уже рассматривали создание подобного робота на основе других микроконтроллеров (плат):

Необходимые компоненты

  1. Плата Raspberry Pi Pico (купить на AliExpress).
  2. Модуль драйвера двигателя L298N (купить на AliExpress).
  3. Инфракрасные датчики - 2 шт. (купить на AliExpress).
  4. Шасси робота, 4 колеса, 4 двигателя.
  5. Соединительные провода.
  6. Батарея 12v.

Выбор оборудования и программного обеспечения для проекта

Для этого проекта его автор (ссылка на оригинал приведена в конце статьи) выбрал плату Raspberry Pi Pico - это относительно недавно выпущенная плата с весьма продвинутыми функциями. Перед выпуском этой платы он экспериментировал с различными платами Arduino для создания подобного робота. Затем, наконец, он понял, что для этого проекта лучше использовать небольшую плату Arduino или одну микросхему микроконтроллера, например Atmega328P, поскольку это уменьшит размер и вес робота, а также приведет к уменьшению потребления тока. Но после запуска этой новой продвинутой платы в январе 2021 года он решил сделать этого робота все таки на основе платы Raspberry Pi Pico. Первая и главная причина этого заключается в том, что эта плата будет потреблять очень низкий ток, кроме того, самым удивительным фактом является то, что эта плата имеет встроенный повышающе-понижающий преобразователь, который позволяет нам использовать эту плату вместе с источником питания низкого напряжения, например, 1,5 В.

Что касается программного обеспечения, то для данного проекта мы можем использовать либо Thonny IDE, либо  Arduino IDE. Но автор проекта выбрал Thonny IDE, потому что она позволяет нам использовать языки программирования MicroPython и Circuit Python для программирования. Поскольку Python требует гораздо меньше кода по сравнению с Arduino и C++, он выбрал именно эту платформу для программирования. Также он выбрал плату Raspberry Pi Pico из-за ее высокой тактовой частоты 133 МГц, что значительно больше чем 16 МГц у платы Arduino Nano. Кроме того, плата Raspberry Pi Pico имеет множество других функций, таких как встроенный датчик температуры (хотя в этом проекте он не используется). Таким образом, по сравнению с Arduino Nano, Raspberry Pi Pico — значительно более лучший вариант. Инфракрасные датчики в этом проекте можно также заменить  лидарными датчиками.

Схема проекта

Схема следующего вдоль линии робота на основе платы Raspberry Pi Pico представлена на следующем рисунке.

Схема следующего вдоль линии робота на основе платы Raspberry Pi Pico

В представленной схеме два ИК-датчика подключены к контактам Gpio 2 и 3 платы Raspberry Pi Pico. Контакты драйвера двигателя подключены к контактам Gpio 10,11,12 и 13 платы. Контакты включения подключены к контактам Gpio 6 и 7 платы. Эти контакты обмениваются сигналами ШИМ между Pi Pico и драйвером двигателя.

Исходный код программы

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
242 просмотров

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

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