E-book details

Odkrywanie Arduino. Narzędzia i techniki inżynierii pełnej czaru. Wydanie II

Odkrywanie Arduino. Narzędzia i techniki inżynierii pełnej czaru. Wydanie II

Jeremy Blum

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ę!

 

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

  • Title: Odkrywanie Arduino. Narzędzia i techniki inżynierii pełnej czaru. Wydanie II
  • Author: Jeremy Blum
  • Original title: Exploring Arduino: Tools and Techniques for Engineering Wizardry, 2nd Edition
  • Translation: Anna Mizerska
  • ISBN: 978-83-283-6924-5, 9788328369245
  • Date of issue: 2020-12-15
  • Format: Ebook
  • Item ID: odkar2
  • Publisher: Helion