Spisu treści:

Głowa pana Wallplate'a obraca się, by Cię śledzić: 9 kroków (ze zdjęciami)
Głowa pana Wallplate'a obraca się, by Cię śledzić: 9 kroków (ze zdjęciami)

Wideo: Głowa pana Wallplate'a obraca się, by Cię śledzić: 9 kroków (ze zdjęciami)

Wideo: Głowa pana Wallplate'a obraca się, by Cię śledzić: 9 kroków (ze zdjęciami)
Wideo: Adam Van Bendler - "Światło w tunelu" | Stand-up | 2020 (English subtitles) 2024, Lipiec
Anonim
Image
Image
Silnik do czujnika
Silnik do czujnika

Jest to bardziej zaawansowana wersja robota Eye Illusion Mr. Wallplate’a https://www.instructables.com/id/Mr-Wallplates-Eye-Illusion. Czujnik ultradźwiękowy pozwala głowie pana Wallplate'a śledzić cię, gdy idziesz przed nim.

Proces można podsumować w następujący sposób. Czujnik najpierw obraca się w kierunku przeciwnym do ruchu wskazówek zegara (w lewo) o 60 stopni, a następnie obraca się w prawo podczas skanowania obiektu znajdującego się bliżej niż 3 stopy. Jeśli nie wykryje niczego przed osiągnięciem 60 stopni w prawo, powtarza skręcanie w lewo, a następnie skanuje, aż wykryje obiekt. Następnie głowa obraca się w jej stronę, czujnik skręca w lewo do lewej granicy (-60 stopni) i ponownie skanuje w prawo. To obracanie głową i skanowanie trwa, dopóki obiekt nie cofnie się o więcej niż 3 stopy lub oddali się zbyt daleko w lewo lub w prawo. Bardziej szczegółowe podsumowanie logiki programu znajduje się w kroku 6.

Ta metoda śledzenia nie jest odpowiednia dla szybko poruszających się obiektów, co widać na filmie. Na samym końcu tego tekstu znajdują się komentarze opisujące inną metodę śledzenia przy użyciu kilku czujników ultradźwiękowych.

Silnik czujnika jest ustawiony na poruszanie się z dość niską prędkością. Próbowałem większych prędkości, ale powodowały gwałtowne ruchy, które nie wyglądały dobrze, a śledzenie nie było dużo szybsze.

Ciekawostką jest to, że czujnik najlepiej sprawdza się w wykrywaniu obiektów o twardych powierzchniach, które dobrze odbijają dźwięk. Obiekt o miękkiej powierzchni, taki jak ktoś ubrany w gruby sweter, może nie zostać w ogóle wykryty, gdy jest zbyt daleko (w moich testach więcej niż około 3 ½ stopy). Kiedy trzymałem przed sobą kawałek tektury falistej około 13”x20” i podszedłem do czujnika, wykrył mnie w odległości około 8 stóp.

Na filmie celowo trzymałem się około 2 ½ stopy oddalając się na bok, aby czujnik i głowa były skierowane w moją stronę. W testach na bliższych odległościach czujnik wskazywał nieco w lewo, bo prawy brzeg pola widzenia czujnika wykrył moje ramię. Pole widzenia to około 25 lub 30 stopni.

Oprogramowanie Mindstorms EV3 na komputerze służy do generowania programu, który jest następnie przesyłany do mikrokontrolera zwanego klockiem EV3. Metoda programowania opiera się na ikonach, wykorzystując bloki programowania, takie jak blok silnika, blok czujnika ultradźwiękowego, blok matematyczny itp. Każdy blok ma opcje i parametry. Jest bardzo łatwy i wszechstronny. Ponadto, do celów testowych, gdy Brick jest podłączony do komputera i program jest uruchomiony, wyświetlacz komputera pokazuje w czasie rzeczywistym kąt każdego silnika i odległość, na jaką czujnik wykrywa obiekt. Co więcej, kursor myszy może być umieszczony w programie nad przewodem danych, a wartość tego przewodu danych (w czasie rzeczywistym) jest wyświetlana w małym oknie obok kursora. (Przewód danych służy do przenoszenia wartości z jednego bloku programowania do drugiego).

Kieszonkowe dzieci

  1. Zestaw LEGO Mindstorms EV3.
  2. Czujnik ultradźwiękowy LEGO Mindstorms EV3. Nie znajduje się w zestawie EV3.
  3. 2 okrągłe, plastikowe pojemniki na wynos o średnicy nie mniejszej niż 6 ¼ cala (16 cm) i wysokości 1 ¾ cala (4 ½ cm). Lub wanna o tej samej średnicy i wysokości około 3 ½ cala również byłaby w porządku.
  4. 4 śruby z płaskim łbem #8 o długości 1 ½ cala (około 4 cm).
  5. 4 nakrętki na śruby.
  6. 2 śruby z okrągłym łbem #6 o długości około ½ cala (1 cm), najlepiej w tym samym kolorze co pojemniki na wynos.

NARZĘDZIA:

  1. Wiertła i wiertła.
  2. Śrubokręt.
  3. Nożyce.

Krok 1: Silnik czujnika

Silnik do czujnika
Silnik do czujnika
Silnik do czujnika
Silnik do czujnika
Silnik do czujnika
Silnik do czujnika

Umieść duży silnik w jednym z pojemników na wynos i zaznacz, gdzie wywiercić 2 otwory na dnie. Moje pojemniki mają okrągłe wgłębienie i postanowiłem zrobić w nim otwory, aby łby śrub nie wystawały i nie chwiały się.

Przymocuj silnik za pomocą 2 śrub przechodzących przez otwory, z 3-otworowymi czarnymi elementami LEGO, które podpierają silnik.

Za pomocą nożyczek wytnij kawałek z tyłu pojemnika, aby zrobić miejsce na kable.

Przymocuj czujnik ultradźwiękowy do silnika za pomocą 3 szarych elementów LEGO, jak pokazano na jednym ze zdjęć.

Krok 2: Silnik do głowy

Silnik do głowy
Silnik do głowy
Silnik do głowy
Silnik do głowy
Silnik do głowy
Silnik do głowy

Najpierw nożyczkami odetnij pionową krawędź drugiego pojemnika na wynos, tak aby pasował do góry nogami na brzeg pierwszego pojemnika. 2 poziome felgi zostaną później przymocowane śrubami, aby dobrze zamocować 2 pojemniki.

Umieść drugi duży silnik na wierzchu odwróconego pojemnika na wynos, z połączeniem kablowym około ½ cala nad krawędzią. Jest to konieczne, aby głowa dobrze pasowała do pojemnika. Zaznacz i wywierć 2 otwory dla 2 najdalszych otworów silnika.

Przymocuj silnik za pomocą 2 śrub przechodzących przez otwory, z 3-otworowymi czarnymi elementami do podparcia silnika.

Za pomocą nożyczek wyciąć kawałek z boku pojemnika, aby zrobić szczelinę o szerokości około 11 cm. Jest to potrzebne, aby czujnik ultradźwiękowy wystawał i poruszał się z boku na bok. Oś silnika powinna być wyrównana ze środkiem szczeliny.

Krok 3: Zmodyfikuj głowę

Zmodyfikuj głowę
Zmodyfikuj głowę
Zmodyfikuj głowę
Zmodyfikuj głowę
Zmodyfikuj głowę
Zmodyfikuj głowę

Weź głowę Mr. Wallplate z „Mr. Wallplate’s Eye Illusion” i zdejmij tylną podstawkę. Można go po prostu ściągnąć.

Nawiązując do jednego ze zdjęć, weź 2 czarne elementy w kształcie litery X i 2 niebieskie elementy, które mają przekrój taki jak „X” na jednym końcu i „O” na drugim końcu. Przymocuj je do dolnego elementu na głowie, jak pokazano. Głowa będzie się na nich ślizgać po pojemniku.

Krok 4: Przymocuj głowicę do silnika

Przymocuj głowicę do silnika
Przymocuj głowicę do silnika
Przymocuj głowicę do silnika
Przymocuj głowicę do silnika
Przymocuj głowicę do silnika
Przymocuj głowicę do silnika

Weź elementy pokazane na pierwszym zdjęciu (oprócz długiego) i połącz je tak, jak pokazano na drugim zdjęciu. Następnie przymocuj go w pobliżu dolnej części głowy, jak pokazano. To podtrzymuje głowę i zapobiega kiwaniu się w górę i w dół.

Przymocuj silnik do otworów pod silnikiem wargowym, używając długiego, szarego elementu o przekroju X. Przesuń element dalej, do wspornika z poprzedniego akapitu, jak pokazano.

Krok 5: Podłącz klocek EV3 Brick do Mr. Wallplate

Podłącz klocek EV3 do Mr. Wallplate
Podłącz klocek EV3 do Mr. Wallplate
Podłącz klocek EV3 do Mr. Wallplate
Podłącz klocek EV3 do Mr. Wallplate

Płaskie kable w zestawie EV3 łączą się z klockiem w następujący sposób:

Port A: 14-calowy (35 cm) kabel do małego silnika wargowego.

Port B: 10-calowy (26 cm) kabel do dużego silnika głowicy.

Port C: 14-calowy (35 cm) kabel do dużego silnika dla czujnika ultradźwiękowego.

Port 4: Najdłuższy kabel do czujnika ultradźwiękowego, z pętlą w pobliżu Brick. Pętla pozwoli czujnikowi lepiej się poruszać.

Sprawdź, czy czujnik jest skierowany prosto z pojemnika. Silnik czujnika można obracać ręcznie. Umieść zespół głowicy na górze pojemnika czujnika tak, aby czujnik wystawał na środku szczeliny. Wywierć 2 otwory prowadzące przez obie krawędzie pojemnika około 1 cala za krawędziami szczeliny. Wkręć 2 śruby przez te otwory, aby dobrze zamocować 2 pojemniki.

Krok 6: Opis programu

Poniżej podsumowano logikę programu. Myślę, że kroki 3 i 6 prawdopodobnie zostałyby wykonane inaczej w programie dla innego systemu, takiego jak Arduino. LEGO Mindstorms EV3 jest bardzo przydatny i łatwy w użyciu, ale istnieją pewne ograniczenia w tym, co można zrobić. Jedynym sposobem skanowania, jaki mogłem znaleźć, było obracanie czujnika o 10 stopni na raz i sprawdzanie, czy obiekt został wykryty.

  1. Inicjalizacja: ustaw zmienne na zero i odczekaj 7 sekund.
  2. Obróć czujnik przeciwnie do ruchu wskazówek zegara (w lewo), do lewego krańca (-60 stopni).
  3. Obróć czujnik o 10 stopni w prawo.
  4. Czy czujnik przesunął się do właściwej granicy (+60 stopni)?
  5. Jeśli tak, sprawdź, czy ktoś został wykryty. Jeśli nie zostanie wykryty, czujnik obraca się o 120 stopni w lewo, a program przechodzi do następnego kroku. Jeśli zostanie wykryty, osoba się oddaliła. Program mówi „Do widzenia”, głowa i czujnik zwracają się do przodu, a program zatrzymuje się.
  6. Wróć do kroku 3, jeśli czujnik nie widzi nic w promieniu 36 cali.
  7. Ten krok jest wykonywany, jeśli czujnik wykryje coś w promieniu 36 cali. Odwróć głowę twarzą do wykrytej osoby. Jeśli nikt wcześniej nie został wykryty, powiedz „Cześć”.
  8. Wróć do kroku 2, aby kontynuować skanowanie. Ale jeśli pętla zostanie powtórzona 20 razy, program przejdzie do następnego kroku.
  9. Powiedz „Koniec gry”. Głowica i czujnik odwracają się do przodu i program zatrzymuje się.

Krok 7: Zbuduj program

Zbuduj program
Zbuduj program
Zbuduj program
Zbuduj program
Zbuduj program
Zbuduj program

LEGO Mindstorms EV3 ma bardzo wygodną metodę programowania opartą na ikonach. Bloki programistyczne są pokazane na dole ekranu i można je przeciągnąć i upuścić do okna kanwy programowania, aby zbudować program. Zbudowałem 4 „Moje Bloki”, które są miniprogramami, jak podprogramy w zwykłych programach. Ułatwiło to zrozumienie logiki głównego programu na zrzucie ekranu.

Nie mogłem dowiedzieć się, jak skonfigurować pobieranie programu dla was, więc załączyłem zrzuty ekranu z programu. Zrzuty ekranu zawierają komentarze opisujące, co robią bloki. Zbudowanie go i/lub zmiana w zależności od potrzeb nie powinno zająć dużo czasu. Zrzuty ekranu są wyświetlane w następującej kolejności:

  1. Główny program.
  2. „Zainicjuj” mój blok.
  3. „Skręć czujnik w lewo do lewego krańca” Mój blok.
  4. „Odwróć głowę” Mój blok.
  5. „Zakończ” mój blok.

Budując ten program, sugerowałbym następujące:

  1. Najpierw zbuduj „Moje bloki”.
  2. Ważne jest, aby pracować od lewej do prawej i powiększać bloki pętli i przełączania przed przeciągnięciem innych bloków do środka. Natknąłem się na kłopotliwe problemy, próbując wstawić dodatkowe bloki do pętli podczas testowania i dopracowywania prawie ukończonego programu.
  3. Większy blok pętli powinien zostać powiększony prawie do prawej krawędzi kanwy programowania, zanim zaczniesz wstawiać bloki. Jest to konieczne, aby mieć dużo miejsca na przeciągnięcie pozostałych bloków do środka. Można go później zmniejszyć.

Krok 8: Pobierz program na klocek EV3 Brick

Klocek EV3 Brick można podłączyć do komputera za pomocą kabla USB, Wi-Fi lub Bluetooth. Gdy jest podłączony i włączony, jest to sygnalizowane w małym oknie w prawym dolnym rogu okna EV3 na komputerze. Kliknięcie odpowiedniej ikony po prawej stronie w prawym dolnym rogu spowoduje pobranie programu do klocka EV3 Brick i natychmiastowe jego uruchomienie.

Po pobraniu klocek EV3 Brick można odłączyć od komputera i uruchomić program na klocku EV3 Brick.

Krok 9: UWAGI KOŃCOWE

To był zabawny projekt i edukacyjny na temat czujnika ultradźwiękowego. Mam nadzieję, że tobie też się spodoba.

Istnieje inne podejście do skanowania: kilka czujników ultradźwiękowych można umieścić obok siebie, rozsuwając się pod kątem około 25 lub 30 stopni od siebie. Głowica mogła obracać się w kierunku dowolnego czujnika, który wykrył obiekt. Ta metoda pozwoliłaby znacznie lepiej wykryć szybko poruszający się obiekt niż metoda opisana w powyższym projekcie. Jednak głowa miałaby tylko niewielką liczbę kierunków, w których byłaby zwrócona. Ta metoda powinna być możliwa z Mindstorms EV3. Klocek ma 4 porty czujników dla maksymalnie 4 czujników ultradźwiękowych (programowanie wymaga przypisania numeru portu do czujnika). Więcej czujników można by pomieścić, łącząc drugi klocek.

Pomysł na zwiększenie liczby pozycji głowy: Jeśli czujniki byłyby zwrócone w odstępie około 20 stopni, pola widzenia nakładałyby się na siebie, a 2 czujniki wykryłyby obiekt w obszarze nakładania się. Głowa mogłaby wtedy być zwrócona w kierunku zachodzenia na siebie. Nie wiem, czy to możliwe; to znaczy, gdyby 2 czujniki mogły wykryć obiekt w nakładającym się obszarze bez zakłócania ich sygnałów.

Zalecana: