- Wymagany materiał:
- Koncepcja robocza robota przeciwpożarowego:
- Schemat obwodu:
- Programowanie Arduino:
- Działanie robota gaśniczego:
Według National Crime Records Bureau (NCRB), szacuje się, że ponad 1,2 lakhów zginęło w wyniku pożarów w Indiach w latach 2010-2014. Chociaż istnieje wiele środków ostrożności podejmowanych w przypadku pożarów, te katastrofy naturalne / spowodowane przez człowieka zdarzają się od czasu do czasu. W przypadku wybuchu pożaru, ratując ludzi i gasząc pożar, jesteśmy zmuszeni do korzystania z niezabezpieczonych zasobów ludzkich. Wraz z postępem technologii, zwłaszcza w robotyce, jest bardzo możliwe zastąpienie ludzi robotami do gaszenia ognia. Poprawiłoby to skuteczność strażaków, a także uchroniłoby ich od narażania życia ludzkiego. Dzisiaj zbudujemy robota przeciwpożarowego przy użyciu Arduino, który automatycznie wykryje pożar i uruchomi pompę wodną
W tym projekcie nauczymy się, jak zbudować prostego robota za pomocą Arduino, który mógłby poruszać się w kierunku ognia i pompować wokół niego wodę, aby ugasić pożar. To bardzo prosty robot, który nauczyłby nas podstawowej koncepcji robotyki; będziesz w stanie budować bardziej wyrafinowane roboty, gdy zrozumiesz następujące podstawy. Więc zacznijmy…
Wymagany materiał:
- Arduino UNO
- Czujnik ognia lub czujnik płomienia (3 numery)
- Silnik serwo (SG90)
- Moduł sterownika silnika L293D
- Pompa zanurzeniowa Mini DC
- Mały Breadboard
- Podwozie robota z silnikami (2) i kołami (2) (dowolny typ)
- Mała puszka
- Przewody łączące
Kup wszystkie wymagane komponenty robota przeciwpożarowego Arduino.
Koncepcja robocza robota przeciwpożarowego:
Głównym mózgiem tego projektu jest Arduino, ale aby wykryć pożar, używamy modułu czujnika ognia (czujnik płomienia), który pokazano poniżej.
Jak widać te czujniki mają odbiornik podczerwieni (fotodioda), który służy do wykrywania pożaru. Jak to jest możliwe? Gdy płonie ogień, emituje niewielką ilość światła podczerwonego, które zostanie odebrane przez odbiornik podczerwieni w module czujnika. Następnie używamy wzmacniacza operacyjnego, aby sprawdzić zmianę napięcia na odbiorniku podczerwieni, więc jeśli zostanie wykryty pożar, pin wyjściowy (DO) da 0 V (LOW), a jeśli nie ma ognia, pin wyjściowy będzie miał 5 V (WYSOKI).
Dlatego umieszczamy trzy takie czujniki w trzech kierunkach robota, aby wykryć, w którym kierunku płonie ogień.
Wykrywamy kierunek pożaru, możemy użyć silników do poruszania się w pobliżu pożaru, napędzając nasze silniki przez moduł L293D. W pobliżu ognia musimy go ugasić wodą. Za pomocą małego pojemnika możemy przewozić wodę, w zbiorniku umieszczona jest również pompka 5V, a cały zbiornik umieszczamy na szczycie serwomotoru, dzięki czemu możemy kontrolować kierunek, w którym woda ma być rozpylana. Przejdźmy teraz do połączeń
Schemat obwodu:
Pełny schemat obwodu tego robota przeciwpożarowego przedstawiono poniżej
Możesz albo połączyć wszystkie pokazane połączenia w celu przesłania programu, aby sprawdzić działanie, albo możesz całkowicie zmontować bota, a następnie kontynuować połączenia. Oba sposoby połączenia są bardzo proste i powinieneś być w stanie zrobić to dobrze.
Biorąc pod uwagę podwozie robota, którego używasz, możesz nie być w stanie użyć tego samego typu kontenera, którego używam. W takim przypadku użyj własnej kreatywności, aby skonfigurować system pompowy. Jednak kod pozostanie ten sam. Użyłem małej aluminiowej puszki (puszka zimnych napojów), aby ustawić pompę w środku i wlałem do niej wodę. Następnie zamontowałem całą puszkę na serwomotorze, aby kontrolować kierunek przepływu wody. Mój robot po montażu wygląda mniej więcej tak.
Jak widać, przymocowałem płetwę serwomechanizmu do dna pojemnika za pomocą kleju i przymocowałem serwomotor z podwoziem za pomocą nakrętek i śrub. Możemy po prostu umieścić pojemnik na silniku i uruchomić znajdującą się w nim pompę, aby pompowała wodę na zewnątrz przez rurkę. Cały pojemnik można następnie obracać za pomocą serwomechanizmu, aby kontrolować kierunek przepływu wody.
Programowanie Arduino:
Gdy będziesz gotowy ze sprzętem, możesz przesłać kod Arduino, aby wykonać pewne działanie. Kompletny program jest podany na końcu tej strony. Jednak poniżej wyjaśniłem tutaj kilka ważnych elementów.
Jak wiemy, czujnik przeciwpożarowy wygeneruje WYSOKI, gdy wybuchnie pożar i NISKI, gdy wybuchnie pożar. Musimy więc sprawdzać te czujniki, jeśli doszło do pożaru. Jeśli nie ma ognia, prosimy silniki, aby pozostały zatrzymane, ustawiając wszystkie szpilki wysoko, jak pokazano poniżej
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Jeśli nie wykryto pożaru, wszystkie czujniki są zerowe {// Nie poruszaj robotem digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); }
Podobnie, jeśli wybuchnie pożar, możemy poprosić robota, aby poruszył się w tym kierunku, obracając odpowiedni silnik. Gdy dotrze do ognia, lewy i prawy czujnik nie wykryją pożaru, ponieważ stałby na wprost ognia. Teraz używamy zmiennej o nazwie „ fire ”, która wykonywałaby funkcję odkładania ognia.
else if (digitalRead (Forward_S) == 0) // Jeśli ogień jest na wprost {// Przesuń robota do przodu digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, HIGH); digitalWrite (RM2, LOW); ogień = prawda; }
Gdy zmienna fire stanie się prawdziwa, kod arduino robota przeciwpożarowego będzie wykonywał funkcję put_off_fire, dopóki pożar nie zostanie odłożony. Odbywa się to za pomocą poniższego kodu.
while (fire == true) {put_off_fire (); }
Wewnątrz put_off_fire () musimy tylko zatrzymać robota, ustawiając wszystkie szpilki wysoko. Następnie włącz pompę, aby wypchnąć wodę na zewnątrz zbiornika, podczas gdy to jest zrobione, możemy również użyć silnika serwo, aby obrócić zbiornik, aby woda została równomiernie rozszczepiona. Odbywa się to za pomocą poniższego kodu
void put_off_fire () {opóźnienie (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, HIGH); digitalWrite (RM2, HIGH); digitalWrite (pompa, WYSOKA); opóźnienie (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); opóźnienie (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); opóźnienie (10); } digitalWrite (pompa, LOW); myservo.write (90); ogień = fałsz; }
Działanie robota gaśniczego:
Zaleca się stopniowe sprawdzanie wydajności robota zamiast uruchamiania go razem po raz pierwszy. Możesz zbudować robota do serwomotoru i sprawdzić, czy jest w stanie skutecznie śledzić ogień. Następnie możesz sprawdzić, czy pompa i siłownik działają prawidłowo. Gdy wszystko działa zgodnie z oczekiwaniami, możesz uruchomić poniższy program i cieszyć się pełną pracą robota strażackiego.
Pełną pracę robota można obejrzeć na poniższym filmie. Maksymalna odległość, na jaką można wykryć pożar, zależy od wielkości pożaru, w przypadku małej zapałki odległość ta jest stosunkowo mniejsza. Możesz również użyć potencjometrów znajdujących się na górze modułów, aby kontrolować czułość robota. Do zasilania robota użyłem power banku, możesz użyć baterii lub nawet zasilić baterią 12V.
Mam nadzieję, że zrozumiałeś projekt i chciałbyś zbudować coś podobnego. Jeśli masz jakiekolwiek problemy z uzyskaniem tej kompilacji, skorzystaj z sekcji komentarzy poniżej, aby opublikować swoje pytania lub skorzystaj z forum, aby uzyskać pomoc techniczną.
Sprawdź naszą sekcję robotyki, aby znaleźć więcej fajnych robotów do samodzielnego montażu.