Spisu treści:

Czy mogę używać TinyLiDAR w Scratch?: 3 kroki
Czy mogę używać TinyLiDAR w Scratch?: 3 kroki

Wideo: Czy mogę używać TinyLiDAR w Scratch?: 3 kroki

Wideo: Czy mogę używać TinyLiDAR w Scratch?: 3 kroki
Wideo: NIE MOGĘ używać CRAFTINGU w Minecraft HARDCORE! 2024, Listopad
Anonim
Czy mogę używać TinyLiDAR w… Scratch?
Czy mogę używać TinyLiDAR w… Scratch?

Od czasu do czasu otrzymujemy prośby z zapytaniem, czy tinyLiDAR będzie działać na ich konkretnej platformie obliczeniowej. Chociaż tinyLiDAR został zaprojektowany jako prosty w użyciu czujnik LiDAR dla Arduino UNO, nic nie stoi na przeszkodzie, aby był używany na innych platformach, takich jak Raspberry Pi (jak pokazano w poprzedniej instrukcji tutaj). Oznacza to, że jeśli platforma ma magistralę I2C i może obsługiwać funkcję rozciągania zegara specyfikacji I2C. Więc - co jeśli twoja płyta nie obsługuje nawet I2C? - nieważne, jak zegar się rozciąga… Cóż, byłby to trudny scenariusz, ale w rzeczywistości istnieje dla bardzo popularnego wizualnego języka programowania o nazwie „Scratch”.

Wygoogluj go, jeśli nie słyszałeś o tym wcześniej, ale w skrócie, jest to świetny pierwszy język dla każdego, kto może wprowadzić swój umysł w sferę programowania. Scratch został stworzony przez MIT Media Lab i istnieje od ponad 16 lat. Jest to podstawowy język do nauki kodowania dzieci na całym świecie. Każdy może zacząć z niego korzystać za darmo - tak jak zwykle działa na pulpicie w przeglądarce internetowej. Sprawdź to tutaj, jeśli chcesz.

TL; wersja DR

TAK! Z nową funkcją o nazwie „Tryb emulacji ultradźwiękowej” w wersji tinyLiDAR f/w 1.3.9

Krok 1: Co zdrapać?

Obecnie na wolności jest wiele smaków Scratcha. Entuzjaści robotyki mają tendencję do używania wersji skoncentrowanych na GPIO, takich jak ScratchGPIO lub innych zmodyfikowanych wersji, takich jak ScratchX, które mogą być przystosowane do obsługi dowolnego „sprzętu eksperymentalnego”. Wszystkie te są świetne dla zaawansowanych użytkowników, ale główne wersje, które są domyślnie instalowane na pi, będą naszym celem w tej instrukcji, ponieważ mają raczej ograniczone opcje sprzętowe.

Pi's Raspbian Stretch Desktop jest dostarczany z dwiema preinstalowanymi wersjami Scratch. Mianowicie „Scratch” i „Scratch 2”. Będziemy używać pierwszego aka „Scratch 1.4 (NuScratch)” i będziemy go używać „offline”, abyśmy mogli korzystać z funkcji serwera GPIO.

Możesz pobrać oficjalny obraz pulpitu pi tutaj.

Z jakiegoś powodu twórcy Scratcha zdecydowali się obsługiwać tylko kilka najczęściej dostępnych sensorów dużych firm, takich jak Lego itp. Co ciekawe, zdecydowali się również dodać obsługę HC-SR04. Jest to oczywiście wszechobecny ultradźwiękowy czujnik odległości, który po prostu wysyła pojedynczy impuls, który jest proporcjonalny do zmierzonej odległości.

Dokładność pomiaru może się nieco różnić w zależności od temperatury powietrza, wilgotności i materiału docelowego, jak wspomniano tutaj, tutaj i tutaj. Ale ogólnie rzecz biorąc, prawie każda platforma może mierzyć wyjście szerokości impulsu tego urządzenia.

Krok 2: Nowa funkcja

Nowa cecha
Nowa cecha

Wysyłanie dokładnych impulsów w skali mikrosekundowej nie stanowi dla nas problemu na tinyLiDAR, ponieważ mamy wolne zegary sprzętowe o wysokiej rozdzielczości wewnątrz wbudowanego 32-bitowego mikro. tinyLiDAR również zawsze automatycznie kalibruje się pod kątem temperatury podczas uruchamiania, więc żadne dalsze regulacje nie są konieczne dla środowiska operacyjnego.

Zróbmy to

OK – mogliśmy, więc po prostu dodaliśmy nową funkcję do tinyLiDAR (od oprogramowania 1.3.9) o nazwie „Tryb emulacji ultradźwiękowej”. Możesz uzyskać do niego dostęp, używając polecenia „u” ze zaktualizowanego terminala GUI tinyLiDAR.

Użycie go zmieni ustawienia w pamięci nieulotnej, dzięki czemu tinyLiDAR będzie wyglądał jak zwykły czujnik ultradźwiękowy, nawet po wyłączeniu go. Możesz zmienić go z powrotem na normalny tryb I2C, naciskając przycisk resetowania i wydając polecenie „az”. Dalsze szczegóły znajdują się w instrukcji obsługi.

Aby życie było jeszcze prostsze, udostępniamy czujnik tinyLiDAR wstępnie ustawiony dla tego nowego trybu emulacji ultradźwiękowej na naszej stronie internetowej. Wystarczy zamówić wersję "-u".

Spójrz mamo, bez lutowania

Nie ma potrzeby lutowania ani płytki stykowej, ponieważ dołączone kable "Grove to Female 4pin" można podłączyć bezpośrednio do pinów nagłówka Raspberry pi. Sworzeń wyzwalający to żółty przewód, a pin echa to biały przewód. Czarny i czerwony są oczywiście dla władzy. Szczegółowe informacje można znaleźć na powyższym obrazku głównym.

Btw, poszliśmy o krok dalej i sprawiliśmy, że żółty pin zachowywał się jak czujnik PING))), który używa jednego przewodu zarówno dla sygnałów wyzwalacza, jak i echa.

Z tego powodu możesz teraz wykonywać pomiary za pomocą tinyLiDAR przy użyciu domyślnego szkicu ultradźwiękowego „PING”, który jest dostarczany z każdym Arduino IDE bez żadnych zmian w kodzie! Możesz też spróbować bez zwłoki.

Oczywiście możesz ustawić parametry, takie jak wysoka dokładność, duża odległość itp. pomiarów LiDAR przed wybraniem polecenia „u”, a następnie wykona te pomiary za każdym razem, gdy zobaczy spadek pinu wyzwalającego, jak pokazano na powyższym schemacie.

Niebezpieczeństwo, Willu Robinsonie

Zwróć uwagę, że czujnik ultradźwiękowy SR04 wymaga pewnych rezystorów, aby zapobiec uszkodzeniu twojego pi przez zasilanie + 5 V. Ale ponieważ tinyLiDAR działa natywnie z +3.3V, nie ma potrzeby, aby żadne rezystory łączyły się z pi:)

Krok 3: Kodowanie tego

Kodowanie to
Kodowanie to
Kodowanie to
Kodowanie to

Więc jaki dokładnie jest kod, którego potrzebujemy, aby tinyLiDAR działał w Scratchu?

Cieszę się, że zapytałeś!

To tylko kwestia przeciągnięcia kilku prostych bloków transmisji, jak pokazano na powyższych zdjęciach.

Aby włączyć piny GPIO, możemy wydać "broadcast gpioserveron"Następnie, aby skonfigurować pin wyzwalający, wydajemy "broadcast config16out"Następnie możemy skonfigurować pin echo przez "broadcast config26in", a następnie rozpocząć pomiary przez "broadcast ultrasonictrigger16echo26". Spowoduje to, że pomiary będą wykonywane w sposób ciągły w kadencji około 140 ms. Możesz odczytać zmierzone dane za pomocą bloku czujnika „wartość ultradźwiękowego czujnika odległości”.

Cóż, na razie to wszystko, dzięki za przeczytanie i koniecznie sprawdź zabawny mały program demonstracyjny Scratch (udostępniony tutaj), który stworzyliśmy o nazwie „tinyLiDAR_catch_me” i… Scratch On!;)

Zalecana: