Tytuł: | Skuteczne programowanie LEGO MINDSTORMS Niezawodne techniki programowania dla zabawy i rywalizacji | Autor: | James J. Trobaugh, Mannie Lowe | ISBN: | 978-83-7541-124-9 | Ilość stron: | 234 | Data wydania: | 07/2013 | Oprawa: | Miękka | Format: | 16.8x23.8cm | Wydawnictwo: | Promise | Cena: | 58.80zł |
Skuteczne programowanie LEGO MINDSTORMS stanowi przepustkę do udanego programowania robotów LEGO MINDSTORMS w języku programowania NXT-G, używanym między innymi w zawodach FIRST LEGO League. Książka rozwija zagadnienia omówione w cenionej książce Jamesa Trobaugha na temat fizycznego projektowania robotów: Winning Design!. Ta nowa książka skupia się wyłącznie na stronie programowej robotów MINDSTORMS. Obie pozycje razem dają solidną podstawę do tworzenia robotów LEGO MINDSTORMS, czy to dla zabawy w domu, czy to z przeznaczeniem na zawody drużynowe.
Zbudowanie zwycięskiego robota nie wiąże się jedynie z udanym projektem sprzętowym. Potrzebne są też dobre techniki programistyczne i umiejętność wspólnej pracy w drużynie. Współpraca z innymi członkami drużyny, umiejętności prezentacyjne i planowanie z myślą o ułatwieniu rozwiązywania problemów oraz debugowania to tyko niektóre aspekty składające się na końcowy sukces. Z pracą zespołową wiąże się umiejętność uczenia się i korzystania z osiągnięć innych.
Skuteczne programowanie LEGO MINDSTORMS podkreśla znaczenie wczesnego planowania i analizy realizowanego wyzwania projektowego. Nauczy oceniania możliwych rozwią-zań przez testowanie ich logiki przed przystąpieniem do faktycznego pisania kodu. Zastosowanie technik opisanych w tej książce ułatwi wybranie najlepszej opcji przy pisaniu kodu.
Przeczytanie tej książki pomoże w: • Wykorzystaniu funkcji językowych, takich jak grupa My Blocks (Moje bloki) do tworzenia kodu łatwego do debugowania oraz poprawienia jego czytelności. • Zarządzaniu kodem podczas jego zmieniania i poprawiania, aby móc łatwo śledzić dokonywane zmiany i w razie potrzeby wrócić do poprzedniej wersji. • Unikaniu typowych pułapek programistycznych. • Skutecznym współdziałaniu z członkami drużyny podczas zawodów dowolnego po-ziomu.
Czego się można nauczyć z tej książki: • Pisania dobrze zaplanowanego kodu, który można łatwo modyfikować wraz ze zmieniającym się podejściem do rozwiązania danego zadania. • Lepszej umiejętności obsługi każdego z czujników MINDSTORM NXT. • Planowania programu pod kątem jego debugowania i rozwiązywania problemów. • Pisania programów dających naszej drużynie przewagę w zawodach. • Unikania typowych pułapek programistycznych, które mogą kosztować utratę punktów. • Współpracy z członkami zespołu przy przedstawianiu własnego rozwiązania progra-mowego sędziom na zawodach. • Cennych wskazówek i sztuczek, które można wykorzystać na zawodach robotów i we własnych projektach.
Książka Skuteczne programowanie LEGO MINDSTORMS jest przeznaczona dla osób chcą-cych poprawić swoje umiejętności tworzenia i wdrażania robotów LEGO MINDSTORMS, zachowujących się przewidywalnie i skutecznie podczas wykonywania zadań nawigacyjnych – tak podczas zabawy w domu, jak i na zawodach.
Spis treści:
Rozdział 1 Poznawanie oprogramowania NXT-G Odmiany oprogramowania NXT-G 1 Interfejs użytkownika. 2 Łączenie się z NXT 10 USB . 10 Bluetooth . 11 Oprogramowanie firmowe 11 Podsumowanie . 12
Rozdział 2 Proces projektowania oprogramowania Wybieranie odpowiedniego problemu 13 Definiowanie problemu . 15 Pisanie pseudo-kodu . 16 Znajdowanie możliwych rozwiązań 18 Tworzenie kodu . 18 Testowanie rozwiązania . 20 Podsumowanie . 21
Rozdział 3 Praca z grupą My Blocks Dlaczego korzystać z grupy My Blocks? 23 Podstawy 24 Edytowanie zawartości własnego bloku . 28 Korzystanie z własnego bloku 29 Właściwości własnego bloku . 30 Pojedyncza właściwość 31 Wiele właściwości 35 Udostępnianie wartości 36 Zarządzanie blokami z grupy My Blocks i udostępnianie ich . 36 Zepsute bloki 38 Pack and Go (Pakowanie i przenoszenie) . 39 Podsumowanie . 40
Rozdział 4 Gdy coś pójdzie nie tak Przechodzenie przez kod krok po kroku . 41 Przeglądanie wartości 42 Menu View (Widok) w klocku NXT 42 Bloki do przeglądania wartości 44 Blok alarmowy 47 Rozbijanie kodu na części . 49 Typowe błędy 50 Kończenie obrotu . 50 Ustawienia portów 50 Wartość Duration (Czas trwania) . 50 Środowisko 51 Podsumowanie . 52
Rozdział 5 Przenoszenie danych Połączenia danych . 53 Zmienne 56 Jak to działa 56 Zarządzanie zmiennymi 56 Korzystanie z bloku Variable (Zmienna) 59 Zasięg . 62 Stałe . 64 Definiowanie stałej . 65 Niestandardowa stała . 67 Podsumowanie . 68
Rozdział 6 Podejmowanie inteligentnych decyzji Blok Switch (Przełącznik) 69 Podstawy. 70 Zaawansowane przełączanie 72 Zmienne . 78 Zagnieżdżanie . 81 Blok Logic (Logika) 82 Blok Compare (Porównanie) 84 Blok Range (Zakres) . 86 Podsumowanie . 87
Rozdział 7 Silniki i ruch Obwód koła 89 Programowanie ruchu po prostej 91 Blok Move (Ruch) 91 Blok Motor (Silnik) 92 Blok Reset Motor (Wyzerowanie silnika) . 93 Własne bloki Move . 94 Obracanie robota 98 Blok Move 98 Bloki Motor . 99 Obliczanie zakrętów . 100 Tworzenie niestandardowego bloku MyPivot (Mój obrót) 105 Tworzenie niestandardowego bloku MyTurn (Mój skręt) . 108 Wykrywanie zatrzymania silnika . 108 Podsumowanie 110
Rozdział 8 Wykrywanie światła Czujnik światła NXT . 111 Jak to działa . 112 Światło otoczenia . 113 Światło odbite 113 Kalibracja 113 Blok kalibracyjny NXT-G 115 Plik lokalny 116 Przeglądanie kalibracji 117 Usuwanie kalibracji 118 Podążanie za linią 118 Prosty warunek . 119 Złożony warunek 120 Regulator proporcjonalny 122 Dwa czujniki światła . 123 Wykrywanie linii . 125 Znajdowanie linii 126 Odczytywanie kolorowych linii 128 Wyrównywanie do linii i krawędzi . 128 Podsumowanie 130
Rozdział 9 Dotyk i zderzanie Czujnik dotyku . 131 Korzystanie z czujnika dotyku . 132 Kiedy naciśnięcie nie jest wykrywane? 133 Ustalanie, kiedy skręcić 133 Ustawianie robota 134 Zdalny pomarańczowy przycisk NXT 137 Ogranicznik . 138 Czujnik dotyku jako wskaźnik obecności obiektu . 139 Podsumowanie 139
Rozdział 10 Widzenie ultradźwiękami Jak to działa 141 Korzystanie z czujnika ultradźwiękowego na polu gry . 142 Znajdowanie pobliskich obiektów 144 Podsumowanie 148
Rozdział 11 Programowanie zaawansowane Tablice danych . 149 Maszyny stanów . 151 Programy główne 153 Własne bloki . 154 Prosty program sekwencera . 155 Lepszy sekwencer . 159 Zaawansowany sekwencer 165 Podsumowanie 168
Rozdział 12 Zarządzanie kodem Scenariusz z pojedynczym komputerem . 169 Scenariusz z wieloma komputerami 170 Repozytoria sieciowe 171 Napędy USB 175 Nazwy plików . 175 Pakowanie i przenoszenie 176 Komentarze do kodu 178 Podsumowanie 180
Rozdział 13 Pułapki programistyczne Domyślne ustawienia bloków i programów . 181 Domyślne porty 186 Błąd żółto-pomarańczowy 186 Nieprawidłowe połączenia danych 187 Użycie bloku Stop (Zatrzymanie) zamiast zatrzymania silników 189 Niedopasowanie oprogramowania do sprzętu . 190 Zmienianie jednostek miar 192 Zapominanie, co mieliśmy na myśli . 193 Podsumowanie 194
Rozdział 14 Porady i wskazówki Zrozumienie przepływu programu 195 Zarządzanie przepływem danych . 199 Wskazówki dotyczące debugowania 200 Co mieliśmy na myśli? . 200 Słuchanie robota 201 Zastosowanie wzorców projektowych . 202 Zrozumienie, co napisaliśmy 205 Jak nawigować po programie? 206 Porady sprzętowe 207 Zarządzanie warunkami oświetleniowymi wokół czujnika światła . 207 Unikanie czujników ultradźwiękowych skierowanych wzajemnie na siebie 208 Rozmieszczanie przewodów . 208 Łączenie logiki we własnych blokach . 209 Aktualizowanie oprogramowania firmowego NXT 210 Nie odkrywajmy Ameryki . 210 Podsumowanie 211
Skuteczne programowanie LEGO MINDSTORMS Niezawodne techniki programowania dla zabawy i rywalizacji --- Pozycja niedostępna.---
|