Skocz do zawartości

[Test/recenzja] Dla początkujących - modułowy robot z Arduino


mactro

Pomocna odpowiedź

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

IMG_4d71429d45762164.thumb.jpg.68d3ee810c018a0f986492f3ea54c45d.jpg

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.