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
Opinie
Na razie nie ma opinii o produkcie.