ksiazki24h.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

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


MARGOLIS M. JEPSON B.N. WELDIN R.

wydawnictwo: HELION , rok wydania 2021, wydanie I

cena netto: 99.00 Twoja cena  94,05 zł + 5% vat - dodaj do koszyka

Arduino

Przepisy na rozpoczęcie, rozszerzanie i udoskonalanie projektów


Popularność Arduino szybko rośnie. Dla niektórych jest to uzależniające hobby, dla innych - praktyczny, tani komputer, który może komunikować się ze światem zewnętrznym i obsługiwać przeróżne urządzenia elektroniczne. Arduino jest przy tym stosunkowo prosty w obsłudze nawet dla osób bez doświadczenia w programowaniu i elektronice. Wystarczy dobry pomysł i dzięki Arduino można łatwo tworzyć projekty związane z internetem rzeczy, czujniki monitorujące otoczenie, a także urządzenia reagujące na dotyk, dźwięk, temperaturę czy światło.

Książka stanowi zbiór ponad dwustu receptur ułatwiających wykorzystanie potencjału Arduino 1.8.

Jest dostosowana do potrzeb osób, które chcą po prostu szybko znaleźć rozwiązanie problemu ze sprzętem czy z kodem. Zawiera informacje potrzebne do pomyślnej realizacji szerokiej gamy projektów oraz dostosowania ich do szczególnych potrzeb. Nie ma tu przydługawych rozważań teoretycznych, za to są wskazówki pozwalające na błyskawiczne napisanie działającego kodu. Praktyczne receptury umożliwiające wykonanie wielu popularnych zadań przydadzą się zarówno adeptom Arduino, jak i doświadczonym programistom, którzy chcą skutecznie korzystać z niskopoziomowych zasobów kontrolera AVR.

W książce znajdziesz receptury dotyczące:

  • koncepcji pracy z programowaniem płytki Arduino
  • odczytywania sygnałów cyfrowych i analogowych
  • wykorzystywania różnorodnych czujników i urządzeń wejścia
  • stosowania wyświetlaczy, generowania dźwięków i sterowania pracą silników
  • komunikowania się ze zdalnie sterowanymi urządzeniami domowymi
  • zaawansowanych technik programowania i zarządzania pamię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

704 strony, oprawa miękka

Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2022