Оглавление:

Робот для погони за огнем: 6 шагов (с изображениями)
Робот для погони за огнем: 6 шагов (с изображениями)

Видео: Робот для погони за огнем: 6 шагов (с изображениями)

Видео: Робот для погони за огнем: 6 шагов (с изображениями)
Видео: Мультик про роботов Трансформеры Прайм. Охотники на чудовищ 3/6. Субординация 2024, Июль
Anonim
Image
Image
Подключение датчика пламени к PICO
Подключение датчика пламени к PICO

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

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

Запасы

  • PICO
  • Датчик пламени
  • Малый двигатель постоянного тока
  • Малый пропеллер
  • L298N Драйвер электродвигателя с Н-образным мостом
  • PCA9685 12-битный 16-канальный драйвер ШИМ
  • Комплект шасси робота 2WD
  • Мини-макет
  • Провода перемычки
  • Винты и гайки

Шаг 1: Подключение датчика пламени к PICO

Подключение датчика пламени к PICO
Подключение датчика пламени к PICO

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

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

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

Выводы модуля датчика пламени:

  • VCC: положительное напряжение 5 В, подключенное к выводу VCC PICO.
  • GND: отрицательный вывод, соединенный с выводом GND PICO.
  • D0: контакт цифрового выхода, подключенный к желаемому цифровому выходу PICO.

Давайте теперь подключим его к нашему PICO, чтобы протестировать нашу проводку и логику кода, чтобы убедиться, что все работает правильно. Подключить датчики пламени очень просто, просто подключите VCC и GND датчиков к VCC и GND PICO соответственно, затем подключите выходные контакты следующим образом:

  • D0 (правый датчик пламени) → A0 (PICO)
  • D0 (средний датчик пламени) → A1 (PICO)
  • D0 (левый датчик пламени) → A2 (PICO)

Шаг 2: Кодирование PICO с помощью датчиков пламени

Кодирование PICO с помощью датчиков пламени
Кодирование PICO с помощью датчиков пламени
Кодирование PICO с помощью датчиков пламени
Кодирование PICO с помощью датчиков пламени

Теперь, когда у нас есть датчики пламени, подключенные к PICO, давайте начнем кодирование, чтобы мы знали, перед каким датчиком пламени есть пламя, а перед каким - нет.

Логика кода:

  • Установите контакты A0, A2 и A3 PICO в качестве контактов INPUT
  • Считайте каждое выходное значение датчика
  • Распечатайте выходное значение каждого датчика на последовательном мониторе, чтобы мы могли диагностировать, все ли работает правильно или нет.

Обратите внимание, что наши датчики имеют низкое значение «0», когда они обнаруживают огонь, и высокое значение «1», когда они не обнаруживают огня.

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

Шаг 3: Подключение вентилятора

Подключение вентилятора
Подключение вентилятора

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

Итак, начнем с подключения наших двигателей постоянного тока. Двигатели постоянного тока потребляют большой ток, поэтому мы не можем напрямую подключить их к нашему PICO, так как он может предлагать только 40 мА на вывод GPIO, в то время как двигателю требуется 100 мА. Вот почему мы должны использовать транзистор для его подключения, и мы будем использовать транзистор TIP122, так как мы можем использовать его для повышения тока, обеспечиваемого нашим PICO, до величины, необходимой для двигателя.

Мы собираемся добавить наш двигатель постоянного тока и внешнюю батарею «PLACE HOLDER», чтобы обеспечить двигатель необходимой мощностью, не нанося вреда нашему PICO.

Двигатель постоянного тока следует подключать следующим образом:

  • Базовый штифт (TIP122) → D0 (PICO)
  • Коллекторный штифт (TIP122) → Вывод двигателя постоянного тока «Двигатели постоянного тока не имеют полярности, поэтому не имеет значения, какой вывод»
  • Вывод эмиттера (TIP122) → GND
  • Пустой провод двигателя постоянного тока → Положительный (красный провод) внешней батареи

Не забудьте соединить GND аккумулятора с GND PICO, так как если он не подключен, схема не будет работать вообще

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

Шаг 4: Подключение автомобильных двигателей роботов

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

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

Драйвер двигателя L298N требует 4 цифровых входа для управления направлением вращения двигателей и 2 входа PWM для управления скоростью вращения двигателей. Но, к сожалению, PICO имеет только один выходной вывод ШИМ, который не может контролировать направление и скорость вращения двигателя. Именно здесь мы используем модуль расширения контактов PWM PCA9685, чтобы увеличить PICO PWM в соответствии с нашими потребностями.

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

Начнем с модуля ШИМ PCA9685:

  • Vcc (PCA9685) → Vcc (PICO)
  • ЗЕМЛЯ (PCA9685) → ЗЕМЛЯ
  • SDA ((PCA9685) → D2 (PICO)
  • SCL (PCA9685) → D3 (PICO)

Теперь подключим модуль драйвера двигателя L298N:

Начнем с подключения к нашему источнику питания:

  • +12 (модуль L298N) → положительный красный провод (аккумулятор)
  • GND (модуль L298N) → GND

Для управления направлением вращения двигателей:

  • In1 (модуль L298N) → вывод PWM 0 (PCA9685)
  • In2 (модуль L298N) → ШИМ 1 контакт (PCA9685)
  • In3 (модуль L298N) → 2-контактный ШИМ (PCA9685)
  • In4 (модуль L298N) → 3-контактный ШИМ (PCA9685)

Для управления скоростью вращения двигателя:

  • enableA (модуль L298N) → 4-контактный ШИМ (PCA9685)
  • enableB (модуль L298N) → 5-контактный ШИМ (PCA9685)

Драйвер двигателя L298N может выдавать стабилизированное напряжение +5 вольт, которое мы будем использовать для питания нашего PICO:

+5 (модуль L298N) → Vin (PICO)

Не подключайте этот контакт, если PICO получает питание через USB

Теперь, когда у нас все подключено, мы запрограммируем робота, чтобы он двигался прямо лицом к пламени и включил вентилятор.

Шаг 5: Завершение кода

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

Если он обнаруживает огонь прямо впереди (средний датчик обнаруживает огонь), то робот движется прямо к нему, пока не достигнет установленного расстояния, и включает вентилятор

Если он обнаруживает огонь с правой стороны робота (правый датчик определяет огонь), то робот вращается, пока огонь не окажется прямо перед роботом (средний датчик), затем движется к нему, пока не достигнет установленного расстояния. и включает вентилятор

Если он почувствует огонь в левой части робота, он сделает то же, что и выше. Но он повернет налево, а не направо.

И если он вообще не обнаруживает никакого пожара, все датчики выдадут ВЫСОКОЕ значение, останавливая робота.

Шаг 6: Готово

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

Не стесняйтесь задавать любые вопросы в комментариях или на нашем сайте mellbell.cc. И как всегда продолжайте делать:)

Рекомендуемые: