Spisu treści:
- Krok 1: Na czym dokładnie polega problem z czujnikami ultradźwiękowymi i mikrokontrolerami?
- Krok 2: Jak to działa?
- Krok 3: Szczegóły techniczne
- Krok 4: Jak wdrożyć?
Wideo: Wykrywaj przeszkody asynchronicznie za pomocą ultradźwięków: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Buduję dla zabawy robota, którym chcę autonomicznie poruszać się w domu.
To długa praca i robię krok po kroku.
Ten instruktażowy koncentruje się na wykrywaniu przeszkód za pomocą Arduino Mega
Czujniki ultradźwiękowe HC-SR04 vs HY-SRF05 są tanie i proste w użyciu, ale mogą być trudne do zintegrowania z pętlą mikrokontrolera w złożonym robocie. Chciałem uruchomić wykrywanie przeszkód w sposób asynchroniczny.
_
Opublikowałem już 3 instrukcje dotyczące funkcji tego robota:
- Zrób swój enkoder koła
- Stwórz swoją bramkę WIFI
- Użyj jednostki modułu inercyjnego
Oraz dokumentacja o połączeniu sztucznej inteligencji i ultradźwięków w lokalizacji robota.
Krok 1: Na czym dokładnie polega problem z czujnikami ultradźwiękowymi i mikrokontrolerami?
Synchroniczne czekanie i ograniczenia Arduino
Kod mikrokontrolera działa w pętli i nie obsługuje wielowątkowości. Czujniki ultradźwiękowe są oparte na czasie trwania sygnału. Czas ten trwa do 30 ms, co jest bardzo długim okresem oczekiwania wewnątrz pętli, gdy mikrokontrolery mają do czynienia z wieloma silnikami i czujnikami (na przykład serwosilniki i silniki prądu stałego z enkoderami kół).
Chciałem więc stworzyć obiekt działający asynchronicznie.
Krok 2: Jak to działa?
Został zaprojektowany dla Atmegi do wykrywania przeszkód. Obsługuje do 4 czujników ultradźwiękowych.
Dzięki okresowej przerwie czasowej system może monitorować do 4 czujników ultradźwiękowych. Kod główny musi tylko określić, który czujnik aktywować z warunkiem i progiem. Główny zostanie przerwany tylko w przypadku pojawienia się (warunek, próg).
Główne funkcje to:
- Alert jest podstawowym wykrywaniem przeszkód i zapewnia przerwanie, jeśli co najmniej 1 z 4 czujników wykryje odległość poniżej progu
- Monitor to rozszerzona funkcja, która zapewnia przerwanie w przypadku kombinacji warunków odległości do 4 czujników. Możliwe warunki są powyżej, poniżej, równe lub nie równe progom.
Krok 3: Szczegóły techniczne
Użyj timera4, aby pin 6 7 8 nie mógł być używany jako PWM.
Dla każdego czujnika obiekt potrzebuje kodu PIN wyzwalacza i kodu PIN przerwania.
W górnej części czujników przerwania PIN-ów obiekt potrzebuje innego przerwania PIN-u do korzystania z oprogramowania.
Krok 4: Jak wdrożyć?
Podłącz czujniki jak powyżej
Pobierz z tego repozytorium GitHub
- Wykrywanie Przeszkód Echo.cpp,
- EchoObstacleDetection.h
- PrzykładEchoObstacleDetection.ino
Utwórz katalog EchoObstacleDetection w swojej bibliotece IDE i przenieś.cpp i.h
Sprawdź to
Otwórz PrzykładEchoObstacleDetection.ino.
Jest to prosty przykład wykrywania przeszkód działający z 2 czujnikami ultradźwiękowymi.
Wyjście kierowane jest na monitor szeregowy. Najpierw wydrukuje odległości wykryte przez 2 czujniki, a następnie wydrukuje alerty w zależności od odległości poniżej progów.
Zalecana:
ROVER WYKRYWAJĄCY PRZESZKODY I UNIKAJĄCY: 3 kroki
Łazik wykrywający i unikający przeszkód: Łazik to pojazd do eksploracji kosmosu zaprojektowany do poruszania się po powierzchni planety lub innego ciała niebieskiego. Niektóre łaziki zostały zaprojektowane do transportu członków załogi lotów kosmicznych; inne były częściowo lub całkowicie autonomicznymi robotami. R
Wykrywacz złodziei za pomocą ultradźwięków i NodeMCU: 5 kroków
Wykrywacz złodziei za pomocą ultradźwięków i NodeMCU: To urządzenie może wykryć złodziei i poinformować o nich. Ponieważ fale ultradźwiękowe nie są widoczne dla człowieka, złodziej nie zdaje sobie z tego sprawy i można go łatwo złapać
Wykrywaj obiekty podczas jazdy samochodem RC: 9 kroków
Wykrywaj obiekty podczas jazdy samochodem RC: Ten projekt dotyczy wykorzystania czujników ultradźwiękowych w samochodzie do wykrywania przeszkód
Czujnik poziomu cieczy (przy użyciu ultradźwięków): 5 kroków
Czujnik poziomu cieczy (przy użyciu ultradźwięków): Czujnik poziomu cieczy wykrywa poziom cieczy z poziomu gruntu. Włącza silnik (wymaga wzmacniacza sterownika silnika) poniżej zadanej wartości i wyłącza go powyżej zadanej wartości po napełnieniu płynem.Cechy tego systemu: Współpracuje z każdym li
Robot wykrywający przeszkody: 3 kroki
Robot wykrywający przeszkody: Mówiąc o platformach mobilnych, możesz wymyślić takie pomysły, jak śledzenie linii, omijanie przeszkód, zapobieganie upadkom, monitorowanie środowiska itp. Dzisiejszy projekt to robot, który wykrywa obiekt i; decyduje, czy podążać za nim, czy go unikać. T