Automatyczny robot do czyszczenia podłóg nie jest nową koncepcją. Ale te roboty mają poważny problem. Są bardzo drogie. A co by było, gdybyśmy mogli stworzyć niedrogiego robota do czyszczenia podłóg, który jest tak samo wydajny jak robot dostępny na rynku. Ten robot będzie korzystał z czujnika ultradźwiękowego i będzie unikał przeszkód na swojej drodze. W ten sposób oczyści cały pokój.
(To zdjęcie pochodzi z Circuit Digest)
Jak wykorzystać czujnik ultradźwiękowy do wykonania automatycznego robota do czyszczenia podłóg?
Jak już znamy streszczenie naszego projektu. Zbierzmy więcej informacji, aby rozpocząć pracę.
Krok 1: Zbieranie komponentów
Najlepszym podejściem do rozpoczęcia każdego projektu jest sporządzenie listy kompletnych komponentów na początku i przeprowadzenie krótkiej analizy każdego z nich. Pomaga nam to uniknąć niedogodności w trakcie realizacji projektu. Pełna lista wszystkich komponentów użytych w tym projekcie znajduje się poniżej.
- Podwozie koła samochodu
- Bateria
- Pokaż pędzel
Krok 2: Badanie komponentów
Teraz, gdy mamy już pełną listę wszystkich komponentów, przejdźmy o krok do przodu i krótko przestudiujmy działanie każdego komponentu.
Arduino nano to płytka mikrokontrolera służąca do sterowania lub wykonywania różnych zadań w obwodzie. Spalamy Kod C. na Arduino Nano, aby poinformować płytkę mikrokontrolera, jak i jakie operacje wykonać. Arduino Nano ma dokładnie taką samą funkcjonalność jak Arduino Uno, ale w dość niewielkich rozmiarach. Mikrokontroler na płycie Arduino Nano to ATmega328p.
Arduino Nano
L298N to wysokoprądowy i wysokonapięciowy układ scalony. Jest to podwójny pełny mostek zaprojektowany do akceptowania standardowej logiki TTL. Posiada dwa wejścia umożliwiające niezależne działanie urządzenia. Jednocześnie można podłączyć i obsługiwać dwa silniki. Prędkość silników jest zmieniana za pomocą pinów PWM.
Sterownik silnika L298N
Płytka HC-SR04 to czujnik ultradźwiękowy służący do określania odległości między dwoma obiektami. Składa się z nadajnika i odbiornika. Nadajnik przekształca sygnał elektryczny w sygnał ultradźwiękowy, a odbiornik przetwarza sygnał ultradźwiękowy z powrotem na sygnał elektryczny. Kiedy nadajnik wysyła falę ultradźwiękową, odbija się ona po zderzeniu z określonym obiektem. Odległość jest obliczana na podstawie czasu potrzebnego na przejście sygnału ultradźwiękowego z nadajnika i powrotu do odbiornika.
Czujnik ultradźwiękowy
Krok 3: Montaż komponentów
Skoro już wiemy, jak działają wszystkie komponenty, zmontujmy wszystkie komponenty i zacznijmy tworzyć robota.
Weź podwozie samochodu i zamontuj szczotkę pokazową przed podwoziami. Zamontuj Scotch Brite pod robotem. Upewnij się, że znajduje się tuż za szczotką do butów. Teraz przymocuj małą płytkę stykową na górze podwozi, a za nią przymocuj sterownik silnika. Wykonaj prawidłowe połączenia silników ze sterownikiem silnika i ostrożnie podłącz piny sterownika silnika do Arduino. Zamontuj akumulator za podwoziem. Akumulator zasila sterownik silnika, który zasila silniki. Arduino przejmie również zasilanie ze sterownika silnika. Pin Vcc i masa czujnika ultradźwiękowego zostaną podłączone do 5V i masy Arduino.
Schemat obwodu
Krok 4: Pierwsze kroki z Arduino
Jeśli nie jesteś zaznajomiony z Arduino IDE, nie martw się, ponieważ poniżej wyjaśniono procedurę krok po kroku konfiguracji i używania Arduino IDE z płytą mikrokontrolera.
- Pobierz najnowszą wersję Arduino IDE ze strony Arduino.
- Podłącz płytkę Arduino Nano do laptopa i otwórz panel sterowania. w panelu sterowania kliknij Sprzęt i dźwięk . Teraz kliknij Urządzenia i drukarki. Tutaj znajdź port, do którego jest podłączona płyta mikrokontrolera. W moim przypadku tak COM14 ale jest inaczej na różnych komputerach.
Znajdowanie portu
- Kliknij menu Narzędzia i ustaw tablicę na Arduino Nano.
Tablica nastawcza
- W tym samym menu narzędzi ustaw port na numer portu, który zaobserwowałeś wcześniej w Urządzenia i drukarki .
Ustawianie portu
- W tym samym menu Narzędzia ustaw procesor na ATmega328P (stary program ładujący).
Edytor
- Pobierz załączony poniżej kod i wklej go do swojego Arduino IDE. Kliknij na Przekazać plik przycisk, aby wypalić kod na płycie mikrokontrolera.
Przekazać plik
Kliknij tutaj aby pobrać kod.
Krok 5: Zrozumienie Kodeksu
Kod jest dość dobrze skomentowany i nie wymaga objaśnień. Ale nadal jest to krótko wyjaśnione poniżej.
1. Na początku inicjalizowane są wszystkie piny Arduino, których będziemy używać.
int enable1pin = 8; // Piny dla pierwszego silnika int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Kołki dla drugiego silnika int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Kołki do czujnika ultradźwiękowego const int echoPin = 10; const int buzzPin = 6; długi czas trwania; // Zmienne dla odległości pływającej czujnika ultradźwiękowego;
2. void setup () to funkcja, w której ustawiamy wszystkie piny, które mają być używane jako INPUT lub OUTPUT. W tej funkcji ustawia się również szybkość transmisji. Szybkość transmisji to szybkość, z jaką płytka mikrokontrolera komunikuje się z podłączonymi czujnikami.
void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, WYJŚCIE); pinMode (motor1pin2, WYJŚCIE); pinMode (motor2pin1, WYJŚCIE); pinMode (motor2pin2, WYJŚCIE); }
3. void loop () to funkcja działająca w sposób ciągły w pętli. W tej pętli poinformowaliśmy mikrokontroler, kiedy ma ruszyć do przodu, jeśli w odległości 50 cm nie zostanie znaleziona żadna przeszkoda. Po napotkaniu przeszkody robot skręci ostro w prawo.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); dystans = 0,034 * (czas trwania / 2); if (odległość> 50) // Przesuń do przodu, jeśli nie znaleziono przeszkody {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (odległość<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }
Teraz, gdy omówiliśmy wszystko, czego potrzebujesz, aby stworzyć automatyczny robot do czyszczenia podłóg, ciesz się tworzeniem własnego taniego i wydajnego robota do czyszczenia podłóg.