Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00104 009826 7505978 na godz. na dobę w sumie
Skuteczne programowanie Lego Mindstorms - ebook/pdf
Skuteczne programowanie Lego Mindstorms - ebook/pdf
Autor: , Liczba stron: 234
Wydawca: Promise Język publikacji: polski
ISBN: 978-8-3754-1197-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> grafika komputerowa >> 3ds max
Porównaj ceny (książka, ebook (-21%), audiobook).
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 poziomu. 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 programowego sędziom na zawodach. • Cennych wskazówek i sztuczek, które można wykorzystać na zawodach robotów i we własnych projektach. Dla kogo jest ta książka 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.
Znajdź podobne książki

Darmowy fragment publikacji:

James J. Trobaugh Mannie Lowe Skuteczne programowanie LEGO MINDSTORMS Przekład Jakub Niedźwiedź APN Promise, Warszawa 2013 ■ ■ ■ Spis treści O autorach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi O recenzencie technicznym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Podziękowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Rozdział 1 Poznawanie oprogramowania NXT-G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 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 . . . . . . . . . . . . . . . . . . . . . . . . . . 13 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 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 v Spis treści 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 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 vi ■ Spis treści ■ Rozdział 7 Silniki i ruch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Czujnik dotyku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Korzystanie z czujnika dotyku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 vii Spis treści 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 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 viii ■ Spis treści ■ Zmienianie jednostek miar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Zapominanie, co mieliśmy na myśli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Rozdział 14 Porady i wskazówki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 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 ix
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Skuteczne programowanie Lego Mindstorms
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: