Odkrywanie Arduino. Narzędzia i techniki inżynierii pełnej czaru. Wydanie II - ebook
Odkrywanie Arduino. Narzędzia i techniki inżynierii pełnej czaru. Wydanie II - ebook
Mikrokontroler Arduino szybko może stać się Twoim ulubionym narzędziem, pasją albo wstępem do fascynującego świata elektroniki, programowania, systemów sterujących, interakcji człowieka z komputerem, a nawet... sztuki! Arduino może zrobić wszystko, co tylko zechcesz: sterować domową uprawą ziół, być serwerem sieciowym albo autopilotem czterośmigłowego drona. Umożliwia korzystanie z intuicyjnego języka programowania, a także pozwala się łatwo doposażyć w czujniki, serwomechanizmy, oświetlenie, głośniki, dodatkowe moduły i inne układy scalone. Trudno wymienić wszystkie możliwości Arduino, gdyż ogranicza je tylko wyobraźnia.
Oto zaktualizowane i rozszerzone wydanie książki, dzięki której poznasz wybrane zagadnienia z dziedziny fizyki, elektroniki i cyfrowego projektowania. Omówiono też podstawy algorytmów i charakterystyczne dla Arduino koncepcje programistyczne. Znalazły się tu zaktualizowane projekty i nowe tematy, takie jak łączność bezprzewodowa czy silniki krokowe, oraz dużo więcej wiadomości związanych z elektrotechniką i projektowaniem produktu. Dowiesz się, jak łączyć ze sobą różne elementy, a także jak czytać schematy i w jaki sposób dobierać odpowiednią część dla konkretnego projektu. Nauczysz się projektować i tworzyć kompletny kod. Przekonasz się, że przedstawione tu praktyki z zakresu elektrotechniki, projektowania systemów i programowania można szeroko stosować, również poza światem Arduino.
W książce:
- funkcjonalność płytek Arduino i ich wykorzystywanie do różnych zadań
- czujniki cyfrowe, analogowe i interfejsy komunikacyjne
- zasady projektowania systemu, programowania i elektrotechniki
- fragmenty kodu, najlepsze praktyki oraz gotowe do zastosowania schematy systemów
- budowa elementów, które można podłączyć do internetu
Arduino: oto świat łączący inżynierię i magię!
Spis treści
O autorze 13
O korektorze merytorycznym 15
Podziękowania 17
O ilustracjach 19
Wstęp 21
CZĘŚĆ I. PODSTAWY ARDUINO
Rozdział 1. Rozpoczęcie pracy i zrozumienie świata Arduino 29
- Odkrywanie ekosystemu Arduino 29
- Wielka schizma Arduino i reformacja 30
- Funkcjonalność Arduino 30
- Pozostałe (obok AVR) architektury mikrokontrolerów 32
- Program rozruchowy i oprogramowanie sprzętowe Arduino 34
- Płytki Arduino 35
- Twój pierwszy program 38
- Arduino Cloud IDE 38
- Pobieranie i instalacja Arduino IDE 39
- Uruchamianie IDE i podłączanie Arduino 39
- Analiza pierwszego programu 41
- Podsumowanie 44
Rozdział 2. Cyfrowe wejścia, wyjścia i modulacja szerokości impulsów (PWM) 45
- Cyfrowe wyjścia 46
- Podłączanie diody LED i korzystanie z płytek stykowych 46
- Dwie szyny zasilania 47
- Prawo Ohma i obliczanie poboru mocy 48
- Programowanie cyfrowych wyjść 50
- Stosowanie pętli for 51
- Modulacja szerokości impulsów i funkcja analogWrite() 52
- Częstotliwość a okres 54
- Odczyt wejść cyfrowych 55
- Odczyt z cyfrowych sygnałów wejściowych przy użyciu rezystora ściągającego 55
- Problem drgających styków przycisku 58
- Budowa sterowanej lampki nocnej przy użyciu diody RGB LED 61
- Podsumowanie 65
Rozdział 3. Praca z czujnikami analogowymi 67
- Zrozumienie sygnałów analogowych i cyfrowych 68
- Porównanie sygnałów analogowych z cyfrowymi 68
- Zamiana sygnału analogowego na cyfrowy 69
- Odczyt z wejść analogowych 71
- Odczyt z potencjometru 71
- Korzystanie z analogowych czujników 74
- Wykorzystanie rezystora zmiennego do budowy własnego czujnika analogowego 79
- Stosowanie rezystancyjnego dzielnika napięcia 79
- Korzystanie z analogowych wejść do sterowania analogowymi wyjściami 81
- Podsumowanie 83
CZĘŚĆ II. KOMUNIKACJA Z OTOCZENIEM
Rozdział 4. Wykorzystanie tranzystorów i sterowanie silnikami prądu stałego 87
- Sterowanie silnikami prądu stałego 88
- Korzystanie z urządzeń indukcyjnych o dużym poborze prądu 89
- Sterowanie prędkością silnika przy użyciu PWM 93
- Stosowanie mostków H do zmiany kierunku obrotu silnika 95
- Powodowanie zwarcia za pomocą mostka H 96
- Budowa poruszającego się robota 102
- Wybór części robota 102
- Stabilizatory liniowe i ograniczenia źródeł prądu Arduino 104
- Budowanie robota 105
- Programowanie robota 106
- Złożenie wszystkiego w całość 110
- Podsumowanie 111
Rozdział 5. Sterowanie silnikami krokowymi i serwomotorami 113
- Sterowanie serwomotorami 114
- Różnica pomiędzy pracą ciągłą a standardowymi serwomechanizmami 114
- Zasady sterowania serwomotorem 115
- Program sterujący serwomechanizmem 117
- Budowa czujnika odległości o szerokim kącie działania 118
- Zasada działania silników krokowych i sterowanie nimi 122
- Działanie bipolarnych silników krokowych 123
- Jak prawdziwe silniki krokowe mają się do uproszczonego przykładu? 125
- Wprawianie silnika krokowego w ruch 125
- Budowa "chronografu jednominutowego" 128
- Okablowanie i budowa chronografu 128
- Programowanie chronografu 129
- Podsumowanie 133
Rozdział 6. Generowanie dźwięków i tworzenie muzyki 135
- Zasada działania głośników 136
- Właściwości dźwięku 136
- Zasada działania głośnika 137
- Wykorzystanie funkcji tone() do tworzenia dźwięków 138
- Dodanie własnego pliku nagłówkowego 139
- Podłączanie głośnika 140
- Tworzenie sekwencji dźwięków 142
- Ograniczenia funkcji tone() 144
- Budowa mikropianina 144
- Podsumowanie 147
Rozdział 7. Transmisja szeregowa poprzez łącze USB 149
- Możliwości transmisji szeregowej Arduino 150
- Płytki Arduino z wewnętrznym lub zewnętrznym konwerterem USB na port szeregowy firmy FTDI lub Silicon Labs 151
- Płytki Arduino z dodatkowym mikrokontrolerem ATmega działającym jako konwerter szeregowy 154
- Płytki Arduino z jednym mikrokontrolerem z wbudowanym interfejsem USB 155
- Płytki Arduino z możliwością bezpośredniego podłączania urządzeń USB 155
- Odbieranie danych z Arduino 155
- Polecenia print 156
- Stosowanie znaków specjalnych 157
- Zmiana formatu wyświetlanych danych liczbowych 159
- Komunikacja z Arduino 159
- Konfiguracja monitora portu szeregowego Arduino IDE w celu wysyłania poleceń 159
- Odczytywanie danych przychodzących z komputera lub innego urządzenia wykorzystującego port szeregowy 160
- Komunikacja z aplikacją desktopową 167
- Instalacja Processing 167
- Sterowanie szkicem w Processing z poziomu Arduino 168
- Wysyłanie danych z Processing do Arduino 171
- Podsumowanie 173
Rozdział 8. Emulacja urządzeń USB 175
- Emulator klawiatury 176
- Wprowadzanie danych do komputera 177
- Automatyczne wyłączanie komputera 180
- Emulator myszki 181
- Podsumowanie 184
Rozdział 9. Rejestry przesuwne 185
-
- Wybór Arduino odpowiedniego do danego zadania 186
- Zasada działania rejestrów przesuwnych 186
- Transmisja szeregowa i równoległa 187
- Stosowanie rejestru przesuwnego 74HC595 187
- Przesuwanie danych szeregowych z Arduino 188
- Łączenie rejestrów przesuwnych 191
- Zamiana systemu dwójkowego na dziesiętny 192
- Sterowanie animacjami świetlnymi za pomocą rejestru przesuwnego 192
- Budowa "pływającego światła" 193
- Dynamicznie zmieniający się diodowy wykres słupkowy 194
- Podsumowanie 196
CZĘŚĆ III. INTERFEJSY KOMUNIKACYJNE
Rozdział 10. Magistrala I2C 199
- Historia magistrali I2C 200
- Budowa magistrali I2C 200
- Schemat komunikacyjny i numery ID 201
- Wybór części z perspektywy inżyniera projektującego urządzenie 203
- Wymagania sprzętowe i rezystory podciągające 203
- Jak dobrać odpowiednią wartość rezystorów podciągających 204
- Komunikacja z czujnikiem temperatury I2C 205
- Konfiguracja sprzętu 205
- Czytanie dokumentacji 206
- Pisanie programu 207
- Łączenie rejestrów przesuwnych, komunikacji szeregowej i komunikacji I2C 210
- Budowa systemu monitorującego temperaturę 211
- Modyfikacja poprzedniego programu 211
- Pisanie szkicu Processing 213
- Podsumowanie 216
Rozdział 11. Magistrala SPI i biblioteki zewnętrzne 217
- Podstawowe informacje o magistrali SPI 218
- Sprzęt i schemat komunikacji SPI 219
- Konfiguracja sprzętu 219
- Nazewnictwo 220
- Schemat komunikacji 220
- Porównanie SPI z I2C i UART 221
- Komunikacja z akcelerometrem SPI 221
- Miniaturyzacja urządzeń i SMT 222
- Co to jest akcelerometr? 222
- Czytanie dokumentacji 223
- Podłączanie sprzętu 226
- Pisanie programu 228
- Budowa audiowizualnego instrumentu przy użyciu 3-osiowego akcelerometru 232
- Budowa układu 233
- Modyfikacja oprogramowania 233
- Podsumowanie 236
Rozdział 12. Komunikacja z wyświetlaczami ciekłokrystalicznymi 237
- Podłączenie wyświetlacza LCD 238
- Używanie biblioteki LiquidCrystal do wyświetlania znaków na LCD 240
- Wyświetlanie tekstu 241
- Tworzenie znaków specjalnych i animacji 243
- Budowa osobistego termostatu 246
- Konfiguracja sprzętu 246
- Wyświetlanie danych na LCD 249
- Dostosowanie temperatury docelowej za pomocą przycisku 251
- Dodanie dźwięku ostrzegawczego i wentylatora 252
- Składanie kodu w całość - kompletny program 253
- Rozwijanie projektu 256
- Podsumowanie 257
CZĘŚĆ IV. ODKRYWANIE BARDZIEJ ZAAWANSOWANYCH MOŻLIWOŚCI ORAZ ŁĄCZENIE FUNKCJI
Rozdział 13. Przerwania i inne funkcje specjalne 261
- Stosowanie przerwań sprzętowych 262
- Różnice pomiędzy przerwaniem a sprawdzaniem stanu 262
- Możliwości przerwań sprzętowych Arduino 264
- Budowa i testowanie obwodu z przyciskiem z wykorzystaniem przerwania sprzętowego do wyeliminowania problemu drgających styków 265
- Stosowanie przerwań wywoływanych przez licznik 272
- Zrozumienie przerwań od licznika 272
- Instalacja biblioteki 273
- Wykonywanie dwóch zadań (niemal) jednocześnie 273
- Budowa maszyny dźwiękowej sterowanej przerwaniami 274
- Elementy maszyny dźwiękowej 274
- Oprogramowanie maszyny dźwiękowej 275
- Podsumowanie 277
Rozdział 14. Rejestracja danych za pomocą kart SD 279
- Przygotowania do rejestracji danych 280
- Formatowanie danych w plikach CSV 280
- Przygotowanie karty SD do rejestracji danych 281
- Komunikacja Arduino z kartą SD 285
- Nakładki z czytnikiem kart SD 286
- Interfejs SPI karty SD 288
- Zapisywanie na karcie SD 288
- Składanie nakładki rejestrującej dane 289
- Odczytywanie z karty SD 292
- Zegary czasu rzeczywistego 295
- Działanie zegarów czasu rzeczywistego 296
- Korzystanie z zegara czasu rzeczywistego 298
- Zamiana Twojego chronografu na zegar 304
- Budowa rejestru wejść i wyjść 305
- Osprzęt rejestratora 305
- Oprogramowanie rejestratora 306
- Analiza danych 310
- Podsumowanie 311
CZĘŚĆ V. KOMUNIKACJA BEZPRZEWODOWA
Rozdział 15. Bezprzewodowa komunikacja radiowa 315
- Widmo fal elektromagnetycznych 316
- Widmo 318
- Wysyłanie i nadawanie danych przez nadajnik radiowy 319
- Odbieranie sygnału naciśnięcia przycisku za pomocą modułu radiowego 321
- Podłączanie odbiornika 321
- Programowanie odbiornika 322
- Stworzenie bezprzewodowego dzwonka do drzwi 325
- Podłączanie odbiornika 325
- Programowanie odbiornika 326
- Początek inteligentnego domu - sterowanie lampą 328
- Prąd zmienny w Twoim domu 328
- Przesyłanie prądu zmiennego 329
- Zasada działania przekaźnika 330
- Programowanie przekaźnika 331
- Podłączanie lampki i przekaźnika do Arduino 333
- Podsumowanie 333
Rozdział 16. Połączenie Bluetooth 335
- Odarcie Bluetootha z tajemnic 336
- Standardy i wersje Bluetootha 336
- Profile Bluetootha i usługi BTLE GATT 337
- Komunikacja między Arduino a smartfonem 338
- Odczyt czujnika przez BTLE 338
- Interfejs USB czipa 32U4 346
- Wysyłanie poleceń z telefonu przez BTLE 348
- Sterowanie lampą na prąd zmienny przez Bluetooth 356
- Jak Twój telefon "łączy się w parę" z urządzeniami BTLE 356
- Pisanie programu kontrolującego odległość od urządzenia 357
- Łączenie w parę z telefonem 361
- Spraw, by lampa reagowała na Twoją obecność 363
- Podsumowanie 363
Rozdział 17. Sieć Wi-Fi i chmura 365
- Sieć, Arduino i Ty 366
- Sieciowy żargon 366
- Klienty i serwery 369
- Arduino z Wi-Fi 369
- Sterowanie Arduino przez sieć 370
- Konfiguracja sprzętu sterującego wejściem/wyjściem 370
- Przygotowanie Arduino IDE do pracy z modułem 370
- Sprawdzenie, czy biblioteka Wi-Fi pasuje do oprogramowania sprzętowego modułu Wi-Fi 371
- Pisanie szkicu serwera Arduino 373
- Kody odpowiedzi HTTP 377
- Projektowanie prostej strony internetowej 381
- Składanie wszystkiego w całość - szkic serwera sieciowego 382
- Sterowanie Arduino przez sieć lokalną i zewnętrzną 386
- Na ile sposobów można sterować lampą? 386
- Komunikacja z sieciowymi interfejsami programowania aplikacji (API) 389
- Korzystanie z API serwisu pogodowego 390
- Czemu ktoś miałby sprawdzać dane pogodowe więcej niż 60 razy na minutę? 390
- Ukończenie budowy wyświetlacza pokazującego temperaturę aktualizowaną na żywo 400
- Regulacja magistrali I2C za pomocą przewodów 401
- Podsumowanie 407
Dodatek A. Czytanie dokumentacji i schematów 409
Kategoria: | Hardware |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-6924-5 |
Rozmiar pliku: | 34 MB |