Skuteczne programowanie Lego Mindstorms
Skuteczne programowanie LEGO MINDSTORMS stanowi przepustkę do udanego programo-wania
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 ce-nionej 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 plano-wania 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.
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,
za-chowujących się przewidywalnie i skutecznie podczas wykonywania zadań nawigacyjnych
– tak podczas zabawy w domu, jak i na zawodach.
O autorach 
O recenzencie technicznym 
Podziękowania
Wprowadzenie 
Rozdział 1. Poznawanie oprogramowania NXT-G 
Odmiany oprogramowania NXT-G 
Interfejs użytkownika
Łączenie się z NXT
USB 
Bluetooth
Oprogramowanie firmowe 
Podsumowanie 
Rozdział 2. Proces projektowania oprogramowania 
Wybieranie odpowiedniego problemu 
Definiowanie problemu 
Pisanie pseudo-kodu 
Znajdowanie możliwych rozwiązań
Tworzenie kodu 
Testowanie rozwiązania
Podsumowanie 
Rozdział 3. Praca z grupą My Blocks 
Dlaczego korzystać z grupy My Blocks?
Podstawy
Edytowanie zawartości własnego bloku
Korzystanie z własnego bloku
Właściwości własnego bloku 
Pojedyncza właściwość 
Wiele właściwości
Udostępnianie wartości 
Zarządzanie blokami z grupy My Blocks i udostępnianie ich 
Zepsute bloki 
Pack and Go (Pakowanie i przenoszenie)
Podsumowanie 
Rozdział 4. Gdy coś pójdzie nie tak
Przechodzenie przez kod krok po kroku 
Przeglądanie wartości 
Menu View (Widok) w klocku NXT
Bloki do przeglądania wartości 
Blok alarmowy
Rozbijanie kodu na części 
Typowe błędy
Kończenie obrotu 
Ustawienia portów 
Wartość Duration (Czas trwania) 
Środowisko
Podsumowanie 
Rozdział 5. Przenoszenie danych
Połączenia danych 
Zmienne 
Jak to działa
Zarządzanie zmiennymi 
Korzystanie z bloku Variable (Zmienna) 
Zasięg 
Stałe 
Definiowanie stałej 
Niestandardowa stała
Podsumowanie 
Rozdział 6. Podejmowanie inteligentnych decyzji
Blok Switch (Przełącznik)
Podstawy
Zaawansowane przełączanie
Zmienne 
Zagnieżdżanie
Blok Logic (Logika)
Blok Compare (Porównanie)
Blok Range (Zakres)
Podsumowanie
Rozdział 7. Silniki i ruch
Obwód koła 
Programowanie ruchu po prostej
Blok Move (Ruch) 
Blok Motor (Silnik) 
Blok Reset Motor (Wyzerowanie silnika)
Własne bloki Move
Obracanie robota 
Blok Move 
Bloki Motor 
Obliczanie zakrętów
Tworzenie niestandardowego bloku MyPivot (Mój obrót)
Tworzenie niestandardowego bloku MyTurn (Mój skręt)
Wykrywanie zatrzymania silnika
Podsumowanie 
Rozdział 8. Wykrywanie światła
Czujnik światła NXT
Jak to działa 
Światło otoczenia
Światło odbite 
Kalibracja
Blok kalibracyjny NXT-G 
Plik lokalny 
Przeglądanie kalibracji 
Usuwanie kalibracji 
Podążanie za linią 
Prosty warunek 
Złożony warunek 
Regulator proporcjonalny 
Dwa czujniki światła 
Wykrywanie linii
Znajdowanie linii
Odczytywanie kolorowych linii
Wyrównywanie do linii i krawędzi 
Podsumowanie 
Rozdział 9. Dotyk i zderzanie
Czujnik dotyku
Korzystanie z czujnika dotyku
Kiedy naciśnięcie nie jest wykrywane? 
Ustalanie, kiedy skręcić
Ustawianie robota 
Zdalny pomarańczowy przycisk NXT
Ogranicznik
Czujnik dotyku jako wskaźnik obecności obiektu 
Podsumowanie 
Rozdział 10. Widzenie ultradźwiękami 
Jak to działa 
Korzystanie z czujnika ultradźwiękowego na polu gry 
Znajdowanie pobliskich obiektów 
Podsumowanie 
Rozdział 11. Programowanie zaawansowane 
Tablice danych 
Maszyny stanów
Programy główne 
Własne bloki 
Prosty program sekwencera 
Lepszy sekwencer 
Zaawansowany sekwencer 
Podsumowanie 
Rozdział 12. Zarządzanie kodem 
Scenariusz z pojedynczym komputerem 
Scenariusz z wieloma komputerami
Repozytoria sieciowe 
Napędy USB
Nazwy plików 
Pakowanie i przenoszenie 
Komentarze do kodu 
Podsumowanie 
Rozdział 13. Pułapki programistyczne 
Domyślne ustawienia bloków i programów 
Domyślne porty 
Błąd żółto-pomarańczowy 
Nieprawidłowe połączenia danych 
Użycie bloku Stop (Zatrzymanie) zamiast zatrzymania silników 
Niedopasowanie oprogramowania do sprzętu 
Zmienianie jednostek miar 
Zapominanie, co mieliśmy na myśli
Podsumowanie
Rozdział 14. Porady i wskazówki
Zrozumienie przepływu programu 
Zarządzanie przepływem danych
Wskazówki dotyczące debugowania 
Co mieliśmy na myśli? 
Słuchanie robota 
Zastosowanie wzorców projektowych 
Zrozumienie, co napisaliśmy 
Jak nawigować po programie? 
Porady sprzętowe 
Zarządzanie warunkami oświetleniowymi wokół czujnika światła
Unikanie czujników ultradźwiękowych skierowanych wzajemnie na siebie 
Rozmieszczanie przewodów 
Łączenie logiki we własnych blokach 
Aktualizowanie oprogramowania firmowego NXT 
Nie odkrywajmy Ameryki 
Podsumowanie 
234 strony, Format: 17.0x24.0cm, oprawa miękka
Księgarnia nie działa. Nie odpowiadamy na pytania i nie realizujemy zamówien. Do odwolania !.