ARDUINO PRZEPISY NA ROZPOCZĘCIE ROZSZERZANIE I UDOSKONALANIE PROJEKTÓW

89.10

Na stanie

SPIS TREŚCI

Wstęp 11

1. Wprowadzenie do Arduino 21

  • 1.0. Wprowadzenie 21
  • 1.1. Instalacja zintegrowanego środowiska programistycznego (IDE) 26
  • 1.2. Rozpoczęcie pracy z płytką Arduino 30
  • 1.3. Przygotowanie szkicu Arduino za pomocą zintegrowanego środowiska programistycznego 32
  • 1.4. Wgrywanie i uruchamianie szkicu Blink 35
  • 1.5. Tworzenie i zapisywanie szkicu 37
  • 1.6. Pierwszy prosty projekt Arduino 39
  • 1.7. Użycie płytek spoza standardowej dystrybucji z Arduino 44
  • 1.8. Korzystanie z 32-bitowego Arduino lub płytki kompatybilnej z Arduino 47

2. Programowanie w Arduino 51

  • 2.0. Wprowadzenie 51
  • 2.1. Typowy szkic Arduino 52
  • 2.2. Stosowanie prostych typów zmiennych 53
  • 2.3. Stosowanie liczb zmiennoprzecinkowych 56
  • 2.4. Praca z zestawem wartości 59
  • 2.5. Korzystanie z możliwości łańcucha znaków w Arduino 62
  • 2.6. Korzystanie z tablic znaków języka C 67
  • 2.7. Dzielenie tekstu rozdzielonego przecinkami na grupy 69
  • 2.8. Zamiana liczby na łańcuch znaków 71
  • 2.9. Zamiana łańcucha znaków na liczbę 74
  • 2.10. Podział kodu na funkcjonalne bloki 76
  • 2.11. Zwracanie więcej niż jednej wartości z funkcji 80
  • 2.12. Wykonywanie instrukcji w zależności od warunku 83
  • 2.13. Powtarzanie sekwencji poleceń, gdy warunek jest spełniony 84
  • 2.14. Powtarzanie poleceń za pomocą licznika 86
  • 2.15. Przerywanie pętli for 89
  • 2.16. Wykonywanie wielu różnych operacji w oparciu o jedną zmienną 90
  • 2.17. Porównywanie znaków i wartości liczbowych 92
  • 2.18. Porównywanie łańcuchów znaków 95
  • 2.19. Przeprowadzanie porównań logicznych 96
  • 2.20. Stosowanie operatorów bitowych 97
  • 2.21. Skrócone operatory przypisania 100

3. Działania matematyczne 101

  • 3.0. Wprowadzenie 101
  • 3.1. Dodawanie, odejmowanie, mnożenie i dzielenie 101
  • 3.2. Inkrementacja i dekrementacja wartości 103
  • 3.3. Reszta z dzielenia dwóch wartości 104
  • 3.4. Wartość bezwzględna 105
  • 3.5. Ograniczanie wartości liczby do danego zakresu 106
  • 3.6. Wartość minimalna i wartość maksymalna 107
  • 3.7. Podnoszenie liczby do potęgi 108
  • 3.8. Obliczanie pierwiastka kwadratowego 109
  • 3.9. Zaokrąglanie liczb zmiennoprzecinkowych w dół i w górę 109
  • 3.10. Funkcje trygonometryczne 110
  • 3.11. Liczby losowe 111
  • 3.12. Ustawianie i odczytywanie bitów 114
  • 3.13. Przesuwanie bitów 117
  • 3.14. Wyciąganie najmniej i najbardziej znaczących bajtów ze zmiennej typu int lub long 118
  • 3.15. Tworzenie zmiennej int lub long z połączenia górnych i dolnych bajtów 120

4. Komunikacja szeregowa 123

  • 4.0. Wprowadzenie 123
  • 4.1. Wysyłanie informacji z Arduino do komputera 130
  • 4.2. Wysyłanie sformatowanego tekstu i danych liczbowych z Arduino 134
  • 4.3. Odbieranie danych szeregowych przez Arduino 138
  • 4.4. Wysyłanie z Arduino wielu informacji w jednej wiadomości 143
  • 4.5. Odbieranie na Arduino wielu informacji w jednej wiadomości 149
  • 4.6. Wysyłanie danych binarnych z Arduino 152
  • 4.7. Odbieranie na komputerze danych binarnych wysłanych z Arduino 157
  • 4.8. Wysyłanie wartości binarnych z Processingu do Arduino 159
  • 4.9. Wysyłanie wartości wielu pinów Arduino 162
  • 4.10. Zapisywanie danych z Arduino w pliku rejestru zdarzeń na komputerze 166
  • 4.11. Wysyłanie danych do kilku urządzeń szeregowych 169
  • 4.12. Odbieranie danych z kilku urządzeń szeregowych 173
  • 4.13. Użycie Arduino z Raspberry Pi 178

5. Proste wejścia cyfrowe i analogowe 183

  • 5.0. Wprowadzenie 183
  • 5.1. Wykorzystanie przycisku 187
  • 5.2. Korzystanie z przycisku bez zewnętrznych rezystorów 191
  • 5.3. Rozwiązanie problemu drgających styków 192
  • 5.4. Sprawdzanie, jak długo przycisk był wciśnięty 196
  • 5.5. Odczytywanie wartości z klawiatury numerycznej 200
  • 5.6. Odczytywanie wartości analogowych 203
  • 5.7. Zmiana zakresu wartości 205
  • 5.8. Odczytywanie więcej niż sześciu wejść analogowych 208
  • 5.9. Pomiar napięcia do 5 V 211
  • 5.10. Reagowanie na zmiany napięcia 214
  • 5.11. Pomiar napięcia wyższego niż 5 V (dzielniki napięcia) 215

6. Odczytywanie informacji wejściowych z czujników 219

  • 6.0. Wprowadzenie 219
  • 6.1. Arduino z wieloma wbudowanymi czujnikami 221
  • 6.2. Wykrywanie ruchu 225
  • 6.3. Wykrywanie światła 227
  • 6.4. Wykrywanie ruchów istot żywych 230
  • 6.5. Pomiar odległości 232
  • 6.6. Dokładny pomiar odległości 237
  • 6.7. Wykrywanie drgań 239
  • 6.8. Wykrywanie dźwięku 241
  • 6.9. Pomiar temperatury 245
  • 6.10. Odczytywanie etykiet RFID (NFC) 249
  • 6.11. Monitorowanie ruchu obrotowego 252
  • 6.12. Monitorowanie ruchu obrotowego w szkicu z przerwaniami, który wykonuje wiele zadań 255
  • 6.13. Korzystanie z myszki 257
  • 6.14. Pobieranie pozycji z modułu GPS 261
  • 6.15. Wykrywanie obrotu za pomocą żyroskopu 266
  • 6.16. Wykrywanie kierunku 268
  • 6.17. Odczytywanie przyspieszenia 271

7. Optyczne urządzenia wyjścia 275

  • 7.0. Wprowadzenie 275
  • 7.1. Podłączanie i wykorzystywanie diod LED 279
  • 7.2. Dostosowywanie jasności diody LED 282
  • 7.3. Korzystanie z diod LED wysokiej mocy 284
  • 7.4. Dostosowywanie koloru diody LED 286
  • 7.5. Sterowanie wieloma kolorowymi diodami LED 289
  • 7.6. Sterowanie wieloma diodami LED – tworzenie wykresu słupkowego 292
  • 7.7. Sterowanie wieloma diodami LED – efekt pływającego światła 296
  • 7.8. Sterowanie matrycą diod LED za pomocą multipleksowania 298
  • 7.9. Wyświetlanie obrazków na matrycy LED 302
  • 7.10. Sterowanie matrycą LED – charlieplexing 304
  • 7.11. Sterowanie 7-segmentowym wyświetlaczem LED 310
  • 7.12. Sterowanie kilkucyfrowymi wyświetlaczami 7-segmentowymi: multipleksowanie 313
  • 7.13. Sterowanie kilkucyfrowymi wyświetlaczami 7-segmentowymi za pomocą mniejszej liczby pinów 315
  • 7.14. Sterowanie matrycą diod LED za pomocą rejestrów przesuwnych MAX72xx 317
  • 7.15. Zwiększenie liczby analogowych wyjść za pomocą generatorów PWM 320
  • 7.16. Wykorzystanie miernika analogowego jako wyświetlacza 323

8. Fizyczne urządzenia wyjścia 325

  • 8.0. Wprowadzenie 325
  • 8.1. Sterowanie obrotem za pomocą serwomechanizmu 328
  • 8.2. Sterowanie obrotem serwomechanizmu za pomocą potencjometru lub czujnika 330
  • 8.3. Sterowanie prędkością serwomechanizmów przystosowanych do pracy ciągłej 332
  • 8.4. Sterowanie serwomechanizmami za pomocą poleceń wysyłanych z komputera 334
  • 8.5. Sterowanie silnikiem bezszczotkowym (za pomocą hobbystycznego regulatora prędkości) 336
  • 8.6. Sterowanie solenoidami i przekaźnikami 337
  • 8.7. Wywoływanie wibracji obiektu 339
  • 8.8. Sterowanie silnikiem szczotkowym za pomocą tranzystora 341
  • 8.9. Sterowanie kierunkiem obrotu silnika szczotkowego za pomocą mostku H 343
  • 8.10. Sterowanie kierunkiem obrotu i prędkością silnika szczotkowego za pomocą mostku H 346
  • 8.11. Stosowanie czujników do sterowania kierunkiem obrotu i prędkością silników szczotkowych 348
  • 8.12. Sterowanie bipolarnym silnikiem krokowym 354
  • 8.13. Sterowanie bipolarnym silnikiem krokowym (za pomocą płytki EasyDriver) 358
  • 8.14. Sterowanie unipolarnym silnikiem krokowym za pomocą sterownika ULN2003A 361

9. Dźwiękowe urządzenia wyjścia 365

  • 9.0. Wprowadzenie 365
  • 9.1. Granie dźwięków 368
  • 9.2. Odtwarzanie prostej melodii 371
  • 9.3. Generowanie więcej niż jednego dźwięku jednocześnie 372
  • 9.4. Generowanie dźwięków niekolidujące z PWM 374
  • 9.5. Sterowanie MIDI 377
  • 9.6. Utworzenie syntezatora audio 380
  • 9.7. Osiągnięcie wysokiej jakości syntezy audio 381

10. Zdalne sterowanie 385

  • 10.0. Wprowadzenie 385
  • 10.1. Odbieranie sygnałów z pilota na podczerwień 386
  • 10.2. Odkodowywanie sygnałów podczerwieni 389
  • 10.3. Naśladowanie sygnałów pilota 392
  • 10.4. Sterowanie aparatem cyfrowym 395
  • 10.5. Sterowanie urządzeniami na prąd zmienny przez zhakowanie zdalnie sterowanego przełącznika 398

11. Wyświetlacze 403

  • 11.0. Wprowadzenie 403
  • 11.1. Tekstowe wyświetlacze LCD 403
  • 11.2. Formatowanie tekstu 407
  • 11.3. Włączanie i wyłączanie kursora i wyświetlacza 410
  • 11.4. Przewijanie tekstu 411
  • 11.5. Wyświetlanie znaków specjalnych 414
  • 11.6. Tworzenie własnych znaków 417
  • 11.7. Wyświetlanie symboli złożonych z kilku znaków 419
  • 11.8. Wyświetlanie pikseli mniejszych niż pojedynczy znak 421
  • 11.9. Wybór graficznego wyświetlacza LCD 424
  • 11.10. Sterowanie kolorowym wyświetlaczem LCD 426
  • 11.11. Sterowanie monochromatycznym wyświetlaczem OLED 429

12. Godziny i daty 435

  • 12.0. Wprowadzenie 435
  • 12.1. Stosowanie funkcji millis do pomiaru czasu 435
  • 12.2. Tworzenie przerw w szkicu 436
  • 12.3. Precyzyjne mierzenie długości impulsu 440
  • 12.4. Wykorzystanie Arduino jako zegarka 442
  • 12.5. Regularne wywoływanie funkcji 449
  • 12.6. Korzystanie z zegara czasu rzeczywistego 453

13. Komunikacja za pomocą I2C i SPI 457

  • 13.0. Wprowadzenie 457
  • 13.1. Podłączanie kilku urządzeń I2C 463
  • 13.2. Podłączanie kilku urządzeń SPI 466
  • 13.3. Praca z układem scalonym I2C 469
  • 13.4. Zwiększenie liczby wejść i wyjść za pomocą ekspandera wyprowadzeń I2C 473
  • 13.5. Komunikacja między kilkoma płytkami Arduino 476
  • 13.6. Korzystanie z akcelerometru wbudowanego w kontrolerze Wii 480

14. Prosta komunikacja bezprzewodowa 487

  • 14.0. Wprowadzenie 487
  • 14.1. Wysyłanie wiadomości za pomocą tanich modułów bezprzewodowych 487
  • 14.2. Podłączenie Arduino przez ZigBee lub sieć 802.15.4 494
  • 14.3. Wysyłanie wiadomości do konkretnego XBee 501
  • 14.4. Przesyłanie danych z czujników między modułami XBee 504
  • 14.5. Włączanie elementu wykonawczego za pomocą XBee 509
  • 14.6. Łączenie się z urządzeniami wyposażonymi w Bluetooth Classic 514
  • 14.7. Łączenie się z urządzeniami za pomocą Bluetootha Low Energy 517

15. Wi-Fi i Ethernet 521

  • 15.0. Wprowadzenie 521
  • 15.1. Łączenie się z siecią Ethernet 523
  • 15.2. Automatyczne uzyskiwanie swojego adresu IP 527
  • 15.3. Wysyłanie i odbieranie prostych wiadomości 528
  • 15.4. Użycie Arduino z wbudowanym Wi-Fi 536
  • 15.5. Łączenie się z Wi-Fi za pomocą niedrogich modułów 539
  • 15.6. Wyciąganie danych z odpowiedzi z serwera 544
  • 15.7. Żądanie danych z serwera sieciowego w formacie XML 549
  • 15.8. Arduino jako serwer sieciowy 551
  • 15.9. Obsługa przychodzących żądań sieciowych 556
  • 15.10. Obsługa przychodzących żądań dla określonych stron 560
  • 15.11. Formatowanie odpowiedzi z serwera za pomocą HTML 565
  • 15.12. Pobieranie danych z serwera za pomocą formularzy (POST) 569
  • 15.13. Obsługa stron internetowych z dużą ilością danych 572
  • 15.14. Publikowanie wiadomości na Twitterze 579
  • 15.15. Wymiana danych w internecie rzeczy 582
  • 15.16. Wysyłanie danych do brokera MQTT 583
  • 15.17. Subskrypcja danych z brokera MQTT 585
  • 15.18. Pobieranie godziny i daty z internetowego serwera czasu 587

16. Stosowanie, modyfikowanie i tworzenie bibliotek 593

  • 16.0. Wprowadzenie 593
  • 16.1. Korzystanie z bibliotek wbudowanych w Arduino IDE 593
  • 16.2. Instalacja bibliotek zewnętrznych 597
  • 16.3. Modyfikacja biblioteki 598
  • 16.4. Tworzenie własnych bibliotek 602
  • 16.5. Tworzenie bibliotek wykorzystujących inne biblioteki 607
  • 16.6. Aktualizacja bibliotek niestandardowych dla Arduino 1.0 612

17. Zaawansowane techniki programowania i obsługa pamięci 615

  • 17.0. Wprowadzenie 615
  • 17.1. Zrozumienie procesu kompilacji i wgrywania kodu źródłowego na płytkę 616
  • 17.2. Określanie ilości zajętej i wolnej pamięci RAM 619
  • 17.3. Przechowywanie danych liczbowych w pamięci flash i ich pobieranie 622
  • 17.4. Przechowywanie łańcuchów znaków w pamięci flash i ich pobieranie 625
  • 17.5. Stosowanie #define i const zamiast liczb całkowitych 627
  • 17.6. Stosowanie kompilacji warunkowych 628

18. Bezpośrednie korzystanie ze sprzętu kontrolera 631

  • 18.0. Wprowadzenie 631
  • 18.1. Przechowywanie danych w nieulotnej pamięci EEPROM 636
  • 18.2. Automatyczne wykonywanie operacji po zmianie stanu pinu 639
  • 18.3. Wykonywanie operacji cyklicznych 642
  • 18.4. Ustawianie impulsu szerokości i długości licznika 644
  • 18.5. Tworzenie generatora impulsów 646
  • 18.6. Zmiana częstotliwości PWM licznika 649
  • 18.7. Zliczanie impulsów 651
  • 18.8. Dokładny pomiar impulsów 653
  • 18.9. Szybki pomiar wartości analogowych 656
  • 18.10. Zmniejszenie zużycia baterii 658
  • 18.11. Bardzo szybkie ustawienie pinów cyfrowych 660
  • 18.12. Wgrywanie szkiców za pomocą programatora 663
  • 18.13. Zastępowanie programu rozruchowego Arduino 664
  • 18.14. Poruszanie kursorem myszki na komputerze (PC lub Mac) 665

A. Komponenty elektroniczne 669

B. Czytanie schematów i dokumentacji 675

C. Budowa obwodu 681

D. Wskazówki dotyczące rozwiązywania problemów z programem 685

E. Wskazówki dotyczące rozwiązywania problemów ze sprzętem 689

F. Piny cyfrowe i analogowe 691

G. Tabela ASCII i rozszerzony zestaw znaków 695

Autor

ISBN

978-83-283-7161-3

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „ARDUINO PRZEPISY NA ROZPOCZĘCIE ROZSZERZANIE I UDOSKONALANIE PROJEKTÓW”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *