mactro Napisano Marzec 30, 2011 Udostępnij Napisano Marzec 30, 2011 Część 2 Na forum jest wiele poradników dla początkujących, ten artykuł przedstawia inne podejście do "pierwszego robota". Powstał na bazie doświadczeń z warsztatów edukacyjnych dla szkół średnich i gimnazjów. W kolejnych odcinkach przedstawię krok po kroku budowę robota wykorzystującego moduły Arduino, natomiast w pierwszej części postaram się wyjaśnić dlaczego słynny Waldek światłolub nie jest jedynym sposobem na rozpoczęcie przygody z robotyką. Elektronika/mechanika Dla początkującego robotyka są dwie drogi: 1. Od szczegółu do ogółu 2. Odwrotna 🙂 ad.1 Zaczynasz od zrozumienia działania podstawowych elementów i układów elektronicznych, nie zapominając o podstawach teoretycznych, które pozwalają analizować proste układy z tranzystorami, układy cyfrowe, wzmacniacze operacyjne. Potrzebujesz do tego: - dobrej książki (książek) i studiowania zasobów internetu - garści elementów elektronicznych, drugiej garści, potem pudełka, szafki itd... - podstawowych narzędzi (lutownica, szczypce, ucinaki, śrubokręty, za chwilę wiertarka, za chwilę statyw do niej itd.) - jak masz szczęście to masz to już w domu, jak nie, to będziesz miał wydatki. Minie trochę czasu zanim wyposażysz swój warsztat. - materiały (cyna, kalafonia, wytrawiacz do płytek) - miernik (na początek może być nawet najprostszy) - i co najważniejsze - duuużo czasu na dochodzenie do wszystkiego metodą prób i błędów To jest droga dla wytrwałych, którzy wytrzymają początkowe niepowodzenia. Trzeba przyswoić bardzo wiele informacji, zanim nauczysz się samodzielnie projektować i budować roboty. Wiele osób tak zaczyna, pierwsze próby lub zbyt wolne postępy zniechęcają dużą część... Jeśli wytrwasz, jest to metoda bardzo pouczająca, niekoniecznie tania zważywszy koszt narzędzi i sporo spalonych elementów, wymagająca naprawdę dużo czasu zanim pojawią się zadowalające efekty. ad.2. Zaczynasz od konkretnego pomysłu/projektu - tak żeby mieć widoczny cel do którego dążysz. Niech to będzie cel realny - mały robot jeżdżący po mieszkaniu i samodzielnie omijający przeszkody, line-follower czy sumo są najbardziej w zasięgu. Z pomocą przychodzi Ci fakt, że większość robotów (innych urządzeń/maszyn również) składa się z modułów - bloków odpowiadających za realizowanie konkretnych zadań. Np. sterownik silników odpowiada za sterowanie silnikami. Proste 🙂 Kiedy przyjrzysz mu się uważnie, zobaczysz że ma kilka wejść i wyjść których przeznaczenie jest dość oczywiste nawet dla laika (zwłaszcza po zapoznaniu się z dokumentacją), a co ma w środku..? Hmm, na to pytanie odpowiesz sobie później. Na początku, traktuj każdy moduł jako czarną skrzynkę z wejściami i wyjściami, do których podłączasz inne moduły, silniki i czujniki. W ten sposób Twój robot będzie się składać z kilku elementów, zamiast kilkudziesięciu (-set), i na pewno będziesz dokładnie rozumieć sposób jego działania. Kupując gotowe, dopasowane do siebie moduły będziesz w stanie zbudować w krótkim czasie (dni - tygodni) całkiem zaawansowane konstrukcje. Na rynku dostępnych jest wiele modułowych systemów do budowy robotów amatorskich, zawierają wszystkie potrzebne moduły elektroniczne, mechanikę, napędy i czujniki. Nie ma nic złego w wykorzystywaniu gotowych modułów - oszczędzasz swój czas. Możesz się skupić się na doborze odpowiednich modułów do zadania które Twój robot ma wykonać i napisaniu programu który to wszystko wprawi w ruch. Praca inżyniera w większości przypadków na tym właśnie polega. Czy moduły są droższe? Pozornie tak, ale jeśli będziesz pamiętał o zasadzie „czas to pieniądz”, to odpowiedź nie jest wcale taka oczywista 🙂 W dodatku, moduły mają to do siebie, że są bardzo uniwersalne – będziesz mógł je wykorzystać w swoich kolejnych konstrukcjach. Programowanie W programowaniu, a szczególnie w programowaniu sterowników mikroprocesorowych też możemy podążyć dwiema różnymi drogami: 1. Od szczegółu (architektura mikroprocesora) do ogółu 2. Od ogółu (gotowe biblioteki do obsługi urządzeń lub nawet graficzne środowiska jak LabView ) do szczegółu ad.1 Kupujesz jedną lub więcej książek o programowaniu sterowników mikroprocesorowych, mikroprocesor, garść elementów, programator, płytkę stykową i po jakimś czasie (nie, nie po kilku dniach 🙂) jesteś fachowcem od rejestrów, portów i fuse-bitów. ad.2. Wybierasz język programowania, środowisko i sprzęt dobrze dopasowane do siebie. Ważne żeby moduły robota którego budujesz miały sterowniki (znowu moduły, tym razem programowe 🙂) gotowe do użycia w języku/środowisku który wybrałeś. Dzięki temu nauka programowania może być równie prosta jak budowa modułowego robota. Po opanowaniu podstaw składni języka będziesz w stanie poskładać gotowe moduły programu w działającą całość. Modularność - to słowo jak zaklęcie pojawia się zarówno w konstrukcjach elektroniki, mechaniki jaki i w programowaniu. Dlaczego to takie ważne? Dzięki takiemu podejściu możesz robić szybkie postępy, przechodząc od pojęć ogólnych do drobnych szczegółów. Na początku nie musisz rozgryzać każdej linijki kodu w funkcji obsługującej np. czujnik odległości. Wystarczy ze będziesz wiedzieć co dana funkcja robi i jak jej użyć w Twoim programie, a to jest naprawdę podstawowa wiedza którą przyswoisz sobie już po kilku prostych ćwiczeniach. Podobnie nie musisz wiedzieć jak działa mostek H w sterowniku silnika, żeby skutecznie używać modułu który go zawiera. Oczywiście, jeśli spodoba Ci się robotyka - z pewnością zapragniesz pogłębiać swoją wiedzę. Prędzej czy później gotowe moduły przestaną Ci wystarczać - wtedy będzie czas na przejście do szczegółów i pogłębione studia nad wybraną dziedziną. Ale wtedy będziesz na to gotowy i świadomy tego co chcesz osiągnąć. Cały ten wywód jest naturalnie dość ogólny, zgodnie z przyjęta filozofią, pora więc na trochę szczegółów 🙂 Od czego konkretnie zacząć? Od sterownika Arduino lub dowolnego z dziesiątek jego klonów. Dlaczego? - bo jest modułem 🙂 bardzo szybko rozwijanego na całym świecie systemu - dostępne są setki najróżniejszych modułów dodatkowych, nakładanych na Arduino i na siebie nawzajem na zasadzie kanapki, bez kabli i lutowania - każdy z tych modułów ma dostępne za darmo biblioteki do obsługi programowej - dostępne są również biblioteki do obsługi popularnych czujników, serw, komunikacji radiowej itp. - Arduino ma bardzo szczegółową i przystępnie napisaną dokumentację - Arduino to jednocześnie język programowania oparty o C/C++ i środowisko programisty, wszystko za darmo, na licencji open source - Programy pisane w języku Arduino są bardzo czytelne (podobnie, a moim zdaniem nawet bardziej jak te pisane w Bascomie) - nie jest potrzebny żaden programator ani dodatkowe oprogramowanie – Arduino komunikuje się z PC przez USB,- cały system Arduino jest po prostu stworzony dla początkujących 🙂 chociaż również zaawansowani doceniają szybkość i prostotę tworzenia w tym środowisku. Elementy modułowych konstrukcji robotów na platformie Arduino możesz zobaczyć tutaj , w najbliższym czasie opublikujemy na forum instrukcję budowy robota Arduino/RP5, wraz z kursem programowania Arduino. Część 2 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »