Spis treści
Podziękowania (17)
1. Wprowadzenie (19)
- Nieograniczone możliwości (20)
- Popularność (24)
- Części i akcesoria (24)
- Wymagane oprogramowanie (25)
- System Mac OS X (25)
- System Windows XP i nowsze (29)
- System Ubuntu Linux 9.04 i nowsze (33)
- Bezpieczeństwo (36)
- Co dalej? (36)
2. Pierwsze spojrzenie na płytkę Arduino i środowisko IDE (37)
- Płytka Arduino (37)
- Wprowadzenie do środowiska IDE (42)
- Obszar poleceń (43)
- Obszar tekstu (44)
- Obszar komunikatów (44)
- Tworzenie pierwszego szkicu w środowisku IDE (45)
- Komentarze (45)
- Funkcja setup() (46)
- Sterowanie sprzętem (46)
- Funkcja loop() (47)
- Weryfikacja szkicu (49)
- Wysyłanie i uruchamianie szkicu (50)
- Modyfikowanie szkicu (50)
- Co dalej? (50)
3. Pierwsze kroki (51)
- Planowanie projektów (52)
- Kilka słów o elektryczności (53)
- Natężenie (53)
- Napięcie (53)
- Moc (53)
- Komponenty elektroniczne (53)
- Rezystor (54)
- Dioda LED (57)
- Płytka uniwersalna (58)
- Projekt nr 1: tworzenie fali migających diod LED (61)
- Algorytm (61)
- Sprzęt (61)
- Szkic (61)
- Schemat (62)
- Uruchamianie szkicu (63)
- Stosowanie zmiennych (64)
- Projekt nr 2: powtarzanie instrukcji za pomocą pętli for (65)
- Zmiana jasności diod LED za pomocą modulacji szerokości impulsu (66)
- Projekt nr 3: przykład zastosowania metody PWM (67)
- Dodatkowe komponenty elektroniczne (68)
- Tranzystor (68)
- Dioda prostownicza (69)
- Przekaźnik (70)
- Obwody zasilane wyższym napięciem (71)
- Co dalej? (72)
4. Elementy składowe obwodów (73)
- Stosowanie schematów obwodów (74)
- Identyfikacja komponentów (75)
- Połączenia na schemacie obwodu (77)
- Analiza przykładowego schematu (77)
- Kondensator (78)
- Mierzenie pojemności kondensatora (78)
- Odczytywanie wartości kondensatorów (79)
- Rodzaje kondensatorów (79)
- Wejście cyfrowe (80)
- Projekt nr 4: przykład użycia cyfrowego wejścia (82)
- Algorytm (82)
- Sprzęt (83)
- Schemat obwodu (83)
- Szkic (87)
- Modyfikowanie szkicu (87)
- Wyjaśnienie szkicu (87)
- Tworzenie stałych za pomocą wyrażenia #define (88)
- Odczytywanie stanu pinów cyfrowych (88)
- Podejmowanie decyzji za pomocą wyrażenia if (88)
- Podejmowanie dodatkowych decyzji za pomocą wyrażeń if-then-else (89)
- Zmienne logiczne (90)
- Operatory porównania (90)
- Łączenie wielu operacji porównania (91)
- Projekt nr 5: sterowanie ruchem samochodowym (92)
- Cel (92)
- Algorytm (93)
- Sprzęt (93)
- Schemat (93)
- Szkic (94)
- Uruchamianie szkicu (97)
- Sygnały analogowe kontra sygnały cyfrowe (98)
- Projekt nr 6: tester baterii (99)
- Cel (99)
- Algorytm (99)
- Sprzęt (100)
- Schemat (100)
- Szkic (100)
- Działania arytmetyczne w systemie Arduino (102)
- Zmienne typu float (102)
- Operatory porównania liczb (103)
- Poprawa precyzji pomiarów sygnału analogowego za pomocą napięcia referencyjnego (103)
- Stosowanie zewnętrznego napięcia referencyjnego (103)
- Stosowanie wewnętrznego napięcia referencyjnego (104)
- Rezystor nastawny (105)
- Brzęczyki piezoelektryczne (106)
- Schemat elementu piezo (107)
- Projekt nr 7: praktyczne wykorzystanie brzęczyka piezo (107)
- Projekt nr 8: budowa szybkiego termometru (108)
- Cel (109)
- Sprzęt (109)
- Schemat (110)
- Szkic (110)
- Doskonalenie szkicu (112)
- Co dalej? (112)
5. Praca z funkcjami (113)
- Projekt nr 9: tworzenie funkcji powtarzającej określone działanie (114)
- Projekt nr 10: tworzenie funkcji ustawiającej liczbę cykli włączania diod (115)
- Tworzenie funkcji zwracającej wartość (116)
- Projekt nr 11: budowa szybkiego termometru z migającymi diodami LED (117)
- Sprzęt (117)
- Schemat (118)
- Szkic (118)
- Wyświetlanie danych odbieranych od płytki Arduino w oknie monitora portu szeregowego (120)
- Monitor portu szeregowego (120)
- Projekt nr 12: wyświetlanie temperatury w oknie monitora portu szeregowego (122)
- Diagnozowanie systemów za pomocą monitora portu szeregowego (123)
- Podejmowanie decyzji za pomocą wyrażeń while (124)
- Konstrukcja do-while (125)
- Wysyłanie danych z monitora portu szeregowego do systemu Arduino (125)
- Projekt nr 13: mnożenie liczby przez dwa (126)
- Zmienne typu long (127)
- Projekt nr 14: stosowanie zmiennych typu long (128)
- Co dalej? (129)
6. Liczby, zmienne i działania arytmetyczne (131)
- Generowanie liczb losowych (132)
- Generowanie liczb losowych na podstawie napięcia na wolnym pinie (132)
- Projekt nr 15: tworzenie elektronicznej kostki do gry (134)
- Sprzęt (134)
- Schemat (134)
- Szkic (134)
- Modyfikowanie szkicu (137)
- Krótkie wprowadzenie w świat liczb binarnych (137)
- Zwiększanie liczby dostępnych pinów cyfrowych za pomocą rejestrów przesuwających (138)
- Projekt nr 16: tworzenie wyświetlacza liczb binarnych złożonego z diod LED (140)
- Sprzęt (140)
- Łączenie rejestru przesuwającego 74HC595 (140)
- Szkic (142)
- Projekt nr 17: implementacja binarnego quizu (143)
- Algorytm (143)
- Szkic (143)
- Tablice (146)
- Definiowanie tablicy (146)
- Odwoływanie się do wartości w tablicy (147)
- Zapisywanie i odczytywanie danych przechowywanych w tablicach (147)
- Siedmiosegmentowe wyświetlacze LED (148)
- Sterowanie wyświetlaczem LED (150)
- Projekt nr 18: tworzenie wyświetlacza jednocyfrowego (151)
- Sprzęt (151)
- Schemat (151)
- Szkic (151)
- Wyświetlanie dwóch cyfr (153)
- Projekt nr 19: sterowanie dwoma modułami wyświetlaczy siedmiosegmentowych LED (154)
- Sprzęt (154)
- Schemat (154)
- Modulo (155)
- Projekt nr 20: budowa termometru cyfrowego (156)
- Moduły wyświetlaczy matrycowych LED (158)
- Schemat obwodu wyświetlacza matrycowego LED (159)
- Łączenie obwodu (161)
- Arytmetyka bitowa (161)
- Operator koniunkcji bitowej (162)
- Operator alternatywy bitowej (162)
- Operator bitowej alternatywy wykluczającej (163)
- Operator negacji bitowej (163)
- Operatory bitowego przesunięcia w lewo i w prawo (163)
- Projekt nr 21: tworzenie wyświetlacza matrycowego LED (164)
- Projekt nr 22: wyświetlanie obrazów na wyświetlaczu matrycowym LED (165)
- Projekt nr 23: wyświetlanie obrazu na wyświetlaczu matrycowym LED (167)
- Projekt nr 24: prezentacja animacji na wyświetlaczu matrycowym LED (169)
- Co dalej? (170)
7. Wyświetlacze ciekłokrystaliczne (171)
- Znakowe moduły LCD (172)
- Obsługa znakowego modułu LCD w szkicu (173)
- Wyświetlanie tekstu (174)
- Wyświetlanie zmiennych i liczb (175)
- Projekt nr 25: definiowanie znaków niestandardowych (176)
- Graficzne moduły LCD (178)
- Łączenie graficznego modułu LCD (179)
- Stosowanie modułu LCD (179)
- Sterowanie wyświetlaczem (180)
- Projekt nr 26: funkcje tekstowe w praktyce (180)
- Tworzenie złożonych efektów wizualnych (181)
- Projekt nr 27: budowa szybkiego termometru z wyświetlaną historią (183)
- Algorytm (183)
- Sprzęt (183)
- Szkic (184)
- Wynik (185)
- Modyfikowanie szkicu (186)
- Co dalej? (186)
8. Rozszerzanie możliwości platformy Arduino (187)
- Moduły (188)
- Płytka prototypowa ProtoShield (190)
- Projekt nr 28: tworzenie modułu niestandardowego z ośmioma diodami LED (191)
- Sprzęt (192)
- Schemat (192)
- Układ płytki prototypowej ProtoShield (192)
- Projekt (193)
- Lutowanie komponentów (194)
- Modyfikacja modułu niestandardowego (195)
- Rozszerzanie szkiców za pomocą bibliotek (196)
- Importowanie bibliotek dla modułów (196)
- Karty pamięci microSD (201)
- Testowanie karty microSD (201)
- Projekt nr 29: zapisywanie danych na karcie pamięci (202)
- Projekt nr 30: budowa urządzenia rejestrującego temperaturę (205)
- Zarządzanie czasem wykonywania aplikacji za pomocą funkcji millis() i micros() (208)
- Projekt nr 31: budowa stopera (210)
- Sprzęt (210)
- Schemat obwodu (210)
- Szkic (210)
- Przerwania (213)
- Tryby przerwań (213)
- Konfiguracja przerwań (214)
- Aktywowanie i dezaktywowanie przerwań (214)
- Projekt nr 32: stosowanie przerwań (214)
- Co dalej? (216)
9. Klawiatury numeryczne (217)
- Stosowanie klawiatury numerycznej (217)
- Łączenie klawiatury numerycznej (218)
- Programowanie obsługi klawiatury numerycznej (219)
- Testowanie szkicu (220)
- Podejmowanie decyzji za pomocą konstrukcji switch-case (220)
- Projekt nr 33: tworzenie zamka sterowanego klawiaturą numeryczną (221)
- Szkic (221)
- Działanie szkicu (223)
- Testowanie szkicu (223)
- Co dalej? (224)
10. Odczytywanie danych wejściowych użytkownika za pośrednictwem ekranów dotykowych (225)
- Ekrany dotykowe (226)
- Łączenie ekranu dotykowego (226)
- Projekt nr 34: adresowanie obszarów na ekranie dotykowym (227)
- Sprzęt (227)
- Szkic (227)
- Testowanie szkicu (229)
- Odwzorowywanie punktów dotknięcia ekranu (229)
- Projekt nr 35: budowa dwustanowego przełącznika dotykowego (230)
- Szkic (231)
- Działanie szkicu (232)
- Testowanie szkicu (233)
- Projekt nr 36: budowa przełącznika dotykowego podzielonego na trzy obszary (233)
- Mapa ekranu dotykowego (233)
- Szkic (234)
- Działanie szkicu (235)
- Co dalej? (236)
11. Rodzina produktów Arduino (237)
- Projekt nr 37: budowa własnej platformy Arduino na płytce uniwersalnej (238)
- Sprzęt (238)
- Schemat obwodu (241)
- Uruchamianie szkicu testowego (244)
- Bogata rodzina płytek Arduino (247)
- Płytka Arduino Uno (249)
- Płytka Freetronics Eleven (249)
- Płytka Freeduino (250)
- Płytka Boarduino (250)
- Płytka Arduino Nano (251)
- Płytka Arduino LilyPad (251)
- Płytka Arduino Mega 2560 (252)
- Płytka Freetronics EtherMega (253)
- Płytka Arduino Due (253)
- Co dalej? (254)
12. Silniki i ruch (255)
- Wprawianie urządzeń w ruch za pomocą silników wykonawczych (256)
- Wybór silnika wykonawczego (256)
- Łączenie silnika wykonawczego (257)
- Uruchamianie silnika wykonawczego (257)
- Projekt nr 38: budowa termometru analogowego (259)
- Sprzęt (259)
- Schemat (259)
- Szkic (260)
- Stosowanie silników elektrycznych (261)
- Tranzystor Darlingtona TIP120 (262)
- Projekt nr 39: sterowanie silnikiem (262)
- Sprzęt (262)
- Schemat (263)
- Szkic (264)
- Projekt nr 40: budowa robota gąsienicowego i sterowanie tym robotem (265)
- Sprzęt (265)
- Schemat (267)
- Szkic (270)
- Wykrywanie kolizji (272)
- Projekt nr 41: wykrywanie kolizji robota za pomocą mikroprzełącznika (272)
- Schemat (273)
- Szkic (273)
- Czujniki odległości na podczerwień (276)
- Łączenie obwodu (276)
- Testowanie czujnika odległości na podczerwień (276)
- Projekt nr 42: wykrywanie kolizji robota za pomocą czujnika odległości na podczerwień (279)
- Ultradźwiękowe czujniki odległości (281)
- Łączenie czujnika ultradźwiękowego (282)
- Stosowanie czujnika ultradźwiękowego (282)
- Testowanie ultradźwiękowego czujnika odległości (282)
- Projekt nr 43: wykrywanie kolizji robota za pomocą ultradźwiękowego czujnika odległości (284)
- Co dalej? (287)
13. Stosowanie systemu GPS na platformie Arduino (289)
- Czym jest GPS? (290)
- Testowanie modułu GPS (291)
- Projekt nr 44: budowa prostego odbiornika GPS (293)
- Sprzęt (293)
- Szkic (294)
- Wyświetlanie położenia na ekranie LCD (295)
- Projekt nr 45: budowa precyzyjnego zegara korzystającego z systemu GPS (296)
- Projekt nr 46: rejestrowanie położenia ruchomego obiektu w czasie (298)
- Sprzęt (298)
- Szkic (298)
- Wyświetlanie zarejestrowanych lokalizacji na mapie (300)
- Co dalej? (302)
14. Bezprzewodowe przesyłanie danych (303)
- Stosowanie niedrogich modułów komunikacji bezprzewodowej (304)
- Projekt nr 47: zdalne, bezprzewodowe sterowanie urządzeniem (305)
- Sprzęt składający się na obwód nadajnika (305)
- Schemat nadajnika (306)
- Sprzęt składający się na obwód odbiornika (306)
- Schemat odbiornika (306)
- Szkic nadajnika (308)
- Szkic odbiornika (309)
- Moduły bezprzewodowego przesyłania danych XBee - większy zasięg i szybsza transmisja (310)
- Projekt nr 48: transmisja danych za pomocą modułów XBee (312)
- Szkic (312)
- Konfiguracja komputera pod kątem odbierania danych (313)
- Projekt nr 49: budowa zdalnie sterowanego termometru (314)
- Sprzęt (314)
- Układ urządzenia (315)
- Szkic (315)
- Obsługa urządzenia (317)
- Co dalej? (317)
15. Zdalne sterowanie za pomocą podczerwieni (319)
- Czym jest podczerwień? (319)
- Przygotowanie do użycia podczerwieni (320)
- Odbiornik podczerwieni (320)
- Pilot (321)
- Szkic testowy (321)
- Testowanie układu (322)
- Projekt nr 50: zdalne sterowanie systemem Arduino na podczerwień (323)
- Sprzęt (323)
- Szkic (323)
- Rozszerzanie szkicu (325)
- Projekt nr 51: budowa zdalnie sterowanego robota (325)
- Co dalej? (328)
16. Odczytywanie etykiet RFID (329)
- Wewnętrzna budowa urządzeń RFID (330)
- Testowanie sprzętu (331)
- Schemat (331)
- Testowanie schematu (331)
- Projekt nr 52: budowa prostego systemu kontroli dostępu na bazie technologii RFID (333)
- Szkic (333)
- Działanie szkicu (335)
- Zapisywanie danych we wbudowanej pamięci EEPROM systemu Arduino (336)
- Odczytywanie i zapisywanie danych w pamięci EEPROM (337)
- Projekt nr 53: budowa systemu kontroli dostępu RFID z pamięcią "ostatniej akcji" (338)
- Szkic (338)
- Działanie szkicu (341)
- Co dalej? (341)
17. Magistrale danych (343)
- Magistrala I2C (344)
- Projekt nr 54: stosowanie zewnętrznej pamięci EEPROM (346)
- Sprzęt (346)
- Schemat (346)
- Szkic (347)
- Wynik (349)
- Projekt nr 55: stosowanie układu ekspandera portów (350)
- Sprzęt (350)
- Schemat (350)
- Szkic (352)
- Magistrala SPI (353)
- Łączenie pinów (353)
- Implementacja obsługi magistrali SPI (354)
- Wysyłanie danych do urządzenia SPI (355)
- Projekt nr 56: stosowanie cyfrowego rezystora nastawnego (356)
- Sprzęt (356)
- Schemat (357)
- Szkic (357)
- Co dalej? (359)
18. Zegary czasu rzeczywistego (361)
- Łączenie modułu RTC (362)
- Projekt nr 57: wyświetlanie daty i godziny na podstawie zegara czasu rzeczywistego (362)
- Sprzęt (363)
- Szkic (363)
- Działanie szkicu (365)
- Projekt nr 58: tworzenie prostego zegara cyfrowego (367)
- Sprzęt (368)
- Szkic (368)
- Działanie szkicu i generowane wyniki (371)
- Projekt nr 59: budowa systemu kontroli czasu pracy na bazie technologii RFID (371)
- Sprzęt (372)
- Szkic (373)
- Działanie szkicu (377)
- Co dalej? (377)
19. Internet (379)
- Czego potrzebujemy? (379)
- Projekt nr 60: budowa zdalnej stacji monitoringu (381)
- Sprzęt (381)
- Szkic (381)
- Rozwiązywanie problemów (384)
- Działanie szkicu (385)
- Projekt nr 61: ćwierkające Arduino (386)
- Sterowanie systemem Arduino za pośrednictwem strony internetowej (388)
- Projekt nr 62: konfiguracja usługi Teleduino i zdalne sterowanie systemem Arduino (389)
- Sprzęt (389)
- Szkic (389)
- Zdalne sterowanie systemem Arduino (391)
- Co dalej? (392)
20. Komunikacja w sieci telefonii komórkowej (393)
- Sprzęt (394)
- Przygotowanie modułu zasilania (395)
- Konfigurowanie i testowanie sprzętu (396)
- Zmiana częstotliwości pracy (398)
- Projekt nr 63: budowa dzwoniącego Arduino (400)
- Sprzęt (400)
- Schemat (401)
- Szkic (401)
- Działanie szkicu (402)
- Projekt nr 64: budowa systemu Arduino wysyłającego SMS-y (403)
- Szkic (403)
- Działanie szkicu (404)
- Projekt nr 65: konfiguracja systemu sterowanego za pomocą wiadomości SMS (405)
- Sprzęt (405)
- Schemat (405)
- Szkic (405)
- Działanie szkicu (408)
- Co dalej? (408)
Skorowidz (411)
|