Spis treści
O autorze (9)
Podziękowania (10)
Wstęp (11)
- Pobieranie przykładów (12)
- Czego będę potrzebował? (12)
- Korzystanie z tej książki (12)
Rozdział 1. Programowanie Arduino (15)
- Czym jest Arduino (15)
- Instalacja i środowisko programistyczne (17)
- Instalacja środowiska programistycznego (18)
- Blink (18)
- Wycieczka po płytce Arduino (21)
- Zasilanie (21)
- Złącza zasilania (22)
- Wejścia analogowe (22)
- Złącza cyfrowe (22)
- Płytki Arduino (23)
- Uno i pochodne (23)
- Duże płytki Arduino (24)
- Małe płytki Arduino (25)
- Płytki LilyPad i LilyPad USB (26)
- Nieoficjalne płytki Arduino (27)
- Język programowania (27)
- Modyfikacja szkicu Blink (27)
- Zmienne (29)
- If (30)
- Pętle (31)
- Funkcje (32)
- Wejścia cyfrowe (33)
- Wyjścia cyfrowe (35)
- Monitor portu szeregowego (35)
- Tablice i macierze (37)
- Wejścia analogowe (38)
- Wyjścia analogowe (40)
- Korzystanie z bibliotek (42)
- Typy danych obsługiwane przez Arduino (43)
- Polecenia Arduino (44)
- Podsumowanie (46)
Rozdział 2. Pod maską (47)
- Krótka historia Arduino (47)
- Anatomia Arduino (47)
- Procesory AVR (48)
- ATmega328 (48)
- ATmega32u4 (50)
- ATmega2560 (50)
- AT91SAM3X8E (51)
- Arduino i Wiring (51)
- Od szkicu do Arduino (55)
- AVR Studio (56)
- Instalacja programu rozruchowego (58)
- Instalacja programu rozruchowego za pomocą aplikacji AVR Studio i programatora (59)
- Instalacja programu rozruchowego za pomocą zintegrowanego środowiska programistycznego Arduino i drugiej płytki Arduino (60)
- Podsumowanie (62)
Rozdział 3. Przerwania i zegary (63)
- Przerwania sprzętowe (63)
- Piny przerwań (66)
- Tryby przerwań (67)
- Aktywacja wbudowanego rezystora podciągającego (67)
- Procedury obsługi przerwań (67)
- Zmienne ulotne (68)
- Podsumowanie wiadomości na temat procedur obsługi przerwań (69)
- Włączanie i wyłączanie obsługi przerwań (69)
- Zegary i przerwania (70)
- Podsumowanie (73)
Rozdział 4. Przyspieszanie Arduino (75)
- Jak szybko działa Twoje Arduino? (75)
- Porównanie płytek Arduino (76)
- Przyspieszanie wykonywania operacji arytmetycznych (77)
- Czy naprawdę musisz stosować wartości typu float? (77)
- Przeglądanie kontra obliczanie (78)
- Szybkie wejścia-wyjścia (80)
- Podstawowa optymalizacja kodu (80)
- Bajty i bity (82)
- Porty układu ATmega328 (82)
- Bardzo szybkie działanie wyjść cyfrowych (84)
- Szybkie wejścia cyfrowe (84)
- Przyspieszanie wejść analogowych (86)
- Podsumowanie (88)
Rozdział 5. Arduino i mały pobór prądu (89)
- Płytki Arduino i pobór prądu (89)
- Prąd i akumulatory (91)
- Zmniejszenie częstotliwości taktowania (92)
- Wyłączanie komponentów (94)
- Usypianie (95)
- Biblioteka Narcoleptic (95)
- Budzenie za pomocą zewnętrznych przerwań (97)
- Ograniczanie pobieranego prądu za pomocą wyjść cyfrowych (99)
- Podsumowanie (101)
Rozdział 6. Pamięć (103)
- Pamięć Arduino (103)
- Korzystanie z minimalnej ilości pamięci RAM (104)
- Korzystanie z właściwych struktur danych (105)
- Zachowaj ostrożność, korzystając z rekurencji (105)
- Przechowywanie w pamięci flash stałych będących łańcuchami (107)
- Rozpowszechnione błędne przekonania (108)
- Pomiar wolnej pamięci (108)
- Korzystanie z minimalnej ilości pamięci flash (108)
- Korzystaj ze stałych (109)
- Usuwaj zbędne elementy szkicu (109)
- Pomiń program rozruchowy (109)
- Statyczna i dynamiczna alokacja pamięci (109)
- Łańcuchy (111)
- Tablice elementów typu char (111)
- Biblioteka Arduino StringObject (114)
- Korzystanie z pamięci EEPROM (115)
- Przykład korzystania z pamięci EEPROM (116)
- Korzystanie z biblioteki avr/eeprom.h (118)
- Ograniczenia pamięci EEPROM (120)
- Korzystanie z pamięci Flash (120)
- Zapisywanie danych na kartach SD (121)
- Podsumowanie (122)
Rozdział 7. Korzystanie z magistrali I2C (123)
- Warstwa sprzętowa (125)
- Protokół magistrali I2C (126)
- Biblioteka Wire (126)
- Inicjacja magistrali I2C (127)
- Wysyłanie danych przez urządzenie nadrzędne (127)
- Odbieranie danych przez urządzenie nadrzędne (127)
- Przykład działania magistrali I2C (128)
- Radio FM TEA5767 (128)
- Przesyłanie danych pomiędzy dwoma płytkami Arduino (130)
- Płytki z diodami LED (133)
- Zegar czasu rzeczywistego DS1307 (134)
- Podsumowanie (135)
Rozdział 8. Praca z urządzeniami wyposażonymi w interfejs 1-Wire (137)
- Sprzęt obsługujący interfejs 1-Wire (137)
- Protokół 1-Wire (138)
- Biblioteka OneWire (139)
- Inicjalizowanie biblioteki OneWire (139)
- Skanowanie magistrali (139)
- Korzystanie z układu DS18B20 (141)
- Podsumowanie (143)
Rozdział 9. Praca z urządzeniami wyposażonymi w interfejs SPI (145)
- Operowanie bitami (145)
- Wartości binarne i szesnastkowe (146)
- Maskowanie bitów (146)
- Przesuwanie bitów (148)
- Sprzęt obsługujący magistralę SPI (150)
- Protokół SPI (151)
- Biblioteka SPI (151)
- Przykład komunikacji za pomocą interfejsu SPI (153)
- Podsumowanie (157)
Rozdział 10. Szeregowa transmisja danych za pośrednictwem układu UART (159)
- Sprzęt służący do szeregowej transmisji danych (159)
- Protokół obsługujący szeregową transmisję danych (162)
- Polecenia służące do obsługi szeregowej transmisji danych (162)
- Biblioteka SoftwareSerial (164)
- Przykłady szeregowej transmisji danych (165)
- Komunikacja pomiędzy komputerem a Arduino za pośrednictwem interfejsu USB (165)
- Komunikacja pomiędzy dwoma płytkami Arduino (167)
- Moduł GPS (169)
- Podsumowanie (172)
Rozdział 11. Obsługa interfejsu USB (173)
- Emulacja klawiatury i myszy (173)
- Emulacja klawiatury (174)
- Przykład emulacji klawiatury (175)
- Emulacja myszy (175)
- Przykład emulacji myszy (176)
- Programowanie hosta USB (176)
- Płytka USB Host i obsługująca ją biblioteka (177)
- Host USB płytki Arduino Due (180)
- Podsumowanie (182)
Rozdział 12. Obsługa sieci (183)
- Sprzęt sieciowy (183)
- Płytka rozszerzeń wyposażona w kontroler sieci Ethernet (183)
- Arduino Ethernet i Arduino EtherTen (184)
- Arduino i Wi-Fi (185)
- Biblioteka Ethernet (185)
- Nawiązywanie połączenia (185)
- Stawianie serwera sieci Web (188)
- Tworzenie żądań (189)
- Przykład szkicu korzystającego z biblioteki Ethernet (189)
- Sprzętowy serwer sieci Web (190)
- Pobieranie danych w formacie JSON (194)
- Biblioteka WiFi (195)
- Nawiązywanie połączenia (195)
- Funkcje zdefiniowane w bibliotece WiFi (196)
- Przykładowy szkic korzystający z sieci Wi-Fi (196)
- Podsumowanie (197)
Rozdział 13. Cyfrowe przetwarzanie sygnałów (199)
- Wprowadzenie do cyfrowego przetwarzania sygnałów (199)
- Uśrednianie odczytów (200)
- Wstęp do filtrowania (202)
- Prosty filtr dolnoprzepustowy (203)
- Cyfrowe przetwarzanie sygnałów przez Arduino Uno (204)
- Cyfrowe przetwarzanie sygnałów przez Arduino Due (205)
- Generowanie kodu filtrującego (208)
- Transformacja Fouriera (210)
- Analizator spektrum (212)
- Pomiar częstotliwości (214)
- Podsumowanie (214)
Rozdział 14. Praca z użyciem tylko jednego procesu (215)
- Zmiana skali (215)
- Dlaczego wątki są zbędne (216)
- Funkcje setup i loop (216)
- Najpierw wykrywaj, a dopiero później reaguj (216)
- Pauza, która nie blokuje mikrokontrolera (217)
- Biblioteka Timer (218)
- Podsumowanie (220)
Rozdział 15. Tworzenie bibliotek (221)
- Kiedy należy tworzyć biblioteki? (221)
- Stosowanie klas i metod (222)
- Przykładowa biblioteka TEA5767 Radio (222)
- Określ interfejs programistyczny (223)
- Utwórz plik nagłówkowy (224)
- Utwórz plik implementacji (225)
- Utwórz plik ze słowami kluczowymi (226)
- Utwórz folder z przykładami (226)
- Testowanie biblioteki (227)
- Publikacja biblioteki (227)
- Podsumowanie (228)
Dodatek A. Podzespoły (229)
- Płytki Arduino (229)
- Płytki rozszerzeń (229)
- Moduły (229)
- Dystrybutorzy (230)
Skorowidz (233)
|