- Требуемый материал:
- Рабочая концепция пожарного робота:
- Принципиальная электрическая схема:
- Программирование вашего Arduino:
- Работа пожарного робота:
По данным Национального бюро регистрации преступлений (NCRB), в 2010-2014 гг. В результате пожаров в Индии погибло более 1,2 миллиона человек. Несмотря на то, что существует множество мер предосторожности при возникновении пожаров, эти природные / техногенные катастрофы действительно происходят время от времени. В случае возникновения пожара для спасения людей и тушения пожара мы вынуждены использовать человеческие ресурсы, которые небезопасны. С развитием технологий, особенно в области робототехники, очень возможно заменить людей роботами для борьбы с огнем. Это повысило бы эффективность пожарных, а также предотвратило бы риск их жизней. Сегодня мы собираемся построить робота-пожарного с использованием Arduino, который автоматически обнаружит огонь и запустит водяной насос.
В этом проекте мы узнаем, как построить на Arduino простого робота, который мог бы двигаться к огню и откачивать воду вокруг себя, чтобы потушить огонь. Это очень простой робот, который научит нас основной концепции робототехники; вы сможете создавать более сложных роботов, если поймете следующие основы. Итак, приступим…
Требуемый материал:
- Arduino UNO
- Датчик пожара или датчик пламени (3 шт.)
- Серводвигатель (SG90)
- Модуль драйвера двигателя L293D
- Погружной насос постоянного тока Mini
- Малая макетная плата
- Шасси робота с моторами (2) и колесами (2) (любого типа)
- Маленькая банка
- Соединительные провода
Купите все перечисленные выше компоненты для пожарного робота Arduino.
Рабочая концепция пожарного робота:
Основной мозг этого проекта - Arduino, но для обнаружения огня мы используем модуль датчика огня (датчик пламени), показанный ниже.
Как видите, у этих датчиков есть ИК-приемник (фотодиод), который используется для обнаружения возгорания. Как это возможно? Когда горит огонь, он излучает небольшое количество инфракрасного света, этот свет будет приниматься ИК-приемником на модуле датчика. Затем мы используем операционный усилитель для проверки изменения напряжения на ИК-приемнике, так что при обнаружении возгорания выходной контакт (DO) будет давать 0 В (НИЗКИЙ), а если пожара нет, выходной контакт будет 5 В (ВЫСОКО).
Итак, мы размещаем три таких датчика в трех направлениях робота, чтобы определять, в каком направлении горит огонь.
Мы определяем направление огня, мы можем использовать двигатели, чтобы двигаться рядом с огнем, управляя нашими двигателями через модуль L293D. Когда рядом с огнем, его приходится тушить водой. Используя небольшой контейнер, мы можем переносить воду, насос 5V также помещается в контейнер, и весь контейнер помещается наверх серводвигателя, чтобы мы могли контролировать направление, в котором должна распыляться вода. Теперь приступим к подключению
Принципиальная электрическая схема:
Полная принципиальная схема этого пожарного робота приведена ниже.
Вы можете либо подключить все показанные соединения для загрузки программы, чтобы проверить работу, либо вы можете полностью собрать бота, а затем продолжить соединения. В обоих случаях соединения очень просты, и у вас должно получиться правильно.
В зависимости от используемого вами роботизированного шасси вы не сможете использовать тот же тип контейнера, который использую я. В этом случае используйте свое собственное творчество для настройки насосной системы. Однако код останется прежним. Я использовал небольшую алюминиевую банку (банка для прохладительных напитков), чтобы установить в нее насос, и налил в нее воду. Затем я собрал всю банку на серводвигателе, чтобы контролировать направление воды. Мой робот выглядит примерно так после сборки.
Как видите, я прикрепил ребро сервопривода к дну контейнера с помощью полученного клея и закрепил серводвигатель с шасси с помощью гаек и болтов. Мы можем просто поставить контейнер на двигатель и запустить насос внутри него, чтобы выкачать воду наружу через трубку. Затем весь контейнер можно вращать с помощью сервопривода для управления направлением воды.
Программирование вашего Arduino:
Когда вы будете готовы со своим оборудованием, вы можете загрузить код Arduino для некоторых действий. Полная программа приводится в конце этой страницы. Однако я объяснил несколько важных моментов здесь.
Как мы знаем, датчик пожара выдает ВЫСОКИЙ уровень при пожаре и низкий уровень при возгорании. Поэтому мы должны постоянно проверять этот датчик, если возникнет пожар. Если пожара нет, мы просим двигатели оставаться остановленными, установив все штифты в высокое положение, как показано ниже
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Если пожар не обнаружен, все датчики обнулены {// Не перемещайте робота digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, ВЫСОКИЙ); digitalWrite (RM2, HIGH); }
Точно так же, если есть пожар, мы можем попросить робота двигаться в этом направлении, вращая соответствующий двигатель. Как только он достигнет огня, левый и правый датчик не обнаружит огонь, так как он будет стоять прямо перед огнем. Теперь мы используем переменную с именем « fire », которая будет выполнять функцию тушения пожара.
else if (digitalRead (Forward_S) == 0) // Если огонь идет прямо вперед {// Двигать робота вперед digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, ВЫСОКИЙ); digitalWrite (RM2, LOW); огонь = правда; }
Как только переменная fire станет истинной, код arduino пожарного робота будет выполнять функцию put_off_fire до тех пор, пока пожар не будет потушен . Это делается с помощью кода ниже.
в то время как (огонь == истина) {put_off_fire (); }
Внутри put_off_fire () нам просто нужно остановить робота, установив все контакты в высокий уровень. Затем включите насос, чтобы вытолкнуть воду из контейнера, пока это будет сделано, мы также можем использовать серводвигатель для вращения контейнера, чтобы вода распределялась равномерно. Это делается с помощью кода ниже
void put_off_fire () {задержка (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, ВЫСОКИЙ); digitalWrite (RM2, HIGH); digitalWrite (насос, ВЫСОКИЙ); задержка (500); для (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); задержка (10); } для (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); задержка (10); } digitalWrite (насос, НИЗКИЙ); myservo.write (90); огонь = ложь; }
Работа пожарного робота:
Рекомендуется проверять производительность робота поэтапно, а не запускать все вместе в первый раз. Вы можете собрать робота до серводвигателя и проверить, может ли он успешно следить за огнем. Затем вы можете проверить, правильно ли работают насос и серводвигатель. Как только все заработает должным образом, вы можете запустить приведенную ниже программу и наслаждаться полной работой робота-пожарного.
Полную работу робота можно посмотреть на видео, приведенном ниже. Максимальное расстояние, на котором может быть обнаружен огонь, зависит от размера огня, для маленькой спички расстояние относительно меньше. Вы также можете использовать потенциометры в верхней части модулей для управления чувствительностью робота. Я использовал блок питания для питания робота, вы можете использовать аккумулятор или даже заряжать его от аккумулятора 12 В.
Надеюсь, вы поняли проект и вам понравится построить что-то подобное. Если у вас возникли проблемы с получением этой сборки, используйте раздел комментариев ниже, чтобы разместить свои запросы, или воспользуйтесь форумом для получения технической помощи.
Загляните в наш раздел робототехники, чтобы найти больше крутых роботов DIY.