Arduino dla początkujących. Kolejny krok. Wydanie II - ebook
Arduino dla początkujących. Kolejny krok. Wydanie II - ebook
W pewnych kwestiach nic się nie zmienia - Arduino pozostaje praktycznym, tanim mikrokontrolerem, który może komunikować się ze światem zewnętrznym i obsługiwać przeróżne urządzenia elektroniczne. Daje też pole do popisu licznym amatorom i hobbystom. Środowisko programistyczne wciąż ma prosty interfejs, a programowanie płytki samo w sobie jest łatwym zadaniem nawet dla ludzi bez doświadczenia w pisaniu kodu. Zmiany w świecie Arduino dotyczą większych możliwości oraz sukcesywnie dodawanych funkcjonalności, takich jak obsługa bibliotek, czy kolejnych interfejsów.
To drugie, starannie zaktualizowane wydanie przewodnika po programowaniu Arduino, przeznaczonego dla osób, które opanowały podstawy i chcą zdobyć umiejętności na wyższym, profesjonalnym poziomie. W książce dodatkowo ujęto zagadnienia wykorzystania Arduino do komunikacji z urządzeniami szeregowymi oraz z internetem rzeczy (IoT). Dowiesz się również, jak używać środowiska programistycznego Arduino do programowania kompatybilnych płytek. Prezentowane treści zostały zilustrowane praktycznymi przykładami stosowania omówionych technik. Nie zabrakło licznych kodów do pobrania, które ułatwią Ci pracę z nawet bardzo ambitnymi projektami.
Dzięki książce dowiesz się, jak:
- konfigurować Arduino IDE i tworzyć efektywne szkice
- poprawić wydajność pracy przy zmniejszeniu natężenia prądu pobieranego przez Arduino
- pracować z różnymi interfejsami: I2C, 1-Wire, SPI, a także z układem TTL, USB i UART
- korzystać z Ethernetu, Bluetootha i DSP oraz z zasobów internetu
- tworzyć i udostępniać własne biblioteki
Zostań mistrzem Arduino!
Spis treści
O autorze 9
Podziękowania 10
Przedmowa 11
Wstęp 13
Rozdział 1. Programowanie Arduino 17
- Czym jest Arduino 17
- Instalacja i środowisko programistyczne 20
- Instalacja środowiska programistycznego 20
- Blink 20
- Wycieczka po płytce Arduino 23
- Zasilanie 23
- Złącza zasilania 24
- Wejścia analogowe 24
- Złącza cyfrowe 24
- Płytki Arduino 25
- Uno i pochodne 25
- Duże płytki Arduino 26
- Małe płytki Arduino 27
- Nieoficjalne płytki Arduino 28
- Język programowania 29
- Modyfikacja szkicu Blink 29
- Zmienne 31
- If 32
- Pętle 32
- Funkcje 34
- Wejścia cyfrowe 35
- Wyjścia cyfrowe 37
- Monitor portu szeregowego 37
- Tablice i macierze 39
- Wejścia analogowe 40
- Wyjścia analogowe 42
- Korzystanie z bibliotek 44
- Typy danych obsługiwane przez Arduino 46
- Polecenia Arduino 47
- Podsumowanie 49
Rozdział 2. Pod maską 51
- Krótka historia Arduino 51
- Anatomia Arduino 52
- Procesory AVR 52
- ATmega328 53
- ATmega32u4 53
- ATmega2560 55
- AT91SAM3X8E 55
- Arduino i Wiring 55
- Od szkicu do Arduino 59
- AVR Studio 61
- Instalacja programu rozruchowego 62
- Instalacja programu rozruchowego za pomocą aplikacji AVR Studio i programatora 63
- Instalacja programu rozruchowego za pomocą zintegrowanego środowiska programistycznego Arduino i drugiej płytki Arduino 64
- Podsumowanie 66
Rozdział 3. Kiedy Arduino to nie Arduino? 67
- Rozszerzalna architektura Arduino IDE 67
- Adafruit Circuit Playground Express 68
- NodeMCU 71
- ESP32 73
- Mikrokontrolery ATtiny 73
- ATtiny44 73
- Arduino jako programator 74
- Instalacja ATtinyCore w IDE 75
- Zegary, kryształy i bezpieczniki 76
- Minimalne Arduino 77
- Podsumowanie 77
Rozdział 4. Przerwania i zegary 79
- Przerwania sprzętowe 79
- Piny przerwań 82
- Tryby przerwań 83
- Aktywacja wbudowanego rezystora podciągającego 83
- Procedury obsługi przerwań 84
- Zmienne ulotne 84
- Podsumowanie wiadomości na temat procedur obsługi przerwań 85
- Włączanie i wyłączanie obsługi przerwań 85
- Zegary i przerwania 86
- Podsumowanie 89
Rozdział 5. Przyspieszanie Arduino 91
- Jak szybko działa Twoje Arduino? 91
- Porównanie płytek Arduino 92
- Przyspieszanie wykonywania operacji arytmetycznych 93
- Czy naprawdę musisz stosować wartości typu float? 93
- Przeglądanie kontra obliczanie 94
- Szybkie wejścia-wyjścia 96
- Podstawowa optymalizacja kodu 97
- Bajty i bity 98
- Porty układu ATmega328 98
- Bardzo szybkie działanie wyjść cyfrowych 100
- Szybkie wejścia cyfrowe 100
- Przyspieszanie wejść analogowych 102
- Podsumowanie 103
Rozdział 6. Arduino i mały pobór prądu 105
- Płytki Arduino i pobór prądu 105
- Prąd i akumulatory 107
- Zmniejszenie częstotliwości taktowania 108
- Wyłączanie komponentów 109
- Usypianie Arduino opartych na ATmega 111
- Biblioteka Narcoleptic 111
- Budzenie za pomocą zewnętrznych przerwań 113
- Usypianie ESP8266 115
- Usypianie ESP32 116
- Ograniczanie pobieranego prądu za pomocą wyjść cyfrowych 118
- Podsumowanie 120
Rozdział 7. Pamięć 121
- Pamięć Arduino 121
- Korzystanie z minimalnej ilości pamięci RAM 123
- Korzystanie z właściwych struktur danych 123
- Przechowywanie w pamięci flash stałych będących łańcuchami 124
- Rozpowszechnione błędne przekonania 124
- Pomiar wolnej pamięci 124
- Korzystanie z minimalnej ilości pamięci flash 125
- Korzystaj ze stałych 125
- Usuwaj zbędne elementy szkicu 125
- Pomiń program rozruchowy 126
- Statyczna i dynamiczna alokacja pamięci 126
- Łańcuchy 127
- Tablice elementów typu char 128
- Biblioteka Arduino StringObject 130
- Korzystanie z pamięci EEPROM 131
- Przykład korzystania z pamięci EEPROM 132
- Korzystanie z biblioteki avr/eeprom.h 134
- Ograniczenia pamięci EEPROM 136
- Korzystanie z pamięci Flash 136
- Zapisywanie danych na kartach SD 138
- Podsumowanie 139
Rozdział 8. Interfejsy Arduino 141
- System binarny 141
- Typy danych Arduino i system binarny 142
- System szesnastkowy 143
- Maskowanie bitów 144
- Przesunięcie bitowe 145
- Dane przesyłane szeregowo 146
- Podsumowanie 150
Rozdział 9. Korzystanie z magistrali I2C 151
- Warstwa sprzętowa 153
- Protokół magistrali I2C 154
- Biblioteka Wire 155
- Inicjacja magistrali I2C 155
- Wysyłanie danych przez urządzenie nadrzędne 155
- Odbieranie danych przez urządzenie nadrzędne 155
- Przykład działania magistrali I2C 156
- Radio FM TEA5767 156
- Przesyłanie danych pomiędzy dwoma płytkami Arduino 158
- Płytki z diodami LED 161
- Zegar czasu rzeczywistego DS1307 162
- Podsumowanie 163
Rozdział 10. Praca z urządzeniami wyposażonymi w interfejs 1-Wire 165
- Sprzęt obsługujący interfejs 1-Wire 166
- Protokół 1-Wire 166
- Biblioteka OneWire 167
- Inicjalizowanie biblioteki OneWire 167
- Skanowanie magistrali 167
- Korzystanie z układu DS18B20 168
- Podsumowanie 171
Rozdział 11. Praca z urządzeniami wyposażonymi w interfejs SPI 173
- Operowanie bitami 173
- Sprzęt obsługujący magistralę SPI 174
- Protokół SPI 175
- Biblioteka SPI 175
- Przykład komunikacji za pomocą interfejsu SPI 177
- Podsumowanie 180
Rozdział 12. Szeregowa transmisja danych za pośrednictwem układu UART 183
- Sprzęt służący do szeregowej transmisji danych 183
- Protokół obsługujący szeregową transmisję danych 186
- Polecenia służące do obsługi szeregowej transmisji danych 186
- Biblioteka SoftwareSerial 189
- Przykłady szeregowej transmisji danych 190
- Komunikacja pomiędzy komputerem a Arduino za pośrednictwem interfejsu USB 190
- Komunikacja pomiędzy dwoma płytkami Arduino 192
- Moduł GPS 194
- Podsumowanie 197
Rozdział 13. Obsługa interfejsu USB 199
- Emulacja klawiatury i myszy 199
- Emulacja klawiatury 200
- Przykład emulacji klawiatury 201
- Emulacja myszy 201
- Przykład emulacji myszy 202
- Host USB płytki Arduino Due 202
- Podsumowanie 205
Rozdział 14. Obsługa sieci oraz internet rzeczy 207
- Sprzęt sieciowy 207
- Płytka rozszerzeń wyposażona w kontroler sieci Ethernet 207
- Arduino Ethernet i Arduino EtherTen 208
- Biblioteka Ethernet 209
- Nawiązywanie połączenia 209
- Stawianie serwera sieci Web 211
- Tworzenie żądań 211
- Przykład szkicu korzystającego z biblioteki Ethernet 212
- Sprzętowy serwer sieci Web 212
- Pobieranie danych w formacie JSON 216
- Oficjalna biblioteka Arduino do obsługi WiFi 219
- Nawiązywanie połączenia 219
- Funkcje zdefiniowane w bibliotece WiFi 220
- Przykładowy szkic korzystający z sieci Wi-Fi 220
- Przykład ESP8266/ESP32 WiFi 221
- Internet rzeczy 223
- dweet.io 224
- Programowanie NodeMCU lub Wemos D1 Mini 225
- Podłączanie TMP36 226
- Strona internetowa wyświetlająca temperaturę 226
- Podsumowanie 228
Rozdział 15. Cyfrowe przetwarzanie sygnałów 229
- Wprowadzenie do cyfrowego przetwarzania sygnałów 229
- Uśrednianie odczytów 230
- Wstęp do filtrowania 232
- Prosty filtr dolnoprzepustowy 233
- Cyfrowe przetwarzanie sygnałów przez Arduino Uno 234
- Cyfrowe przetwarzanie sygnałów przez Arduino Due 235
- Generowanie kodu filtrującego 238
- Transformacja Fouriera 241
- Analizator spektrum 241
- Pomiar częstotliwości 244
- Podsumowanie 244
Rozdział 16. Praca z użyciem tylko jednego procesu 247
- Zmiana skali 247
- Dlaczego wątki są zbędne 248
- Funkcje setup i loop 248
- Najpierw wykrywaj, a dopiero później reaguj 248
- Pauza, która nie blokuje mikrokontrolera 249
- Biblioteka Timer 250
- Diagramy stanów 251
- Automaty skończone w Arduino 253
- Podsumowanie 254
Rozdział 17. Tworzenie bibliotek 255
- Kiedy należy tworzyć biblioteki? 255
- Stosowanie klas i metod 256
- Przykładowa biblioteka TEA5767 Radio 256
- Określ interfejs programistyczny 257
- Utwórz plik nagłówkowy 258
- Utwórz plik implementacji 259
- Utwórz plik ze słowami kluczowymi 259
- Utwórz folder z przykładami 260
- Testowanie biblioteki 260
- Publikacja biblioteki 261
- Publikacja biblioteki na GitHubie 261
- GitHub 261
- Tworzenie repozytorium 262
- Podsumowanie 264
Dodatek A. Podzespoły 265
- Płytki Arduino 265
- Komponenty i moduły 265
- Dystrybutorzy 266
- Zestawy startowe Arduino 267
Kategoria: | Hardware |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-7549-9 |
Rozmiar pliku: | 17 MB |