- Необхідний матеріал:
- Робоча концепція протипожежного робота:
- Кругова діаграма:
- Програмування вашого Arduino:
- Робота протипожежного робота:
За даними Національного бюро кримінальних справ (NCRB), підраховано, що внаслідок пожежних аварій в Індії з 2010-2014 років загинуло понад 1,2 тисячі смертей. Незважаючи на те, що внаслідок пожежних аварій вживається багато запобіжних заходів, ці природні / техногенні катастрофи трапляються час від часу. У разі пожежі для порятунку людей та ліквідації пожежі ми змушені використовувати небезпечні людські ресурси. З розвитком технологій, особливо в робототехніці, дуже можливо замінити людей роботами для боротьби з вогнем. Це покращило б ефективність роботи пожежників, а також завадило б їм ризикувати людськими життями. Сьогодні ми збираємося створити протипожежного робота за допомогою Arduino, який автоматично буде відчувати вогонь і запускати водяний насос
У цьому проекті ми дізнаємося, як створити простого робота за допомогою Arduino, який міг би рухатись до вогню та закачувати воду навколо нього, щоб загасити вогонь. Це дуже простий робот, який навчить нас основній концепції робототехніки; Ви зможете створити більш досконалі роботи, як тільки ви зрозумієте наступні основи. Тож давайте почнемо…
Необхідний матеріал:
- Arduino UNO
- Датчик пожежі або датчик полум'я (3 Nos)
- Сервомотор (SG90)
- Модуль драйвера двигуна L293D
- Міні занурювальний насос постійного струму
- Малий макет
- Шасі робота з двигунами (2) та колесами (2) (будь-який тип)
- Маленька банка
- Підключення проводів
Придбайте всі вищезазначені необхідні компоненти для робота протипожежного робота Arduino.
Робоча концепція протипожежного робота:
Головним мозком цього проекту є Arduino, але для того, щоб відчути вогонь, ми використовуємо модуль датчика пожежі (датчик полум'я), який показано нижче.
Як бачите, ці датчики мають ІЧ-приймач (фотодіод), який використовується для виявлення пожежі. Як це можливо? Коли вогонь горить, він випромінює невелику кількість інфрачервоного світла, це світло буде отримуватися ІЧ-приймачем на модулі датчика. Потім ми використовуємо підсилювач Op-A для перевірки на зміну напруги на ІЧ-приймачі, так що при виявленні пожежі вихідний штифт (DO) видаватиме 0 В (НИЗЬКИЙ), а якщо немає пожежі, вихідний штифт буде 5 В ВИСОКО).
Отже, ми розміщуємо три таких датчика в трьох напрямках робота, щоб відчути, в якому напрямку горить вогонь.
Ми виявляємо напрямок вогню, за допомогою якого ми можемо рухатись поблизу вогню, рухаючи наші двигуни через модуль L293D. Коли біля вогню ми маємо тушити його водою. За допомогою невеликого контейнера ми можемо перевозити воду, в контейнер також поміщається насос 5 В, а весь контейнер розміщується поверх сервомотора, щоб ми могли контролювати напрямок, в якому вода повинна розпорошуватися. Приступимо до з'єднань зараз
Кругова діаграма:
Повна принципова схема цього пожежного робота наведена нижче
Ви можете або підключити всі показані з'єднання для завантаження програми, щоб перевірити роботу, або ви можете повністю зібрати бота, а потім продовжити з'єднання. В обох напрямках з'єднання дуже прості, і ви повинні мати змогу це правильно зробити.
На основі роботизованого шасі, яким ви користуєтесь, можливо, ви не зможете використовувати той самий тип контейнера, що і я. У цьому випадку використовуйте власну творчість для налаштування насосної системи. Однак код залишиться незмінним. Я використав невелику алюмінієву банку (банку для прохолодних напоїв), щоб встановити насос всередині неї і залив воду всередину. Потім я зібрав цілу банку поверх сервомотора, щоб контролювати напрямок води. Мій робот виглядає приблизно так після складання.
Як бачите, я закріпив серворебро на дні контейнера за допомогою отриманого клею і закріпив сервомотор з шасі за допомогою гайок і болтів. Ми можемо просто розмістити ємність на вершині двигуна і запустити насос всередині нього, щоб викачувати воду назовні через трубку. Потім весь контейнер можна обертати за допомогою сервопривода для контролю напрямку води.
Програмування вашого Arduino:
Коли ви будете готові до свого обладнання, ви можете завантажити код Arduino для певних дій. Повна програма наводиться в кінці цієї сторінки. Однак я далі пояснив тут кілька важливих фрагментів.
Як ми знаємо, пожежний датчик видаватиме ВИСОКИЙ, коли буде пожежа, і виводитиме НИЗКИЙ, коли буде пожежа. Тому ми повинні продовжувати перевіряти цей датчик, якщо сталася пожежа. Якщо пожежі немає, ми просимо двигуни зупинитися, зробивши всі штирі високими, як показано нижче
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Якщо пожежа не виявлена, всі датчики дорівнюють нулю {// Не переміщуйте робота digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Подібним чином, при пожежі ми можемо попросити робота рухатися в цьому напрямку, обертаючи відповідний двигун. Як тільки він досягне пожежі, лівий та правий датчик не виявлять пожежу, оскільки стоять прямо перед пожежею. Тепер ми використовуємо змінну з назвою « пожежа », яка буде виконувати функцію для припинення пожежі.
else if (digitalRead (Forward_S) == 0) // Якщо Вогонь прямо вперед {// Переміщення робота вперед digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); вогонь = істина; }
Як тільки змінна пожежа стане істинною, робот-код пожежогасіння arduino виконуватиме функцію put_off_fire, поки пожежа не буде припинена. Це робиться за допомогою коду нижче.
while (fire == true) {put_off_fire (); }
Всередині put_off_fire () нам просто потрібно зупинити робота, зробивши всі шпильки високими. Потім увімкніть насос, щоб виштовхнути воду за межі контейнера, тоді як це зроблено, ми також можемо використовувати сервомотор для обертання контейнера так, щоб вода рівномірно розподілялася. Це робиться за допомогою коду нижче
void put_off_fire () {затримка (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (насос, ВИСОКИЙ); затримка (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); затримка (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); затримка (10); } digitalWrite (насос, НИЗЬКИЙ); myservo.write (90); вогонь = помилковий; }
Робота протипожежного робота:
Рекомендується перевіряти результати роботи робота поетапно, а не запускати це все разом вперше. Ви можете побудувати робота до сервомотора і перевірити, чи він здатний успішно стежити за вогнем. Потім ви можете перевірити, чи працює насос та сервомотор належним чином. Як тільки все запрацює, як очікувалося, ви можете запустити наведену нижче програму та насолодитися повною роботою робота-пожежника.
Повну роботу робота можна знайти на відео, поданому нижче. Максимальна відстань, до якої можна виявити пожежу, залежить від величини пожежі, для невеликого сірника відстань порівняно менша. Ви також можете використовувати потенціометри поверх модулів для управління чутливістю робота. Я використовував блок живлення для живлення робота, ви можете використовувати акумулятор або навіть живити його за допомогою акумулятора 12 В.
Сподіваюся, ви зрозуміли проект і вам сподобається будувати щось подібне. Якщо у вас виникли проблеми з отриманням цієї збірки, використовуйте розділ коментарів нижче, щоб опублікувати свої запити або скористатися форумами для отримання технічної допомоги.
Ознайомтеся з нашим розділом робототехніки, щоб знайти більше цікавих роботів "зроби сам"