Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
Ta instrukcja wyjaśnia, jak określić lokalizację obiektu za pomocą Arduino, dwóch czujników ultradźwiękowych i wzoru Herona na trójkąty. Brak ruchomych części.
Wzór Herona pozwala obliczyć pole dowolnego trójkąta, którego wszystkie boki są znane. Znając pole trójkąta, możesz obliczyć położenie pojedynczego obiektu (w stosunku do znanej linii bazowej) za pomocą trygonometrii i Pitagorasa.
Dokładność jest doskonała. Duże obszary wykrywania są możliwe dzięki powszechnie dostępnym czujnikom ultradźwiękowym HC-SR04 lub HY-SRF05.
Konstrukcja jest prosta… wystarczy ostry nóż, dwie wiertarki, lutownica i piła do drewna.
Obrazy
- Klip wideo przedstawia pracę urządzenia.
- Zdjęcie 1 przedstawia zmontowany „lokalizator echa”
- Zdjęcie 2 pokazuje typowy wyświetlacz. Obiektem jest czerwona (migająca) kropka.
- Zdjęcie 3 pokazuje konfigurację testu wideo. Konieczne było umieszczenie dwóch czujników ultradźwiękowych HY-SRF05 50 cm poniżej linii bazowej, aby całkowicie „oświetlić” obszar detekcji dźwiękiem.
Krok 1: Schemat połączeń
Zdjęcie 1 przedstawia schemat połączeń dla „dwuczujnikowego lokalizatora echa”.
Czujnik B staje się „pasywny” poprzez umieszczenie kilku warstw taśmy maskującej na przetworniku transmisyjnym (T). Ta taśma blokuje dźwięk ultradźwiękowy, który w innym przypadku byłby emitowany.
Krok 2: Lista części
Jak pokazano na zdjęciu1, do wykonania tego projektu potrzeba bardzo niewielu części:
Następujące części uzyskano z
- 1 tylko Arduino Uno R3 w komplecie z kablem USB
- 2 tylko przetworniki ultradźwiękowe HY-SRF05 lub HC-SR04
Lokalnie pozyskano następujące części:
- 1 tylko męski pasek nagłówka arduino
- 2 tylko żeńskie paski nagłówka arduino
- 2 tylko kawałki złomu aluminium
- 2 tylko małe kawałki drewna
- 2 tylko małe śruby
- 3 tylko opaski kablowe
- 4 tylko długości drutu powlekanego tworzywem sztucznym (różne kolory) [1]
Notatka
[1]
Całkowita długość każdego przewodu powinna być równa żądanej odległości między czujnikami plus niewielka ilość do lutowania. Druty są następnie skręcane razem, tworząc kabel.
Krok 3: Teoria
Wzory wiązki
Zdjęcie 1 pokazuje nakładające się wzory wiązki dla przetwornika A i przetwornika B.
Czujnik A odbierze echo od dowolnego obiektu w „czerwonym obszarze”.
Czujnik B odbierze echo tylko wtedy, gdy obiekt znajduje się w „fioletowym obszarze”. Poza tym obszarem nie ma możliwości określenia współrzędnych obiektu. [1]
Duże „fioletowe” obszary wykrywania są możliwe, jeśli czujniki są szeroko rozstawione.
Obliczenia
W odniesieniu do zdjęcia 2:
Pole dowolnego trójkąta można obliczyć ze wzoru:
powierzchnia=podstawa*wysokość/2 …………………………………………………………………………. (1)
Przestawianie równania (1) daje nam wysokość (współrzędną Y):
wysokość=powierzchnia*2/podstawa …………………………………………………………………………. (2)
Jak dotąd tak dobrze… ale jak obliczyć powierzchnię?
Odpowiedzią jest rozmieszczenie dwóch przetworników ultradźwiękowych w znanej odległości (linia bazowa) i zmierzenie odległości każdego czujnika od obiektu za pomocą ultradźwięków.
Zdjęcie 2 pokazuje, jak jest to możliwe.
Przetwornik A wysyła impuls, który odbija się od obiektu we wszystkich kierunkach. Impuls ten jest słyszalny zarówno przez przetwornik A, jak i przetwornik B. Żaden impuls nie jest wysyłany z przetwornika B… tylko nasłuchuje.
Droga powrotna do przetwornika A jest pokazana na czerwono. Po podzieleniu przez dwa i uwzględnieniu prędkości dźwięku, możemy obliczyć odległość „d1” ze wzoru: [2]
d1 (cm) = czas (mikrosekundy)/59 ………………………………………………………(3)
Ścieżka do przetwornika B jest pokazana na niebiesko. Jeśli odejmiemy odległość „d1” od tej długości ścieżki, otrzymamy odległość „d2”. Wzór na obliczenie „d2” to: [3]
d2 (cm) = czas (mikrosekundy/29,5 – d1 ………………………………………….. (4)
Mamy teraz długość wszystkich trzech boków trójkąta ABC… wpisz „Czapla”
Formuła Herona
Wzór Herona wykorzystuje coś, co nazywa się „półobwodem”, w którym dodajesz każdy z trzech boków trójkąta i dzielisz wynik przez dwa:
s=(a+b+c)/2 …………………………………………………………………………………. (5)
Powierzchnia może być teraz obliczona według następującego wzoru:
powierzchnia=sqrt(s*(s-a)*(s-b)*(s-c)) ……………………………………………………. (6)
Gdy znamy obszar, możemy obliczyć wysokość (współrzędną Y) z równania (2) powyżej.
Pitagoras
Współrzędną X można teraz obliczyć, upuszczając prostopadłą z wierzchołka trójkąta do linii bazowej, aby utworzyć trójkąt prostokątny. Współrzędną X można teraz obliczyć za pomocą Pitagorasa:
c1 = sqrt(b2 - h2) ………………………………………………………………………….. (7)
Uwagi
[1]
Obszar docelowy można całkowicie „oświetlić” dźwiękiem, umieszczając czujniki poniżej linii bazowej.
[2]
Wartość 59 dla stałej jest wyprowadzana w następujący sposób:
Prędkość dźwięku wynosi około 340 m/s, czyli 0,034 cm/uS (centymetry/mikroceonę).
Odwrotność 0,034cm/uS wynosi 29,412uS/cm, co po pomnożeniu przez 2, aby uwzględnić drogę powrotną, daje 58,824 lub 59 po zaokrągleniu.
Wartość tę można regulować w górę/w dół, aby uwzględnić temperaturę powietrza, wilgotność i ciśnienie.
[3]
Wartość 29,5 dla stałej jest wyprowadzana w następujący sposób:
Nie ma ścieżki powrotnej, więc używamy 29,5, co stanowi połowę wartości użytej w [2] powyżej.
Krok 4: Budowa
Wsporniki montażowe
Dwa wsporniki montażowe zostały wykonane z blachy aluminiowej o grubości 20 przy użyciu metody opisanej w moim instruktażowym
Wymiary dla moich wsporników są pokazane na zdjęciu 1.
Dwa otwory oznaczone jako „linia bazowa” służą do mocowania sznurka do każdego czujnika. Po prostu zwiąż sznurek w wymaganym odstępie, aby ułatwić konfigurację.
Gniazda czujników
Gniazda czujników (zdjęcie 2) zostały ukształtowane ze standardowych gniazd nagłówkowych Arduino.
Wszystkie niechciane piny zostały wyciągnięte i wywiercony 3mm otwór w plastiku.
Podczas lutowania połączeń należy uważać, aby nie zwierać przewodów do aluminiowego wspornika.
Odciążenia przewodów
Mały kawałek rurki termokurczliwej na każdym końcu kabla zapobiega rozplątywaniu się przewodów.
Zastosowano opaski kablowe, aby zapobiec niepożądanemu ruchowi kabla.
Krok 5: Instalacja oprogramowania
Zainstaluj następujący kod w tej kolejności:
IDE Arduino
Pobierz i zainstaluj Arduino IDE (zintegrowane środowisko programistyczne) z https://www.arduino.cc/en/main/software, jeśli nie zostało jeszcze zainstalowane.
Przetwarzanie 3
Pobierz i zainstaluj Processing 3 z
Szkic Arduino
Skopiuj zawartość załączonego pliku „dual_sensor _echo_locator.ino” do „szkicu” Arduino, zapisz, a następnie prześlij go do Arduino Uno R3.
Zamknij Ardino IDE, ale pozostaw podłączony kabel USB.
Przetwarzanie szkicu
Skopiuj zawartość załączonego pliku „dual_sensor_echo_locator.pde” do przetwarzania „Szkic”.
Teraz kliknij lewy górny przycisk „Uruchom”… na ekranie powinien pojawić się ekran graficzny.
Krok 6: Testowanie
Podłącz kabel Arduino USB do komputera, Uruchom „dual_sensor_echo_locator.pde”, klikając przycisk uruchamiania „w lewym górnym rogu” w IDE Processing 3 (zintegrowane środowisko programistyczne).
Liczby oddzielone przecinkiem powinny zacząć płynąć w dół ekranu, jak pokazano na zdjęciu1.
Komunikat o błędzie podczas uruchamiania
Podczas uruchamiania może pojawić się komunikat o błędzie.
Jeśli tak, zmień [0] w wierszu 88 zdjęcia 1, aby odpowiadało numerowi powiązanemu z twoim portem „COM”.
W zależności od systemu może być wyświetlonych kilka portów „COM”. Jedna z liczb zadziała.
Na zdjęciu 1 numer [0] jest powiązany z moim „COM4”.
Pozycjonowanie czujników
Rozstaw czujniki w odległości 100 cm od obiektu znajdującego się 100 cm z przodu.
Obracaj powoli oba czujniki w kierunku przeciwległego po przekątnej rogu wyimaginowanego kwadratu o długości 1 metra.
Obracając czujniki, znajdziesz pozycję, w której na wyświetlaczu graficznym pojawi się migająca czerwona kropka.
Dodatkowe dane pojawią się również (zdjęcie 2), gdy czujniki zlokalizują Twój obiekt:
- odległość1
- odległość2
- linia bazowa
- zrównoważyć
- półobwodu
- powierzchnia
- Współrzędna X
- Współrzędna Y
Krok 7: Wyświetlacz
Wyświetlacz został napisany przy użyciu Processing 3 … pokazana jest linia bazowa 100 cm.
Zmiana linii bazowej
Zmieńmy naszą linię bazową ze 100cm na 200cm:
Zmień „liczba bazowa zmiennoprzecinkowa = 100;” w nagłówku Przetwarzanie, aby przeczytać „float Baseline = 200;”
Zmień etykiety „50” i „100” w procedurze przetwarzania „draw_grid()” na „100” i „200”.
Zmiana przesunięcia
Większe obszary docelowe mogą być monitorowane, jeśli umieścimy czujniki poniżej linii bazowej.
Zmienna „Offset” w nagłówku Processing musi zostać zmieniona, jeśli zdecydujesz się to zrobić.
Kliknij tutaj, aby wyświetlić inne moje instrukcje.
Zalecana:
Zrób tok obrotowy z dwoma silnikami: 10 kroków (ze zdjęciami)
Zrób tok obrotowy z dwoma silnikami: Na początku zawsze chciałem mieć gramofon strzelecki, a ostatnio odkryłem, że były dwa bezczynne motoreduktory. Zastanawiałem się więc, czy mógłbym zrobić z nimi obrotnicę. Bez dalszych ceregieli spróbuję! Zasada: redukcja r
DIY miniaturowy lokalizator słoneczny: 5 kroków (ze zdjęciami)
DIY Miniature Solar Tracker: W tym projekcie pokażę, jak stworzyć solar tracker, który jak sama nazwa wskazuje, może śledzić ruch słońca przez cały dzień. A na koniec pokażę Ci różnicę w pozyskiwaniu energii między panelem słonecznym montowanym na trackerze słonecznym
Multipleksowany lokalizator echa: 6 kroków
Multipleksowany lokalizator echa: a.articles {font-size: 110,0%; grubość czcionki: pogrubiona; styl czcionki: kursywa; dekoracja tekstu: brak; background-color: red;} a.articles:hover {background-color: black;} Ta instrukcja opisuje, jak zrobić „skanujący” lokalizator echa za pomocą Ard
Zbuduj zmotoryzowany lokalizator drzwi stodoły: 6 kroków (ze zdjęciami)
Zbuduj zmotoryzowany lokalizator drzwi stodoły…:…strzelaj do gwiazd, planet i innych mgławic za pomocą kamery, która jest. Bez Arduino, bez silników krokowych, bez kół zębatych, tylko prosty silnik obracający pręt gwintowany, ten tracker do drzwi stodoły obraca kamerę dokładnie w tym samym tempie, co obrót naszej planety, a
Lokalizator Arduino Geocache: 14 kroków (ze zdjęciami)
Arduino Geocache Locator: Arduino Geocache Locator to małe urządzenie, które umożliwia programowanie w lokalizacjach GPS, a następnie możesz użyć diod LED na górze jako narzędzia nawigacyjnego, aby dotrzeć do swojej lokalizacji. Uwielbiam robić prezenty dla członków mojej rodziny na Boże Narodzenie, szczególnie dla mojej