Arduino dla początkujących
Kolejny krok
Arduino — mała płytka o ogromnym potencjale — otworzyła świat
elektroniki dla szerokiego grona pasjonatów, którym pozwoliła wreszcie zrealizować
wymarzone projekty. Błyskawicznie zdobyła ogromną popularność, na co szybko
zareagował rynek — pojawiło się mnóstwo dodatkowych akcesoriów, instrukcji i książek.
Wśród tych ostatnich na szczególną uwagę zasługują publikacje autorstwa Simona
Monka.
Elektroniczne projekty jego autorstwa zdobyły sobie licznych fanów. W Twoje ręce
oddajemy kolejną książkę w całości poświęconą platformie Arduino. Sięgnij po
nią i poznaj tajemnice pracy z tą płytką! W trakcie lektury poznasz krótką historię
platformy, a następnie zobaczysz, jak obsługiwać przerwania sprzętowe, współpracować
z urządzeniami 1-wire oraz obsługiwać interfejs USB. Ponadto przyśpieszysz działanie
swojej płytki, zoptymalizujesz pobór prądu oraz zmniejszysz zużycie pamięci RAM. Na
sam koniec nauczysz się obsługiwać sieć oraz tworzyć własne biblioteki. Książka ta
jest doskonałą lekturą dla wszystkich fanów Arduino chcących jeszcze lepiej poznać
tę platformę!
Poznaj zaawansowane techniki programowania Arduino!
Korzystaj z przerwań sprzętowych i zegarowych.
Zwiększ wydajność pracy mikrokontrolera pisząc efektywne szkice.
Minimalizuj ilość pamięci zajmowanej przesz szkice.
Zmniejsz natężenie prądu pobieranego przez Arduino.
Naucz się pracy z różnymi interfejsami — I2C, 1-Wire, SPI. Przesyłaj dane
szeregowo za pomocą układu TTL.
Korzystaj z zaawansowanych funkcji płytek Leonardo i Due — między innymi emuluj
działanie klawiatury i myszy USB.
Pisz szkice korzystające z internetu.
Poznaj zagadnienia związane z cyfrowym przetwarzaniem sygnałów.
Wykonuj jednocześnie więcej niż jedną operację na mikrokontrolerze nie
obsługującym wielowątkowości.
Twórz i udostępniaj własne biblioteki.
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
240 stron, Format: 15.5x23.5cm, oprawa miękka