Autor po wstępnych zabawach z Arduino zdecydował, że czas na jakiś kompletny projekt. Zdecydował się wykonać jakiś układ, który porusza się sam. Wybór padł na prosty robot, śledzący ruch w swoim otoczeniu.
Potencjalne aplikacje takiego układu:
• Kamery śledzące ruch
• Roboty świadome swojego otoczenia
• Wieżyczki śledzące ruch
• Projekty edukacyjne
• Roboty omijające przeszkody
Wymagane materiały:
• Płytka prototypowe
• Dalmierze ultradźwiękowe - 2 sztuki
• Serwomechanizm
• Arduino UNO lub podobny moduł
• Zworki kablowe do połączenia elementów
• Karton lub inny materiał do wykonania szkieletu układu
• Bateria 9 V i złącze do niej
• Elementy do wykonania uchwytu serwa
Wymagane narzędzia:
• Pistolet z gorącym klejem
• Nóż tapicerski
• Komputer z środowiskiem Arduino IDE
• Taśma izolacyjna lub podobna taśma klejąca
Krok 1: Montaż sensorów
Pierwszym etapem montażu konstrukcji jest budowa uchwytów do sensorów ultradźwiękowych. Prototyp wykonany został z kartonu, a dalsze plany zakładają nawet druk 3D odpowiednich elementów.
Budową zacząć należy od wycięcia prostokąta o wysokości takiej samej jak jeden sensor i o 3 mm dłuższego niż dwa sensory obok siebie. Następnie należy wyciąć dwa identyczne trójkąty równoramienne o kącie miedzy ramionami około 120°. Kąt ten wynika z faktu, że sensory mają stożek detekcji o kącie rozwarcia równym 15°. Takie nachylenie sensorów względem siebie pozwala zminimalizować martwe pole układu i zoptymalizować obserwowany obszar.
Następnie po zmontowaniu kartonowego szkieletu wycinamy niewielkie prostokątne otwory do montażu sensorów - możliwie niewielkie, aby zagwarantować dobre dopasowanie elementów. W dolnym trójkącie wycinamy otwór na kable. Po zmontowaniu wszystkiego w całość sensory powinny trzymać się w miejscu, jeśli jednak tak nie jest można umocować je klejem.
Po skończonym montażu tego elementu łączymy go z osią serwomechanizmu poruszającego układem.
Krok 2: Podłączenia elektryczne
Teraz trzeba połączyć wszystkie elementy. Powyższy diagram, wykonany w Fritzing, pokazuje jak należy to zrobić, a dalsze zdjęcia prezentują zmontowany układ.
Poniższy program wykorzystuje piny od 9 do 13. Pin 9 kontroluje serwo, 10 i 11 podłączone są do echo i triggera lewego sensora, a 12 i 13 do prawego. Serwo i sensory zasilane są napięciem 5 V z płytki Arduino, poprzez płytkę stykową.
Krok 3: Program
Zaprezentowany poniżej kod pozwala na zmianę progu odległości. Próg ten pozwala na konfigurację tego z jakiej odległości sensory wykrywają przedmioty.
W programie jest kilka ifów przełączanych zmienną logiczną. Jeśli zmienna jest TRUE to program komunikuje się poprzez interfejs szeregowy, co ułatwia debugging. Ustawienie zmiennej na FALSE wyłącza komunikację, co przyspiesza działanie programu.
Zaprezentowany poniżej kod z pliku .ino można skopiować do Arduino IDE, lub pobrać gotowy program.
Program można pobrać także stąd.
Krok 4: Podsumowanie
Gdy do modułu załadujemy program i podłączymy baterię 9 V system zacznie działać i śledzić ruch wszystkiego co pojawi się w ustalonym zasięgu.
Problemy?
• Jeśli sensory kręcą się w złą stronę, trzeba zamienić kabelki z pinów 10 i 11 z tymi z 12 i 134.
• Jeśli sensor nie rusza się w ogóle trzeba sprawdzić czy nic się nie odczepiło - o to bardzo łatwo z płytką stykową.
• Jeśli sensor porusza się powoli, upewnijmy się że debuggowanie jest wyłączone.
• Jeśli układ nadal nie działa trzeba włączyć debuggowanie i zobaczyć czy dalmierze działają. Można też przetestować czy serwomechanizm działa
Plany na przyszłość:
• Poprawa precyzji sensorów z wykorzystaniem termometru
• Druk 3D uchwytu na sensor
• Drugie serwo do ruchu w pionie
• Zamiana serw na silniki krokowe, aby umożliwić śledzenie ruchu w zakresie 360° wokół urządzenia.
Źródło: http://www.instructables.com/id/Motion-Following-Robot/?ALLSTEPS
Potencjalne aplikacje takiego układu:
• Kamery śledzące ruch
• Roboty świadome swojego otoczenia
• Wieżyczki śledzące ruch
• Projekty edukacyjne
• Roboty omijające przeszkody
Wymagane materiały:
• Płytka prototypowe
• Dalmierze ultradźwiękowe - 2 sztuki
• Serwomechanizm
• Arduino UNO lub podobny moduł
• Zworki kablowe do połączenia elementów
• Karton lub inny materiał do wykonania szkieletu układu
• Bateria 9 V i złącze do niej
• Elementy do wykonania uchwytu serwa
Wymagane narzędzia:
• Pistolet z gorącym klejem
• Nóż tapicerski
• Komputer z środowiskiem Arduino IDE
• Taśma izolacyjna lub podobna taśma klejąca
Krok 1: Montaż sensorów
Pierwszym etapem montażu konstrukcji jest budowa uchwytów do sensorów ultradźwiękowych. Prototyp wykonany został z kartonu, a dalsze plany zakładają nawet druk 3D odpowiednich elementów.
Budową zacząć należy od wycięcia prostokąta o wysokości takiej samej jak jeden sensor i o 3 mm dłuższego niż dwa sensory obok siebie. Następnie należy wyciąć dwa identyczne trójkąty równoramienne o kącie miedzy ramionami około 120°. Kąt ten wynika z faktu, że sensory mają stożek detekcji o kącie rozwarcia równym 15°. Takie nachylenie sensorów względem siebie pozwala zminimalizować martwe pole układu i zoptymalizować obserwowany obszar.
Następnie po zmontowaniu kartonowego szkieletu wycinamy niewielkie prostokątne otwory do montażu sensorów - możliwie niewielkie, aby zagwarantować dobre dopasowanie elementów. W dolnym trójkącie wycinamy otwór na kable. Po zmontowaniu wszystkiego w całość sensory powinny trzymać się w miejscu, jeśli jednak tak nie jest można umocować je klejem.
Po skończonym montażu tego elementu łączymy go z osią serwomechanizmu poruszającego układem.
Krok 2: Podłączenia elektryczne
Teraz trzeba połączyć wszystkie elementy. Powyższy diagram, wykonany w Fritzing, pokazuje jak należy to zrobić, a dalsze zdjęcia prezentują zmontowany układ.
Poniższy program wykorzystuje piny od 9 do 13. Pin 9 kontroluje serwo, 10 i 11 podłączone są do echo i triggera lewego sensora, a 12 i 13 do prawego. Serwo i sensory zasilane są napięciem 5 V z płytki Arduino, poprzez płytkę stykową.
Krok 3: Program
Zaprezentowany poniżej kod pozwala na zmianę progu odległości. Próg ten pozwala na konfigurację tego z jakiej odległości sensory wykrywają przedmioty.
W programie jest kilka ifów przełączanych zmienną logiczną. Jeśli zmienna jest TRUE to program komunikuje się poprzez interfejs szeregowy, co ułatwia debugging. Ustawienie zmiennej na FALSE wyłącza komunikację, co przyspiesza działanie programu.
Zaprezentowany poniżej kod z pliku .ino można skopiować do Arduino IDE, lub pobrać gotowy program.
Code: c
Program można pobrać także stąd.
Krok 4: Podsumowanie
Gdy do modułu załadujemy program i podłączymy baterię 9 V system zacznie działać i śledzić ruch wszystkiego co pojawi się w ustalonym zasięgu.
Problemy?
• Jeśli sensory kręcą się w złą stronę, trzeba zamienić kabelki z pinów 10 i 11 z tymi z 12 i 134.
• Jeśli sensor nie rusza się w ogóle trzeba sprawdzić czy nic się nie odczepiło - o to bardzo łatwo z płytką stykową.
• Jeśli sensor porusza się powoli, upewnijmy się że debuggowanie jest wyłączone.
• Jeśli układ nadal nie działa trzeba włączyć debuggowanie i zobaczyć czy dalmierze działają. Można też przetestować czy serwomechanizm działa
Plany na przyszłość:
• Poprawa precyzji sensorów z wykorzystaniem termometru
• Druk 3D uchwytu na sensor
• Drugie serwo do ruchu w pionie
• Zamiana serw na silniki krokowe, aby umożliwić śledzenie ruchu w zakresie 360° wokół urządzenia.
Źródło: http://www.instructables.com/id/Motion-Following-Robot/?ALLSTEPS
Cool? Ranking DIY