Spisu treści:

Pomiar odległości za pomocą Micro:bit i sonaru (moduł HC-SR04): 3 kroki (ze zdjęciami)
Pomiar odległości za pomocą Micro:bit i sonaru (moduł HC-SR04): 3 kroki (ze zdjęciami)

Wideo: Pomiar odległości za pomocą Micro:bit i sonaru (moduł HC-SR04): 3 kroki (ze zdjęciami)

Wideo: Pomiar odległości za pomocą Micro:bit i sonaru (moduł HC-SR04): 3 kroki (ze zdjęciami)
Wideo: Arduino - sonary i przerwania 2024, Listopad
Anonim
Wykrywanie odległości za pomocą Micro:bit i sonaru (moduł HC-SR04)
Wykrywanie odległości za pomocą Micro:bit i sonaru (moduł HC-SR04)

W tym tygodniu spędziłem trochę czasu bawiąc się bajecznym BBC micro:bit i czujnikiem dźwiękowym. Wypróbowałem kilka różnych modułów (w sumie ponad 50) i pomyślałem, że byłoby dobrze, więc podziel się moimi wynikami.

Najlepszym modułem, jaki do tej pory znalazłem, jest moduł Sparkfun HC-SR04, mój odebrałem z Kitronik w Wielkiej Brytanii, a w USA są oczywiście dostępne z takich miejsc jak Adafruit (tylko żartuję ze Sparkfun, oto twój link). Powodem, dla którego ten jest najlepszy, jest to, że wydaje się działać przez około 95% czasu na 3V dostarczonym przez BBC micro:bit, gdzie może spaść, gdy masz inne czujniki i wyjścia działające w twojej konfiguracji. Jednak podczas korzystania z wbudowanego wyświetlacza LED na micro:bit prawdopodobnie wszystko będzie dobrze.

Ponieważ po prostu majstrowałem, zamiast osadzić dźwięk w projekcie, użyłem płytki zaciskowej i płytki stykowej, które były zawarte w zestawie startowym micro:bit, który kupiłem od Kitronik w Wielkiej Brytanii.

Krok 1: Konfiguracja sprzętu

Konfiguracja sprzętu
Konfiguracja sprzętu
Konfiguracja sprzętu
Konfiguracja sprzętu

Konfiguracja czujnika ultradźwiękowego jest dość prosta, szczególnie w przypadku czujnika Sparkfun, ponieważ działa on dobrze na 3V. Ma tylko cztery piny. Od lewej do prawej są to VCC, Trig, Echo i GND. VCC i GND są dla zasilania, a Trig, Echo i GND są dla twojego sygnału. Do zestawu sygnału dołączyłem GND, ponieważ jest on potrzebny do linii bazowej. Jednym z moich typowych wczesnych błędów z czujnikami i rzeczami takimi jak inteligentne diody LED było niepodłączenie wszystkich komponentów do wspólnej masy. Dołączyłem zdjęcie i schemat mojej konfiguracji.

Najłatwiejsze piny do użycia na micro:bit to 0, 1 i 2. Więc użyłem 0 dla Trig i 1 dla Echo.

Jeśli okaże się, że nie otrzymujesz odczytów z HC-SR04, może to oznaczać, że nie otrzymuje wystarczającej mocy, jeśli tak jest, możesz dodać zasilanie do modułu, jak pokazano na drugim obrazku. Korzystanie z 3 baterii AA daje 4,5V, co powinno wystarczyć. Podłącz go, jak pokazano tutaj, za pomocą tego wspólnego gruntu. Nie podłączaj jednak 4,5 V do swojego Micro:bit, ponieważ może to zabić!

Krok 2: Konfiguracja oprogramowania

Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania

Micro:bit jest zaprogramowany w przeglądarce, możesz przejść do https://makecode.microbit.org/, aby rozpocząć programowanie czujnika dźwiękowego. Najpierw musisz dodać nowy pakiet do standardowego zestawu. Użyłem pakietu o nazwie Sonar.

Dodaj pakiet Sonar do swoich bloków i skonfiguruj swój kod, jak pokazano na czwartym obrazku.

Tutaj używamy polecenia bargrafu, aby wyświetlić dane czujnika (zmienna o nazwie item). Więcej informacji o bargrafie można znaleźć tutaj: https://makecode.microbit.org/reference/led/plot-… Chociaż o dziwo musiałem spojrzeć na kod na GitHubie, aby dowiedzieć się, że pozostawienie dolnej wartości na 0 pozwala na automatyczne dopasowanie. Możesz to zmienić, aby ustawić maksymalny punkt, który chcesz zmierzyć. Poda dane w liczbach całkowitych (całkowitych) oraz w wybranych przez Ciebie jednostkach. Uważam, że blok sonaru wykonuje za nas obliczenia konwersji. Odkryłem, że przełączając się na drukowanie danych z czujnika na ekranie (jak pokazano na piątym obrazie), mogłem wyczuć odległości, które chciałem zmierzyć i dla których kodować. Jeśli będziesz podążać dalej, zauważysz, że istnieje wiele wartości zerowych, które powodują migotanie wykresu słupkowego lub inne dane wyjściowe. Pomyślałem, że najłatwiej jest je odfiltrować za pomocą instrukcji if (znaleziono w logice). Był to również najłatwiejszy sposób, w jaki znalazłem pracę z diodami LED, takimi jak NeoPixels. Przykład tego jest pokazany na szóstym obrazie tutaj.

Krok 3: Dodaj więcej diod LED Znajdź projekt

Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!
Dodaj więcej diod LED Znajdź projekt!

Fajnie jest mieć wyjście LED bezpośrednio na płytce, ale aby czujnik był nieco bardziej użyteczny, użyłem kilku wersji z zewnętrznymi diodami LED. Niektóre obrazy i kod znajdują się poniżej. Do tego potrzebowałem dodatkowych pinów, więc tabliczka zaciskowa złącza Kitronik Edge była naprawdę przydatna!

Konfigurując tablicę jak na pierwszym obrazku, postanowiłem stworzyć coś w rodzaju systemu sygnalizacji świetlnej, gdy coś się zbliży. Zielona dioda LED jest na dobre, bursztynowa, aby zbliżyć się do kumpla, a czerwona jest teraz zbyt blisko, a może się wycofasz. Zastanawiam się, czy może to być dobre praktyczne zastosowanie do krótkich przejazdów na rowerze. Połączenie z wyświetlaczem z przodu motocykla zapewniłoby kierowcom dobrą wizualną informację zwrotną, czy ich przepustka jest w porządku. Odległości uległyby zmianie w prawdziwym przykładzie, ponieważ 12-calowy przejazd przez rowerzystę nie jest w porządku!

Zalecana: