42

Ardiuno 65 praktycznych pomysłów

  • Upload
    domciu

  • View
    19

  • Download
    3

Embed Size (px)

DESCRIPTION

Ardiuno

Citation preview

Tytuł oryginału Arduino Workshop A Hands-On Introduction with 65 Projects

Tłumaczenie Mikołaj Szczepaniak

ISBN 978-83-246-7999-7

Original edition Copyright copy 2013 by John BoxallAll rights reserved

Published by arrangement with No Starch Press Inc

Polish edition copyright copy 2014 by Helion SAAll rights reserved

All rights reserved No part of this book may be reproduced or transmitted in any form or by any means electronic or mechanical including photocopying recording or by any information storage retrieval system without permission from the Publisher

Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione Wykonywanie kopii metodą kserograficzną fotograficzną a także kopiowanie książki na nośniku filmowym magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli

Wydawnictwo HELION dołożyło wszelkich starań by zawarte w tej książce informacje były kompletnei rzetelne Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich Wydawnictwo HELION nie ponosi roacutewnież żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce

Wydawnictwo HELIONul Kościuszki 1c 44-100 GLIWICEtel 32 231 22 19 32 230 98 63e-mail helionhelionplWWW httphelionpl (księgarnia internetowa katalog książek)

Pliki z przykładami omawianymi w książce można znaleźć pod adresem ftpftphelionplprzykladyarduppzip

Drogi CzytelnikuJeżeli chcesz ocenić tę książkę zajrzyj pod adres httphelionpluseropiniearduppMożesz tam wpisać swoje uwagi spostrzeżenia recenzję

Printed in Poland

bull Kup książkębull Poleć książkę bull Oceń książkę

bull Księgarnia internetowabull Lubię to raquo Nasza społeczność

Spis tre ci

PODZI KOWANIA 17

1WPROWADZENIE 19

Nieograniczone mo liwo ci 20Popularno 24Cz ci i akcesoria 24Wymagane oprogramowanie 25

System Mac OS X 25System Windows XP i nowsze 29System Ubuntu Linux 904 i nowsze 33

Bezpiecze stwo 36Co dalej 36

2PIERWSZE SPOJRZENIE NA P YTK ARDUINO I RODOWISKO IDE 37

P ytka Arduino 37Wprowadzenie do rodowiska IDE 42

Obszar polece 43Obszar tekstu 44Obszar komunikatoacutew 44

Tworzenie pierwszego szkicu w rodowisku IDE 45Komentarze 45Funkcja setup() 46Sterowanie sprz tem 46Funkcja loop() 47Weryfikacja szkicu 49Wysy anie i uruchamianie szkicu 50Modyfikowanie szkicu 50

Co dalej 50

Kup książkę Poleć książkę

6 S p i s t r e c i

3PIERWSZE KROKI 51

Planowanie projektoacutew 52Kilka s oacutew o elektryczno ci 53

Nat enie 53Napi cie 53Moc 53

Komponenty elektroniczne 53Rezystor 54Dioda LED 57P ytka uniwersalna 58

Projekt nr 1 tworzenie fali migaj cych diod LED 61Algorytm 61Sprz t 61Szkic 61Schemat 62Uruchamianie szkicu 63

Stosowanie zmiennych 64Projekt nr 2 powtarzanie instrukcji za pomoc p tli for 65Zmiana jasno ci diod LED za pomoc modulacji szeroko ci impulsu 66Projekt nr 3 przyk ad zastosowania metody PWM 67Dodatkowe komponenty elektroniczne 68

Tranzystor 68Dioda prostownicza 69Przeka nik 70

Obwody zasilane wy szym napi ciem 71Co dalej 72

4ELEMENTY SK ADOWE OBWODOacuteW 73

Stosowanie schematoacutew obwodoacutew 74Identyfikacja komponentoacutew 75Po czenia na schemacie obwodu 77Analiza przyk adowego schematu 77

Kondensator 78Mierzenie pojemno ci kondensatora 78Odczytywanie warto ci kondensatoroacutew 79Rodzaje kondensatoroacutew 79

Wej cie cyfrowe 80Projekt nr 4 przyk ad u ycia cyfrowego wej cia 82

Algorytm 82Sprz t 83Schemat obwodu 83Szkic 87Modyfikowanie szkicu 87

Kup książkę Poleć książkę

S p i s t r e c i 7

Wyja nienie szkicu 87Tworzenie sta ych za pomoc wyra enia define 88Odczytywanie stanu pinoacutew cyfrowych 88Podejmowanie decyzji za pomoc wyra enia if 88Podejmowanie dodatkowych decyzji za pomoc wyra e if-then-else 89

Zmienne logiczne 90Operatory poroacutewnania 90

czenie wielu operacji poroacutewnania 91Projekt nr 5 sterowanie ruchem samochodowym 92

Cel 92Algorytm 93Sprz t 93Schemat 93Szkic 94Uruchamianie szkicu 97

Sygna y analogowe kontra sygna y cyfrowe 98Projekt nr 6 tester baterii 99

Cel 99Algorytm 99Sprz t 100Schemat 100Szkic 100

Dzia ania arytmetyczne w systemie Arduino 102Zmienne typu float 102Operatory poroacutewnania liczb 103

Poprawa precyzji pomiaroacutew sygna u analogowego za pomoc napi cia referencyjnego 103Stosowanie zewn trznego napi cia referencyjnego 103Stosowanie wewn trznego napi cia referencyjnego 104

Rezystor nastawny 105Brz czyki piezoelektryczne 106

Schemat elementu piezo 107Projekt nr 7 praktyczne wykorzystanie brz czyka piezo 107Projekt nr 8 budowa szybkiego termometru 108

Cel 109Sprz t 109Schemat 110Szkic 110Doskonalenie szkicu 112

Co dalej 112

5PRACA Z FUNKCJAMI 113

Projekt nr 9 tworzenie funkcji powtarzaj cej okre lone dzia anie 114Projekt nr 10 tworzenie funkcji ustawiaj cej liczb cykli w czania diod 115Tworzenie funkcji zwracaj cej warto 116

Kup książkę Poleć książkę

8 S p i s t r e c i

Projekt nr 11 budowa szybkiego termometru z migaj cymi diodami LED 117Sprz t 117Schemat 118Szkic 118

Wy wietlanie danych odbieranych od p ytki Arduinow oknie monitora portu szeregowego 120

Monitor portu szeregowego 120Projekt nr 12 wy wietlanie temperatury

w oknie monitora portu szeregowego 122Diagnozowanie systemoacutew za pomoc monitora portu szeregowego 123

Podejmowanie decyzji za pomoc wyra e while 124Konstrukcja do-while 125

Wysy anie danych z monitora portu szeregowego do systemu Arduino 125Projekt nr 13 mno enie liczby przez dwa 126Zmienne typu long 127Projekt nr 14 stosowanie zmiennych typu long 128Co dalej 129

6LICZBY ZMIENNE I DZIA ANIA ARYTMETYCZNE 131

Generowanie liczb losowych 132Generowanie liczb losowych na podstawie napi cia na wolnym pinie 132

Projekt nr 15 tworzenie elektronicznej kostki do gry 134Sprz t 134Schemat 134Szkic 134Modyfikowanie szkicu 137

Kroacutetkie wprowadzenie w wiat liczb binarnych 137Zmienne typu byte 137

Zwi kszanie liczby dost pnych pinoacutew cyfrowychza pomoc rejestroacutew przesuwaj cych 138

Projekt nr 16 tworzenie wy wietlacza liczb binarnych z o onego z diod LED 140Sprz t 140

czenie rejestru przesuwaj cego 74HC595 140Szkic 142

Projekt nr 17 implementacja binarnego quizu 143Algorytm 143Szkic 143

Tablice 146Definiowanie tablicy 146Odwo ywanie si do warto ci w tablicy 147Zapisywanie i odczytywanie danych przechowywanych w tablicach 147

Siedmiosegmentowe wy wietlacze LED 148Sterowanie wy wietlaczem LED 150

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

Spis tre ci

PODZI KOWANIA 17

1WPROWADZENIE 19

Nieograniczone mo liwo ci 20Popularno 24Cz ci i akcesoria 24Wymagane oprogramowanie 25

System Mac OS X 25System Windows XP i nowsze 29System Ubuntu Linux 904 i nowsze 33

Bezpiecze stwo 36Co dalej 36

2PIERWSZE SPOJRZENIE NA P YTK ARDUINO I RODOWISKO IDE 37

P ytka Arduino 37Wprowadzenie do rodowiska IDE 42

Obszar polece 43Obszar tekstu 44Obszar komunikatoacutew 44

Tworzenie pierwszego szkicu w rodowisku IDE 45Komentarze 45Funkcja setup() 46Sterowanie sprz tem 46Funkcja loop() 47Weryfikacja szkicu 49Wysy anie i uruchamianie szkicu 50Modyfikowanie szkicu 50

Co dalej 50

Kup książkę Poleć książkę

6 S p i s t r e c i

3PIERWSZE KROKI 51

Planowanie projektoacutew 52Kilka s oacutew o elektryczno ci 53

Nat enie 53Napi cie 53Moc 53

Komponenty elektroniczne 53Rezystor 54Dioda LED 57P ytka uniwersalna 58

Projekt nr 1 tworzenie fali migaj cych diod LED 61Algorytm 61Sprz t 61Szkic 61Schemat 62Uruchamianie szkicu 63

Stosowanie zmiennych 64Projekt nr 2 powtarzanie instrukcji za pomoc p tli for 65Zmiana jasno ci diod LED za pomoc modulacji szeroko ci impulsu 66Projekt nr 3 przyk ad zastosowania metody PWM 67Dodatkowe komponenty elektroniczne 68

Tranzystor 68Dioda prostownicza 69Przeka nik 70

Obwody zasilane wy szym napi ciem 71Co dalej 72

4ELEMENTY SK ADOWE OBWODOacuteW 73

Stosowanie schematoacutew obwodoacutew 74Identyfikacja komponentoacutew 75Po czenia na schemacie obwodu 77Analiza przyk adowego schematu 77

Kondensator 78Mierzenie pojemno ci kondensatora 78Odczytywanie warto ci kondensatoroacutew 79Rodzaje kondensatoroacutew 79

Wej cie cyfrowe 80Projekt nr 4 przyk ad u ycia cyfrowego wej cia 82

Algorytm 82Sprz t 83Schemat obwodu 83Szkic 87Modyfikowanie szkicu 87

Kup książkę Poleć książkę

S p i s t r e c i 7

Wyja nienie szkicu 87Tworzenie sta ych za pomoc wyra enia define 88Odczytywanie stanu pinoacutew cyfrowych 88Podejmowanie decyzji za pomoc wyra enia if 88Podejmowanie dodatkowych decyzji za pomoc wyra e if-then-else 89

Zmienne logiczne 90Operatory poroacutewnania 90

czenie wielu operacji poroacutewnania 91Projekt nr 5 sterowanie ruchem samochodowym 92

Cel 92Algorytm 93Sprz t 93Schemat 93Szkic 94Uruchamianie szkicu 97

Sygna y analogowe kontra sygna y cyfrowe 98Projekt nr 6 tester baterii 99

Cel 99Algorytm 99Sprz t 100Schemat 100Szkic 100

Dzia ania arytmetyczne w systemie Arduino 102Zmienne typu float 102Operatory poroacutewnania liczb 103

Poprawa precyzji pomiaroacutew sygna u analogowego za pomoc napi cia referencyjnego 103Stosowanie zewn trznego napi cia referencyjnego 103Stosowanie wewn trznego napi cia referencyjnego 104

Rezystor nastawny 105Brz czyki piezoelektryczne 106

Schemat elementu piezo 107Projekt nr 7 praktyczne wykorzystanie brz czyka piezo 107Projekt nr 8 budowa szybkiego termometru 108

Cel 109Sprz t 109Schemat 110Szkic 110Doskonalenie szkicu 112

Co dalej 112

5PRACA Z FUNKCJAMI 113

Projekt nr 9 tworzenie funkcji powtarzaj cej okre lone dzia anie 114Projekt nr 10 tworzenie funkcji ustawiaj cej liczb cykli w czania diod 115Tworzenie funkcji zwracaj cej warto 116

Kup książkę Poleć książkę

8 S p i s t r e c i

Projekt nr 11 budowa szybkiego termometru z migaj cymi diodami LED 117Sprz t 117Schemat 118Szkic 118

Wy wietlanie danych odbieranych od p ytki Arduinow oknie monitora portu szeregowego 120

Monitor portu szeregowego 120Projekt nr 12 wy wietlanie temperatury

w oknie monitora portu szeregowego 122Diagnozowanie systemoacutew za pomoc monitora portu szeregowego 123

Podejmowanie decyzji za pomoc wyra e while 124Konstrukcja do-while 125

Wysy anie danych z monitora portu szeregowego do systemu Arduino 125Projekt nr 13 mno enie liczby przez dwa 126Zmienne typu long 127Projekt nr 14 stosowanie zmiennych typu long 128Co dalej 129

6LICZBY ZMIENNE I DZIA ANIA ARYTMETYCZNE 131

Generowanie liczb losowych 132Generowanie liczb losowych na podstawie napi cia na wolnym pinie 132

Projekt nr 15 tworzenie elektronicznej kostki do gry 134Sprz t 134Schemat 134Szkic 134Modyfikowanie szkicu 137

Kroacutetkie wprowadzenie w wiat liczb binarnych 137Zmienne typu byte 137

Zwi kszanie liczby dost pnych pinoacutew cyfrowychza pomoc rejestroacutew przesuwaj cych 138

Projekt nr 16 tworzenie wy wietlacza liczb binarnych z o onego z diod LED 140Sprz t 140

czenie rejestru przesuwaj cego 74HC595 140Szkic 142

Projekt nr 17 implementacja binarnego quizu 143Algorytm 143Szkic 143

Tablice 146Definiowanie tablicy 146Odwo ywanie si do warto ci w tablicy 147Zapisywanie i odczytywanie danych przechowywanych w tablicach 147

Siedmiosegmentowe wy wietlacze LED 148Sterowanie wy wietlaczem LED 150

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

6 S p i s t r e c i

3PIERWSZE KROKI 51

Planowanie projektoacutew 52Kilka s oacutew o elektryczno ci 53

Nat enie 53Napi cie 53Moc 53

Komponenty elektroniczne 53Rezystor 54Dioda LED 57P ytka uniwersalna 58

Projekt nr 1 tworzenie fali migaj cych diod LED 61Algorytm 61Sprz t 61Szkic 61Schemat 62Uruchamianie szkicu 63

Stosowanie zmiennych 64Projekt nr 2 powtarzanie instrukcji za pomoc p tli for 65Zmiana jasno ci diod LED za pomoc modulacji szeroko ci impulsu 66Projekt nr 3 przyk ad zastosowania metody PWM 67Dodatkowe komponenty elektroniczne 68

Tranzystor 68Dioda prostownicza 69Przeka nik 70

Obwody zasilane wy szym napi ciem 71Co dalej 72

4ELEMENTY SK ADOWE OBWODOacuteW 73

Stosowanie schematoacutew obwodoacutew 74Identyfikacja komponentoacutew 75Po czenia na schemacie obwodu 77Analiza przyk adowego schematu 77

Kondensator 78Mierzenie pojemno ci kondensatora 78Odczytywanie warto ci kondensatoroacutew 79Rodzaje kondensatoroacutew 79

Wej cie cyfrowe 80Projekt nr 4 przyk ad u ycia cyfrowego wej cia 82

Algorytm 82Sprz t 83Schemat obwodu 83Szkic 87Modyfikowanie szkicu 87

Kup książkę Poleć książkę

S p i s t r e c i 7

Wyja nienie szkicu 87Tworzenie sta ych za pomoc wyra enia define 88Odczytywanie stanu pinoacutew cyfrowych 88Podejmowanie decyzji za pomoc wyra enia if 88Podejmowanie dodatkowych decyzji za pomoc wyra e if-then-else 89

Zmienne logiczne 90Operatory poroacutewnania 90

czenie wielu operacji poroacutewnania 91Projekt nr 5 sterowanie ruchem samochodowym 92

Cel 92Algorytm 93Sprz t 93Schemat 93Szkic 94Uruchamianie szkicu 97

Sygna y analogowe kontra sygna y cyfrowe 98Projekt nr 6 tester baterii 99

Cel 99Algorytm 99Sprz t 100Schemat 100Szkic 100

Dzia ania arytmetyczne w systemie Arduino 102Zmienne typu float 102Operatory poroacutewnania liczb 103

Poprawa precyzji pomiaroacutew sygna u analogowego za pomoc napi cia referencyjnego 103Stosowanie zewn trznego napi cia referencyjnego 103Stosowanie wewn trznego napi cia referencyjnego 104

Rezystor nastawny 105Brz czyki piezoelektryczne 106

Schemat elementu piezo 107Projekt nr 7 praktyczne wykorzystanie brz czyka piezo 107Projekt nr 8 budowa szybkiego termometru 108

Cel 109Sprz t 109Schemat 110Szkic 110Doskonalenie szkicu 112

Co dalej 112

5PRACA Z FUNKCJAMI 113

Projekt nr 9 tworzenie funkcji powtarzaj cej okre lone dzia anie 114Projekt nr 10 tworzenie funkcji ustawiaj cej liczb cykli w czania diod 115Tworzenie funkcji zwracaj cej warto 116

Kup książkę Poleć książkę

8 S p i s t r e c i

Projekt nr 11 budowa szybkiego termometru z migaj cymi diodami LED 117Sprz t 117Schemat 118Szkic 118

Wy wietlanie danych odbieranych od p ytki Arduinow oknie monitora portu szeregowego 120

Monitor portu szeregowego 120Projekt nr 12 wy wietlanie temperatury

w oknie monitora portu szeregowego 122Diagnozowanie systemoacutew za pomoc monitora portu szeregowego 123

Podejmowanie decyzji za pomoc wyra e while 124Konstrukcja do-while 125

Wysy anie danych z monitora portu szeregowego do systemu Arduino 125Projekt nr 13 mno enie liczby przez dwa 126Zmienne typu long 127Projekt nr 14 stosowanie zmiennych typu long 128Co dalej 129

6LICZBY ZMIENNE I DZIA ANIA ARYTMETYCZNE 131

Generowanie liczb losowych 132Generowanie liczb losowych na podstawie napi cia na wolnym pinie 132

Projekt nr 15 tworzenie elektronicznej kostki do gry 134Sprz t 134Schemat 134Szkic 134Modyfikowanie szkicu 137

Kroacutetkie wprowadzenie w wiat liczb binarnych 137Zmienne typu byte 137

Zwi kszanie liczby dost pnych pinoacutew cyfrowychza pomoc rejestroacutew przesuwaj cych 138

Projekt nr 16 tworzenie wy wietlacza liczb binarnych z o onego z diod LED 140Sprz t 140

czenie rejestru przesuwaj cego 74HC595 140Szkic 142

Projekt nr 17 implementacja binarnego quizu 143Algorytm 143Szkic 143

Tablice 146Definiowanie tablicy 146Odwo ywanie si do warto ci w tablicy 147Zapisywanie i odczytywanie danych przechowywanych w tablicach 147

Siedmiosegmentowe wy wietlacze LED 148Sterowanie wy wietlaczem LED 150

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S p i s t r e c i 7

Wyja nienie szkicu 87Tworzenie sta ych za pomoc wyra enia define 88Odczytywanie stanu pinoacutew cyfrowych 88Podejmowanie decyzji za pomoc wyra enia if 88Podejmowanie dodatkowych decyzji za pomoc wyra e if-then-else 89

Zmienne logiczne 90Operatory poroacutewnania 90

czenie wielu operacji poroacutewnania 91Projekt nr 5 sterowanie ruchem samochodowym 92

Cel 92Algorytm 93Sprz t 93Schemat 93Szkic 94Uruchamianie szkicu 97

Sygna y analogowe kontra sygna y cyfrowe 98Projekt nr 6 tester baterii 99

Cel 99Algorytm 99Sprz t 100Schemat 100Szkic 100

Dzia ania arytmetyczne w systemie Arduino 102Zmienne typu float 102Operatory poroacutewnania liczb 103

Poprawa precyzji pomiaroacutew sygna u analogowego za pomoc napi cia referencyjnego 103Stosowanie zewn trznego napi cia referencyjnego 103Stosowanie wewn trznego napi cia referencyjnego 104

Rezystor nastawny 105Brz czyki piezoelektryczne 106

Schemat elementu piezo 107Projekt nr 7 praktyczne wykorzystanie brz czyka piezo 107Projekt nr 8 budowa szybkiego termometru 108

Cel 109Sprz t 109Schemat 110Szkic 110Doskonalenie szkicu 112

Co dalej 112

5PRACA Z FUNKCJAMI 113

Projekt nr 9 tworzenie funkcji powtarzaj cej okre lone dzia anie 114Projekt nr 10 tworzenie funkcji ustawiaj cej liczb cykli w czania diod 115Tworzenie funkcji zwracaj cej warto 116

Kup książkę Poleć książkę

8 S p i s t r e c i

Projekt nr 11 budowa szybkiego termometru z migaj cymi diodami LED 117Sprz t 117Schemat 118Szkic 118

Wy wietlanie danych odbieranych od p ytki Arduinow oknie monitora portu szeregowego 120

Monitor portu szeregowego 120Projekt nr 12 wy wietlanie temperatury

w oknie monitora portu szeregowego 122Diagnozowanie systemoacutew za pomoc monitora portu szeregowego 123

Podejmowanie decyzji za pomoc wyra e while 124Konstrukcja do-while 125

Wysy anie danych z monitora portu szeregowego do systemu Arduino 125Projekt nr 13 mno enie liczby przez dwa 126Zmienne typu long 127Projekt nr 14 stosowanie zmiennych typu long 128Co dalej 129

6LICZBY ZMIENNE I DZIA ANIA ARYTMETYCZNE 131

Generowanie liczb losowych 132Generowanie liczb losowych na podstawie napi cia na wolnym pinie 132

Projekt nr 15 tworzenie elektronicznej kostki do gry 134Sprz t 134Schemat 134Szkic 134Modyfikowanie szkicu 137

Kroacutetkie wprowadzenie w wiat liczb binarnych 137Zmienne typu byte 137

Zwi kszanie liczby dost pnych pinoacutew cyfrowychza pomoc rejestroacutew przesuwaj cych 138

Projekt nr 16 tworzenie wy wietlacza liczb binarnych z o onego z diod LED 140Sprz t 140

czenie rejestru przesuwaj cego 74HC595 140Szkic 142

Projekt nr 17 implementacja binarnego quizu 143Algorytm 143Szkic 143

Tablice 146Definiowanie tablicy 146Odwo ywanie si do warto ci w tablicy 147Zapisywanie i odczytywanie danych przechowywanych w tablicach 147

Siedmiosegmentowe wy wietlacze LED 148Sterowanie wy wietlaczem LED 150

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

8 S p i s t r e c i

Projekt nr 11 budowa szybkiego termometru z migaj cymi diodami LED 117Sprz t 117Schemat 118Szkic 118

Wy wietlanie danych odbieranych od p ytki Arduinow oknie monitora portu szeregowego 120

Monitor portu szeregowego 120Projekt nr 12 wy wietlanie temperatury

w oknie monitora portu szeregowego 122Diagnozowanie systemoacutew za pomoc monitora portu szeregowego 123

Podejmowanie decyzji za pomoc wyra e while 124Konstrukcja do-while 125

Wysy anie danych z monitora portu szeregowego do systemu Arduino 125Projekt nr 13 mno enie liczby przez dwa 126Zmienne typu long 127Projekt nr 14 stosowanie zmiennych typu long 128Co dalej 129

6LICZBY ZMIENNE I DZIA ANIA ARYTMETYCZNE 131

Generowanie liczb losowych 132Generowanie liczb losowych na podstawie napi cia na wolnym pinie 132

Projekt nr 15 tworzenie elektronicznej kostki do gry 134Sprz t 134Schemat 134Szkic 134Modyfikowanie szkicu 137

Kroacutetkie wprowadzenie w wiat liczb binarnych 137Zmienne typu byte 137

Zwi kszanie liczby dost pnych pinoacutew cyfrowychza pomoc rejestroacutew przesuwaj cych 138

Projekt nr 16 tworzenie wy wietlacza liczb binarnych z o onego z diod LED 140Sprz t 140

czenie rejestru przesuwaj cego 74HC595 140Szkic 142

Projekt nr 17 implementacja binarnego quizu 143Algorytm 143Szkic 143

Tablice 146Definiowanie tablicy 146Odwo ywanie si do warto ci w tablicy 147Zapisywanie i odczytywanie danych przechowywanych w tablicach 147

Siedmiosegmentowe wy wietlacze LED 148Sterowanie wy wietlaczem LED 150

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S p i s t r e c i 9

Projekt nr 18 tworzenie wy wietlacza jednocyfrowego 151Sprz t 151Schemat 151Szkic 151Wy wietlanie dwoacutech cyfr 153

Projekt nr 19 sterowanie dwoma modu amiwy wietlaczy siedmiosegmentowych LED 154

Sprz t 154Schemat 154Modulo 155

Projekt nr 20 budowa termometru cyfrowego 156Sprz t 157Szkic 157

Modu y wy wietlaczy matrycowych LED 158Schemat obwodu wy wietlacza matrycowego LED 159

czenie obwodu 161Arytmetyka bitowa 161

Operator koniunkcji bitowej 162Operator alternatywy bitowej 162Operator bitowej alternatywy wykluczaj cej 163Operator negacji bitowej 163Operatory bitowego przesuni cia w lewo i w prawo 163

Projekt nr 21 tworzenie wy wietlacza matrycowego LED 164Projekt nr 22 wy wietlanie obrazoacutew na wy wietlaczu matrycowym LED 165Projekt nr 23 wy wietlanie obrazu na wy wietlaczu matrycowym LED 167Projekt nr 24 prezentacja animacji na wy wietlaczu matrycowym LED 169

Szkic 169Co dalej 170

7WY WIETLACZE CIEK OKRYSTALICZNE 171

Znakowe modu y LCD 172Obs uga znakowego modu u LCD w szkicu 173Wy wietlanie tekstu 174Wy wietlanie zmiennych i liczb 175

Projekt nr 25 definiowanie znakoacutew niestandardowych 176Graficzne modu y LCD 178

czenie graficznego modu u LCD 179Stosowanie modu u LCD 179Sterowanie wy wietlaczem 180

Projekt nr 26 funkcje tekstowe w praktyce 180Tworzenie z o onych efektoacutew wizualnych 181

Projekt nr 27 budowa szybkiego termometru z wy wietlan histori 183Algorytm 183Sprz t 183

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

10 S p i s t r e c i

Szkic 184Wynik 185Modyfikowanie szkicu 186

Co dalej 186

8ROZSZERZANIE MO LIWO CI PLATFORMY ARDUINO 187

Modu y 188P ytka prototypowa ProtoShield 190Projekt nr 28 tworzenie modu u niestandardowego z o mioma diodami LED 191

Sprz t 192Schemat 192Uk ad p ytki prototypowej ProtoShield 192Projekt 193Lutowanie komponentoacutew 194Modyfikacja modu u niestandardowego 195

Rozszerzanie szkicoacutew za pomoc bibliotek 196Importowanie bibliotek dla modu oacutew 196

Karty pami ci microSD 201Testowanie karty microSD 201

Projekt nr 29 zapisywanie danych na karcie pami ci 202Projekt nr 30 budowa urz dzenia rejestruj cego temperatur 205

Sprz t 205Szkic 205

Zarz dzanie czasem wykonywania aplikacji za pomoc funkcji millis() i micros() 208Projekt nr 31 budowa stopera 210

Sprz t 210Schemat obwodu 210Szkic 210

Przerwania 213Tryby przerwa 213Konfiguracja przerwa 214Aktywowanie i dezaktywowanie przerwa 214

Projekt nr 32 stosowanie przerwa 214Szkic 214

Co dalej 216

9KLAWIATURY NUMERYCZNE 217

Stosowanie klawiatury numerycznej 217czenie klawiatury numerycznej 218

Programowanie obs ugi klawiatury numerycznej 219Testowanie szkicu 220

Podejmowanie decyzji za pomoc konstrukcji switch-case 220

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S p i s t r e c i 11

Projekt nr 33 tworzenie zamka sterowanego klawiatur numeryczn 221Szkic 221Dzia anie szkicu 223Testowanie szkicu 223

Co dalej 224

10ODCZYTYWANIE DANYCH WEJ CIOWYCH U YTKOWNIKA ZAPO REDNICTWEM EKRANOacuteW DOTYKOWYCH 225

Ekrany dotykowe 226czenie ekranu dotykowego 226

Projekt nr 34 adresowanie obszaroacutew na ekranie dotykowym 227Sprz t 227Szkic 227Testowanie szkicu 229Odwzorowywanie punktoacutew dotkni cia ekranu 229

Projekt nr 35 budowa dwustanowego prze cznika dotykowego 230Szkic 231Dzia anie szkicu 232Testowanie szkicu 233

Projekt nr 36 budowa prze cznika dotykowegopodzielonego na trzy obszary 233

Mapa ekranu dotykowego 233Szkic 234Dzia anie szkicu 235

Co dalej 236

11RODZINA PRODUKTOacuteW ARDUINO 237

Projekt nr 37 budowa w asnej platformy Arduino na p ytce uniwersalnej 238Sprz t 238Schemat obwodu 241Uruchamianie szkicu testowego 244

Bogata rodzina p ytek Arduino 247P ytka Arduino Uno 249P ytka Freetronics Eleven 249P ytka Freeduino 250P ytka Boarduino 250P ytka Arduino Nano 251P ytka Arduino LilyPad 251P ytka Arduino Mega 2560 252P ytka Freetronics EtherMega 253P ytka Arduino Due 253

Co dalej 254

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

12 S p i s t r e c i

12SILNIKI I RUCH 255

Wprawianie urz dze w ruch za pomoc silnikoacutew wykonawczych 256Wyboacuter silnika wykonawczego 256

czenie silnika wykonawczego 257Uruchamianie silnika wykonawczego 257

Projekt nr 38 budowa termometru analogowego 259Sprz t 259Schemat 259Szkic 260

Stosowanie silnikoacutew elektrycznych 261Tranzystor Darlingtona TIP120 262

Projekt nr 39 sterowanie silnikiem 262Sprz t 262Schemat 263Szkic 264

Projekt nr 40 budowa robota g sienicowego i sterowanie tym robotem 265Sprz t 265Schemat 267Szkic 270

Wykrywanie kolizji 272Projekt nr 41 wykrywanie kolizji robota za pomoc mikroprze cznika 272

Schemat 273Szkic 273

Czujniki odleg o ci na podczerwie 276czenie obwodu 276

Testowanie czujnika odleg o ci na podczerwie 276Projekt nr 42 wykrywanie kolizji robota

za pomoc czujnika odleg o ci na podczerwie 279Ultrad wi kowe czujniki odleg o ci 281

czenie czujnika ultrad wi kowego 282Stosowanie czujnika ultrad wi kowego 282Testowanie ultrad wi kowego czujnika odleg o ci 282

Projekt nr 43 wykrywanie kolizji robotaza pomoc ultrad wi kowego czujnika odleg o ci 284

Szkic 284Co dalej 287

13STOSOWANIE SYSTEMU GPS NA PLATFORMIE ARDUINO 289

Czym jest GPS 290Testowanie modu u GPS 291Projekt nr 44 budowa prostego odbiornika GPS 293

Sprz t 293Szkic 294Wy wietlanie po o enia na ekranie LCD 295

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S p i s t r e c i 13

Projekt nr 45 budowa precyzyjnego zegara korzystaj cego z systemu GPS 296Sprz t 296Szkic 296

Projekt nr 46 rejestrowanie po o enia ruchomego obiektu w czasie 298Sprz t 298Szkic 298Wy wietlanie zarejestrowanych lokalizacji na mapie 300

Co dalej 302

14BEZPRZEWODOWE PRZESY ANIE DANYCH 303

Stosowanie niedrogich modu oacutew komunikacji bezprzewodowej 304Projekt nr 47 zdalne bezprzewodowe sterowanie urz dzeniem 305

Sprz t sk adaj cy si na obwoacuted nadajnika 305Schemat nadajnika 306Sprz t sk adaj cy si na obwoacuted odbiornika 306Schemat odbiornika 306Szkic nadajnika 308Szkic odbiornika 309

Modu y bezprzewodowego przesy ania danych XBeemdash wi kszy zasi g i szybsza transmisja 310

Projekt nr 48 transmisja danych za pomoc modu oacutew XBee 312Szkic 312Konfiguracja komputera pod k tem odbierania danych 313

Projekt nr 49 budowa zdalnie sterowanego termometru 314Sprz t 314Uk ad urz dzenia 315Szkic 315Obs uga urz dzenia 317

Co dalej 317

15ZDALNE STEROWANIE ZA POMOC PODCZERWIENI 319

Czym jest podczerwie 319Przygotowanie do u ycia podczerwieni 320

Odbiornik podczerwieni 320Pilot 321Szkic testowy 321Testowanie uk adu 322

Projekt nr 50 zdalne sterowanie systemem Arduino na podczerwie 323Sprz t 323Szkic 323Rozszerzanie szkicu 325

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

14 S p i s t r e c i

Projekt nr 51 budowa zdalnie sterowanego robota 325Sprz t 325Szkic 326

Co dalej 328

16ODCZYTYWANIE ETYKIET RFID 329

Wewn trzna budowa urz dze RFID 330Testowanie sprz tu 331

Schemat 331Testowanie schematu 331

Projekt nr 52 budowa prostego systemu kontrolidost pu na bazie technologii RFID 333

Szkic 333Dzia anie szkicu 335

Zapisywanie danych we wbudowanej pami ci EEPROM systemu Arduino 336Odczytywanie i zapisywanie danych w pami ci EEPROM 337

Projekt nr 53 budowa systemu kontroli dost pu RFIDz pami ci bdquoostatniej akcjirdquo 338

Szkic 338Dzia anie szkicu 341

Co dalej 341

17MAGISTRALE DANYCH 343

Magistrala I2C 344Projekt nr 54 stosowanie zewn trznej pami ci EEPROM 346

Sprz t 346Schemat 346Szkic 347Wynik 349

Projekt nr 55 stosowanie uk adu ekspandera portoacutew 350Sprz t 350Schemat 350Szkic 352

Magistrala SPI 353czenie pinoacutew 353

Implementacja obs ugi magistrali SPI 354Wysy anie danych do urz dzenia SPI 355

Projekt nr 56 stosowanie cyfrowego rezystora nastawnego 356Sprz t 356Schemat 357Szkic 357

Co dalej 359

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S p i s t r e c i 15

18ZEGARY CZASU RZECZYWISTEGO 361

czenie modu u RTC 362Projekt nr 57 wy wietlanie daty i godziny

na podstawie zegara czasu rzeczywistego 362Sprz t 363Szkic 363Dzia anie szkicu 365

Projekt nr 58 tworzenie prostego zegara cyfrowego 367Sprz t 368Szkic 368Dzia anie szkicu i generowane wyniki 371

Projekt nr 59 budowa systemu kontroli czasu pracyna bazie technologii RFID 371

Sprz t 372Szkic 373Dzia anie szkicu 377

Co dalej 377

19INTERNET 379

Czego potrzebujemy 379Projekt nr 60 budowa zdalnej stacji monitoringu 381

Sprz t 381Szkic 381Rozwi zywanie problemoacutew 384Dzia anie szkicu 385

Projekt nr 61 wierkaj ce Arduino 386Sprz t 386Szkic 386

Sterowanie systemem Arduino za po rednictwem strony internetowej 388Projekt nr 62 konfiguracja us ugi Teleduino

i zdalne sterowanie systemem Arduino 389Sprz t 389Szkic 389Zdalne sterowanie systemem Arduino 391

Co dalej 392

20KOMUNIKACJA W SIECI TELEFONII KOMOacuteRKOWEJ 393

Sprz t 394Przygotowanie modu u zasilania 395Konfigurowanie i testowanie sprz tu 396Zmiana cz stotliwo ci pracy 398

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

16 S p i s t r e c i

Projekt nr 63 budowa dzwoni cego Arduino 400Sprz t 400Schemat 401Szkic 401Dzia anie szkicu 402

Projekt nr 64 budowa systemu Arduino wysy aj cego SMS-y 403Szkic 403Dzia anie szkicu 404

Projekt nr 65 konfiguracja systemu sterowanegoza pomoc wiadomo ci SMS 405

Sprz t 405Schemat 405Szkic 405Dzia anie szkicu 408

Co dalej 408

SKOROWIDZ 411

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

16Odczytywanie

etykiet RFID

W tym rozdziale dowiesz si jak implementowa czytniki etykiet RFID

na bazie platformy Arduino nauczysz si zapisywa zmienne w pami ci EEPROM

na p ytce Arduino zaprojektujesz framework dla systemu dost pu do etykiet

RFID na bazie Arduino

RFID (od ang radio-frequency identification) to bezprzewodowy systemwykorzystuj cy pole elektromagnetyczne do przekazywania danych pomi dzyobiektami bez konieczno ci bezpo redniego kontaktu tych obiektoacutew Okazujesi e na bazie platformy Arduino mo na zbudowa urz dzenie odczytuj ce ty-powe etykiety i karty RFID Takie urz dzenie mo e by stosowane w systemachkontroli dost pu lub sterowania cyfrowymi pinami wyj ciowymi By mo e mia eju okazj u ywa kart RFID na przyk ad w formie kart dost pu umo liwiaj -cych otwieranie drzwi lub kart transportu publicznego zbli anych do czytnikoacuteww autobusach lub tramwajach Na rysunku 161 pokazano kilka przyk adoacutew etykieti kart RFID

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

330 R o z d z i a 1 6

Rysunek 161 Przyk adowe urz dzenia korzystaj ce ze standardu RFID

Wewn trzna budowa urz dze RFIDWewn trz urz dzenia RFID znajduje si bardzo ma y uk ad scalony z pami ci Dost p do tego uk adu wymaga specjalistycznego czytnika Wi kszo etykietRFID nie zawiera baterii mdash s zasilane energi pola magnetycznego generowa-nego przez czytnik RFID Pole jest generowane przez cewk ktoacutera jednocze niepe ni funkcj anteny odbieraj cej dane przesy ane pomi dzy kart a czytnikiemNa rysunku 162 pokazano cewk anteny czytnika RFID ktoacutery b dzie stosowanyw tym rozdziale

Rysunek 162 Czytnik RFID u ywany w tym rozdziale

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 331

Czytnik kart ktoacutery b dzie stosowany w tym rozdziale mo na kupi w sklepieSeeed Studio (httpwwwseeedstudiocom produkt nr ELB149C5M) Czytnikjest tani i atwy w u yciu Poniewa urz dzenie u ywa cz stotliwo ci 125 kHzkoniecznie nale y wybra etykiety RFID operuj ce na tej samej cz stotliwo ci(na przyk ad produkt nr RFR103B2B w sklepie Seeed Studio)

Testowanie sprz tuW tym podrozdziale po czymy czytnik RFID z p ytk Arduino a nast pnie prze-testujemy jego dzia anie za pomoc prostego szkicu odczytuj cego sygna z kartRFID i wysy aj cego te dane do monitora portu szeregowego

SchematNa rysunku 163 pokazano po czenia niezb dne do budowy modu u RFID

Rysunek 163 Po czenia w ramach modu u RFID

Testowanie schematuPo po czeniu czytnika RFID z p ytk Arduino mo emy przetestowa ten obwoacutedumieszczaj c czarn zwork w taki sposoacuteb aby czy a lewy i rodkowy pin w sek-cji zworek By po czy czytnik RFID z p ytk Arduino musisz wykona nast -puj ce kroki (do czenia obu urz dze trzeba u y przewodoacutew po czeniowychz ko coacutewkami e skimi i m skimi)

1 Wtyczk cewki umie w gnie dzie anteny

2 Pin GND czytnika po cz z pinem GND na p ytce Arduino

3 Pin VCC czytnika po cz z pinem 5 V na p ytce Arduino

4 Pin RX po cz z pinem cyfrowym nr 0 (D0) na p ytce Arduino

5 Pin TX po cz z pinem cyfrowym nr 1 (D1) na p ytce Arduino

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

332 R o z d z i a 1 6

Na czas wysy ania szkicoacutew na p ytk Arduino po czon z czytnikiem RFID nale yusun przewoacuted cz cy pin RX tego czytnika z pinem cyfrowym nr 0 na p ytceArduino Przewoacuted mo na ponownie pod czy dopiero po prawid owym wys aniuszkicu Usuni cie po czenia jest konieczne poniewa pin D0 jest u ywany przezsystem Arduino tak e do komunikacji z komputerem i otrzymywania szkicoacutew

Szkic testowyPo wpisaniu szkicu z listingu 161 nale y go wys a na p ytk Arduino

Listing 161 Szkic testuj cy modu RFID

Listing 161int data1 = 0

void setup() Serialbegin(9600)

void loop() if (Serialavailable() gt 0) data1 = Serialread() wy wietla otrzyman liczb Serialprint( ) Serialprint(data1 DEC)

Weryfikacja danych w oknie monitora portu szeregowegoNale y teraz otworzy okno monitora portu szeregowego i wykona kilka ruchoacutewetykiet RFID nad cewk Wy wietlony wynik powinien przypomina dane wi-doczne na rysunku 164

Rysunek 164 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 161

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 333

Warto zwroacuteci uwag na wy wietlenie a 14 liczb w oknie monitora portuszeregowego Sekwencja liczb to unikatowy identyfikator etykiety RFID W dal-szych szkicach w a nie na podstawie tej sekwencji b dziemy identyfikowa ety-kiety Warto teraz zapisa liczby wy wietlone dla ka dej z etykiet poniewa b -dziemy potrzebowali tych identyfikatoroacutew w kilku nast pnych projektach

Projekt nr 52 budowa prostego systemukontroli dost pu na bazie technologii RFID

Czas sprawdzi system RFID w praktycznych zastosowaniach W tym projekciepoka jak wywo ywa zdarzenia systemu Arduino w momencie odczytaniaprawid owej etykiety RFID W kodzie szkicu zapisano identyfikatory dwoacutechetykiet RFID mdash w momencie odczytania jednej z tych kart przez czytnik szkicwy wietli w oknie monitora portu szeregowego komunikat Karta zaakceptowanaW razie przy o enia do czytnika niew a ciwej karty w oknie monitora pojawi sikomunikat Karta odrzucona Rozwi zanie przygotowane w ramach tego pro-jektu b dzie punktem wyj cia dla dalszych prac przy u yciu technologii RFID(polegaj cych mi dzy innymi na uzupe nianiu istniej cych projektoacutew o ten me-chanizm)

SzkicW rodowisku IDE nale y wpisa i wys a nast puj cy szkic Warto jednak pa-mi ta o konieczno ci zast pienia znakoacutew x w obu tablicach (w wierszach i )warto ciami sk adaj cymi si na identyfikatory stosowanych kart RFID ktoacuteremo na sprawdzi za pomoc szkicu opisanego we wcze niejszej cz ci tego roz-dzia u (Same tablice zosta y omoacutewione w rozdziale 6)

Projekt nr 52 mdash budowa prostego systemu kontroli dost pu na bazie technologii RFID

int data1 = 0int ok = -1

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() nale y wyczy ci bufor portu szeregowego w przeciwnym razie pierwszy odczyt moacuteg by by nieprawid owy

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

334 R o z d z i a 1 6

Serialbegin(9600)

boolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem

ok = 0 ta zmienna u atwia podj cie decyzji je li ma warto 1 identyfikatory s takie je li ma warto 0 identyfikatory s roacute ne warto ndash1 oznacza e nie odczytano identyfikatora do sprawdzenia if (comparetag(newtag tag1) == true)

ok++ if (comparetag(newtag tag2) == true)

ok++

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) czas potrzebny na przes anie danych z bufora portu szeregowego for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora

data1 = Serialread() newtag[z] = data1

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 335

Serialflush() usuwa z bufora ewentualne kolejne odczyty czas poroacutewna identyfikatory

checkmytags()

tutaj nale y podj kroki zale nie od dopasowania identyfikatoroacutew if (ok gt 0) je li identyfikatory s takie same Serialprintln(Karta zaakceptowana) ok = -1 else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Karta odrzucona) ok = -1

Dzia anie szkicuPo umieszczeniu etykiety RFID w s siedztwie czytnika liczby sk adaj ce si naidentyfikator tej etykiety s wysy ane za po rednictwem portu szeregowegoW wierszu szkic pobiera wszystkie 14 liczb i umieszcza je w tablicy newtag[]Identyfikator jest nast pnie poroacutewnywany z dwoma identyfikatorami zapisa-nymi w wierszach i Do poroacutewnania identyfikatoroacutew wykorzystano funkcjcheckmytags() (zdefiniowan w wierszu i wywo ywan w wierszu ) Ka dapara identyfikatoroacutew jest poroacutewnywana za pomoc funkcji comparetag() zdefi-niowanej w wierszu

Funkcja comparetag() otrzymuje na wej ciu dwie tablice liczb i zwraca wartologiczn okre laj c czy te tablice s takie same (true) czy roacute ne (false) Je li od-czytany identyfikator pasuje do ktoacuterego z identyfikatoroacutew zapisanych w kodziezmiennej ok jest przypisywana warto 1 w wierszach i I wreszcie w wier-szu szkic decyduje o dalszym dzia aniu w zale no ci od ewentualnego dopa-sowania identyfikatoroacutew

Po wys aniu szkicu i ponownympo czeniu pinu cyfrowego nr 0 nap ytce Arduino z pinem RX czytnikaRFID (patrz rysunek 163) nale yotworzy okno monitora portu szere-gowego i umie ci kart RFID w s -siedztwie czytnika Wynik wy wietlo-ny na ekranie powinien przypominadane widoczne na rysunku 165

Rysunek 165 Dane wynikowe wygenerowaneprzez szkic dla projektu nr 52

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

336 R o z d z i a 1 6

Zapisywanie danych we wbudowanej pami ciEEPROM systemu Arduino

Zmienne definiowane i stosowane w szkicach dla platformy Arduino przecho-wuj dane tylko do momentu zresetowania tego systemu lub wy czenia zasila-nia Co w takim razie mo na zrobi aby zachowa te warto ci na przysz o Jak trwale zapisa na przyk ad sta y kod PIN ktoacutery u ytkownik b dzie moacutegwpisywa za po rednictwem klawiatury numerycznej (jak w rozdziale 9) W takimprzypadku warto skorzysta z pami ci EEPROM (od ang electrically erasableprogrammable read-only memory) Pami EEPROM przechowuje warto cizmiennych w mikrokontrolerze ATmega328 Warto ci zapisane w tej pami ci szachowywane tak e po wy czeniu zasilania

Pami EEPROM na p ytce Arduino mo e przechowywa warto ci 1024zmiennych jednobajtowych na pozycjach oznaczonych numerami od 0 do 1023Wystarczy przypomnie sobie e jeden bajt mo e reprezentowa liczb ca ko-wit z przedzia u od 0 do 255 aby zrozumie e opisywana pami wprost do-skonale nadaje si do przechowywania liczb sk adaj cych si na identyfikatoretykiety RFID Warunkiem korzystania z pami ci EEPROM w szkicach jestwywo anie biblioteki EEPROM (do czonej do rodowiska Arduino IDE) za po-moc nast puj cego wyra enia

include ltEEPROMhgt

Zapisanie warto ci w pami ci EEPROM wymaga ju tylko jednego prostegowyra enia

EEPROMwrite(a b)

Parametr a reprezentuje pozycj (z przedzia u od 0 do 1023) na ktoacuterej danawarto ma zosta zapisana natomiast parametr b to zmienna zawieraj ca bajtdanych ktoacutery ma by zapisany w pami ci EEPROM na wskazanej pozycji

Aby uzyska dane z pami ci EEPROM nale y u y wyra enia w postaci

value = EEPROMread(position)

Powy sze wyra enie odczytuje dane zapisane w pami ci EEPROM na po-zycji position i zapisuje je w zmiennej value

ywotno pami ci EEPROM jest do ograniczona zatem pami po pewnejliczbie operacji zapisu przestanie dzia a Wed ug deklaracji producenta (firmyAtmel) pami EEPROM platformy Arduino obs uguje maksymalnie 100 tys cyklizapisu i odczytu na ka dej pozycji Operacje odczytu nie wp ywaj na czas dzia a-nia tej pami ci

UWAGA

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 337

Odczytywanie i zapisywanie danych w pami ci EEPROMW tym punkcie przeanalizujemy przyk ad szkicu zapisuj cego dane w pami ciEEPROM i odczytuj cego te dane Nale y teraz wpisa i wys a szkic z listingu 162

Listing 162 Szkic demonstruj cy dzia anie pami ci EEPROM

Listing 162include ltEEPROMhgtint zz

void setup() Serialbegin(9600) randomSeed(analogRead(0))

void loop() Serialprintln(Zapisywanie liczb losowych) for (int i = 0 i lt 1024 i++) zz = random(255)

EEPROMwrite(i zz) Serialprintln() for (int a = 0 a lt 1024 a++)

zz = EEPROMread(a) Serialprint(Pozycja w pami ci EEPROM ) Serialprint(a) Serialprint( zawiera warto )

Serialprintln(zz) delay(25)

W p tli w wierszu liczba losowa z przedzia u od 0 do 255 jest zapisywanana ka dej pozycji w pami ci EEPROM Zapisane warto ci s nast pnie odczy-tywane w drugiej p tli w wierszu oraz wy wietlane w oknie monitora portuszeregowego (w wierszu )

Po wys aniu tego szkicu na platform Arduino nale y otworzy okno monito-ra portu szeregowego w ktoacuterym powinny zosta wy wietlone dane podobne dotych z rysunku 166

Mo emy teraz przyst pi do realizacji projektu korzystaj cego z pami ciEEPROM

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

338 R o z d z i a 1 6

Rysunek 166 Przyk adowe dane wynikowe wygenerowane przez szkic z listingu 162

Projekt nr 53 budowa systemu kontrolidost pu RFID z pami ci bdquoostatniej akcjirdquo

Mimo e w projekcie nr 52 pokaza em jak u ywa etykiet RFID do sterowaniaurz dzeniem na przyk ad wiat em lub zamkiem elektrycznym musimy pa-mi ta o tym e ponowne uruchomienie lub wy czenie systemu spowodujeutrat zapisanych danych Je li na przyk ad po w czeniu wiat a zosta o wy -czone zasilanie po ponownym w czeniu zasilania wiat o nie zostanie auto-matycznie w czone Tym razem chcemy aby po ponownym w czeniu zasilaniasystem Arduino pami ta i przywroacuteci swoacutej stan sprzed wy czenia zasilania Sproacute-bujmy rozwi za ten problem w tym projekcie

Szkic tego projektu b dzie zapisywa ostatnie dzia anie (akcj ) w pami ciEEPROM (t akcj mo e by na przyk ad zamkni cie lub otwarcie zamka) Poponownym uruchomieniu szkicu po awarii zasilania lub zresetowaniu platformyArduino system automatycznie odtworzy stan zapisany w pami ci EEPROM

SzkicW rodowisku Arduino IDE nale y wpisa i wys a nast puj cy szkic Tak etym razem trzeba zast pi znaki x w obu tablicach w wierszach i liczbamisk adowymi identyfikatoroacutew obu etykiet RFID (tak jak w projekcie nr 52)

Projekt nr 53 mdash budowa systemu kontroli dost pu RFID z pami ci bdquoostatniej akcjirdquo

include ltEEPROMhgtint data1 = 0int ok = -1int lockStatus = 0

identyfikatory etykiet RFID mo na sprawdzi za pomoc szkicu z listingu 161 int tag1[14] = x x x x x x x x x x x x x x int tag2[14] = x x x x x x x x x x x x x x

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 339

int newtag[14] = 00000000000000 tablica u ywana do poroacutewnywania odczytanego identyfikatora

void setup() Serialflush() Serialbegin(9600) pinMode(13 OUTPUT)

checkLock()

funkcja comparetag() poroacutewnuje dwie tablice i zwraca warto true je li s identyczne funkcja sprawdza si podczas poroacutewnywania identyfikatoroacutew RFIDboolean comparetag(int aa[14] int bb[14]) boolean ff = false int fg = 0 for (int cc = 0 cc lt 14 cc++) if (aa[cc] == bb[cc]) fg++ if (fg == 14) ff = true return ff

void checkmytags() poroacutewnuje oba zapisane identyfikatory z w a nie odczytanym identyfikatorem ok = 0 if (comparetag(newtag tag1) == true) ok++ if (comparetag(newtag tag2) == true) ok++

void checkLock() Serialprint(Stan systemu po ponownym uruchomieniu ) lockStatus = EEPROMread(0) if (lockStatus == 1)

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

340 R o z d z i a 1 6

Serialprintln(- zablokowany) digitalWrite(13 HIGH) if (lockStatus == 0) Serialprintln(- odblokowany) digitalWrite(13 LOW) if ((lockStatus = 1) ampamp (lockStatus = 0)) Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

void loop() ok = -1 if (Serialavailable() gt 0) je li umieszczono etykiet w s siedztwie czytnika nale y odczyta liczb przekazan za po rednictwem pinu szeregowego RX delay(100) for (int z = 0 z lt 14 z++) odczytuje pozosta e liczby identyfikatora data1 = Serialread() newtag[z] = data1 Serialflush() zapobiega wielokrotnym odczytom tego samego identyfikatora czas poroacutewna identyfikatory checkmytags()

if (ok gt 0) je li identyfikatory s takie same lockStatus = EEPROMread(0) if (lockStatus == 1) je li zablokowany odblokowuje

Serialprintln(Stan - odblokowany) digitalWrite(13 LOW) EEPROMwrite(0 0) if (lockStatus == 0)

Serialprintln(Stan - zablokowany) digitalWrite(13 HIGH) EEPROMwrite(0 1) if ((lockStatus = 1) ampamp (lockStatus = 0))

Serialprintln(B d pami ci EEPROM - zmie p ytk Arduino)

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

O d c z y t y wa n i e e t y k i e t R F I D 341

else if (ok == 0) je li identyfikatory s roacute ne Serialprintln(Nieprawid owa etykieta) ok = -1 delay(500)

Dzia anie szkicuPowy szy szkic jest zmodyfikowan wersj programu z projektu nr 52 Do sy-mulacji stanu systemu wykorzystano wbudowan diod LED ktoacutera dobrze de-monstruje urz dzenie w czane i wy czane po ka dym odczytaniu prawid o-wego identyfikatora RFID Po odczytaniu i dopasowaniu identyfikatora statuszamka jest zmieniany w wierszu Stan zamka jest zapisywany na pierwszejpozycji w pami ci EEPROM Stan jest reprezentowany przez warto liczbow 0 oznacza odblokowany zamek 1 oznacza zablokowany zamek Stan zamkazmienia si (z zablokowanego na odblokowany i odwrotnie) po ka dym odczycieprawid owego identyfikatora RFID w wierszach i

Szkic zawiera te kod zabezpieczaj cy system na wypadek gdyby pamiEEPROM przesta a dzia a Je li warto zwroacutecona po odczytaniu zawarto cipami ci EEPROM jest roacute na od 0 i 1 szkic wy wietla odpowiedni komunikatw wierszu Co wi cej stan systemu jest sprawdzany po ponownym uruchomie-niu szkicu w funkcji checkLock() w wierszach i Funkcja odczytujewarto zapisan w pami ci EEPROM okre la na tej podstawie ostatni stan sys-temu (zamka) i wed ug tego ustawia bie cy stan (zablokowany lub odblokowany)

Co dalejW tym rozdziale jeszcze raz wykorzystali my platform Arduino do budowy pro-stego urz dzenia ktoacutere bez tego systemu wymaga oby bardzo z o onego pro-jektu Wiedza przekazana w tym miejscu wystarczy do stosowania identyfikacjikart RFID w wielu innych projektach i pozwoli tworzy profesjonalne systemykontroli dost pu i sterowania cyfrowymi pinami wyj ciowymi Zastosowania tejtechnologii ponownie zademonstruj w rozdziale 18

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

342 R o z d z i a 1 6

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

Skorowidz

A

A 53AC 53adres

IP 387 380modu u sieciowego 383routera 383statyczny 381

MAC 385 387modu u 365

alarm antyw amaniowy 400algorytm 52 82alternating current 53alternatywa 91

bitowa 162wykluczaj ca 163

amper 53analog reference 103analogowy

sygna 98analogRead() 103analogWrite 67 68animacje 166anoda 57 69

symbol 75antena 394Arduino

LilyPad 249 251Mega 249Mega 2560 252Nano 249 251

Arduino 19 37Due 248 253LilyPad 249 251Mega 249 252

Nano 249 251piny 242p ytka 20 24p ytki alternatywne 247po czenia platformy z komputerem 25programowanie 25przechowywanie danych 336rozszerzanie 41 188sterowanie z poziomu przegl darki

internetowej 388sterowniki interfejsu USB 31symbol p ytki 75szkice platformy 42rodowisko programowania 42

Uno 28 386 389 394w asne p ytki 238zdalne sterowanie systemem 391

Arduinoapp 27AREF 103

t umienie zak oacutece na pinie 104array 146arytmetyka bitowa 161ATmega2560 248 252ATmega328 336ATmega328P 248

SMD 248attachInterrupt 214

B

B 69 76 138 262bajt 139Banzi Massimo 19baza 69

symbol 76

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

412 S k o r o w i d z

BCD 365bezw adno wzroku 165biblioteka 196

do czenie 180I2C 365instalowanie 196Mac OS X 197modu 196SerialGSM 403servo 258TinyGPS 293Twitter Arduino 386Ubuntu Linux 199VirtualWire 305Windows 198Wire 344

BIN 138binarne

systemy 137zmienne 161

binarycoded decimal 365bit 90bity (poroacutewnywanie) 162Blu-Tack 191b d

kompilacji 49w kodzie (znajdowanie) 123

Boarduino 250boolean variable 90bouncing 81brama sieciowa routera 380broadboard 58brz czyk

piezoelektryczny 106symbol 107

bufor portu szeregowego 125czyszczenie 127

byte 137 161

C

C 69 76 262calculateservo 261CAT5E 380CAT6 380cel projektu 52cewka (symbol) 76CHANGE 213chip

resistors 56select 353

circuit diagrams 74clock 141COM 76common 76Cooper Tyler 21crystal oscillator 240CS 353Cuartielles David 19current 53cyfrowy

sygna 98rezystor nastawnego 356

czaspracy 371wykonywania szkicu 208

cz stotliwo125 kHz 331433 MHz 304migania diody LED 50pracy modu u GSM 398

czo g 265czujnik

odleg o ci na podczerwie 277temperatury 109

czyszczenie bufora portu szeregowego 127

D

danerejestrowanie 201tekstowe (przesy anie) 304wys anie do monitora portu szeregowego 126wys anie z monitora portu szeregowego 125 126

DC 53DEC 138decimal point 149delay 48 50 62DFR0105 394diagram po cze 63digital storage oscilloscope 81digitalWrite 62dioda

LED 57 61symbol 76

napi cie przewodzenia 58oznaczenie 69prostownicza 69

symbol 75direct current 53DLINE 291 312d ugo wiadomo ci SMS 404

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S k o r o w i d z 413

dodawanie 102urz dze 41

domy lny stan pinoacutew cyfrowych 392dostosowanie poziomu napi cia 396do-while() 125DP 149drganie stykoacutew 81 218

zabezpieczenie 83drukowanie szkicu 43DS3232 361DSO 81Duemilanove 250dwoacutejkowy system 137dzielenie 102

napi cia 104

E

E 69 76 262EEPROM 336

zapisanie warto ci w pami ci 336zewn trzny 346ywotno pami ci 336

EEPROMwrite 336efekty wizualne 166EIA-96 code calculator 56ekran dotykowy 226

budowa 227czenie 226

mapa 229 234prze cznik 230testowanie 229 233

ekspander portoacutew 350 352ELB149C5M 331electrically erasable programmable read-only

memory 336elektroniczna kostka do gry 133elektryczno 53

statyczna (pomiar) 132element 146EM406 290emiter 69

symbol 76error 49EtherMega 253EtherTen 380 386 389expected 49Explorer 313

F

FALLING 213false 90fa sz 90farad 78feature creep 52float 102float voltage 100for 65Freeduino 250Freetronics

Eleven 249LCD amp Keypad 293

Fritzing 77FTDI 246funkcja 113

zwracaj ca warto 116

G

generowanie sygna oacutew elektrycznych 46 47GLCD

CursorTo 180DrawCircle 182DrawHoriLine 182DrawRect 182DrawRoundRect 182DrawVertLine 182FillRect 182Puts 180SetDot 182

global positioning system 290GND 53 77gniazdo

Ethernet 380kart pami ci microSD 380

GP2Y0A21YK0F 277GPS 188 290

dane o godzinie 296odbiornik 290stan odbiornika 292szybko przekazywania danych przez

odbiornik 292testowanie 291

GPS-09123 291Greenwich Mean Time 297ground 53GSM

cz stotliwo pracy 398status modu u 398

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

414 S k o r o w i d z

GSMtest 400zasilanie 394rozkaz nawi zania po czenia 402

H

HD44780 172hexTronik HXT900 257HIGH 48 62

I

I 59IO 40I2C 343 344 350

adres magistrali 350IDE 25 42

konfiguracja 27if 88if-then 220ikona

Monitor portu szeregowego 44Nowy 44Otwoacuterz 44Weryfikuj 44Za aduj 44Zapisz 44

ilo pami ci dost pnej 49infrared 319INPUT 47instrukcja

powtarzanie 124wykonywane jednorazowe 46

int 64 161integer 64integrated development environment 25interfejs sieci internetowej (Ethernet) 41inter-integrated circuit 343interrupt 213 214IPAddress ip 384IR 319iteracje 65izolacja od obwodu steruj cego 70

J

jasno wiecenia diody 233jednostki miar (konwersje) 79

K

kartadost pu 329microSD 201pamici

wpisywanie danych 202formatowanie 201

katoda 57 69symbol 75

klawiatura numeryczna 218program obs ugi 219testowanie 219

kod 403 388modyfikowanie 50paskowy 54

kolektor 69symbol 76

komentarz 45kompilowanie 49komponenty

wyboacuter 52komunikacja z Arduino

za po rednictwem internetu 388komunikaty rodowiska 44kondensator 78

ceramiczny 79elektrolityczny 80roz adowanie 78symbol 79

koniunkcja 91bitowa 162

konwersjajednostek miar 79liczby binarnej na dziesi tn 137

kostka do gry 133KS0066 172KS0108B 178k 54

L

L 41latch 141LCD 171

liczba w systemiebinarnym 175dziesi tnym 175szesnastkowym 175

modu graficzny 178pozycja kursora 174

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S k o r o w i d z 415

w asne znaki 176wy wietlenie

s owa 175zmiennej 175

wyzerowanie 174znakowy

czarna ramka z bia ym wype nieniem 182ko o 182liczba ca kowita 180odcinek 182prostok t z zaokr glonymi naro nikami 182tekst 180w czenie piksela 182wype niony prostok t 182

lcdbegin 174clear 174print 175setCursor 174

least significant bit 137LED 40 57 61

napi cie przewodzenia 58poziom jasno ci 66sterowanie SMS-em 405symbol 76wiecenie 48

wy czenie 48liczba

binarna 137 140ca kowita 64 127iteracji 65losowa 132 143obrotoacutew wa u na minut 261wy wietlanie 149

light-emitting diodes 40Lindsay Philip 20linia

danych 344zegara 344

liniowypotencjometr 105regulator napi cia 239

Linux 25Ubuntu 33

liquid crystal display 171logarytmiczny potencjometr 105long 127loop 47LOW 48 62 213LSB 137

LSBFIRST 150lutowanie 194

adowanie szkicu 43adunek elektryczny 78

M

MAC adres 385Mac OS X 25

biblioteka 197magistrala

danych 343I2C 344SPI 353

mapa ekranu dotykowego 229masa klej ca wielokrotnego u ytku 191master-in slave-out 353master-out slave-in 353MCP23017 350 351 352MCP4162 356microSD 188 201

testowanie 201zapisywanie danych 202

microSDHC 201microswitch 273miernik uniwersalny 56mierzenie

napi cia 56nat enia pr du 56oporu elektrycznego 56

miganiediody 45dostrzegalne 66

mikrofarad 78mikrokontroler 39 41 240

wyjmowanie 244mikroprze cznik 273miliamper 53millis 208miniaturowy rezystor nastawny 106MISO 353mno enie 102moc 53

znamionowa 56model mostu z sygnalizatorami 92modem 380modulacja szeroko ci impulsu 66 108 236 271modulo 155

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

416 S k o r o w i d z

modu 41 188adres 365biblioteki 196dodatkowe 190GSM

cz stotliwo pracy 398zasilanie 394SM5100 394

komunikacji radiowej 310niestandardowy 191radiowy 304samodzielne konstruowanie 190sieciowy 379zasilania (przygotowanie) 395

modyfikowanie kodu 50monitor portu szeregowego 120 143 349monitorowanie

stanu pinoacutew cyfrowych 195zdalne 381

monta wielu modu oacutew 190MOSI 353most significant bit 137 354MSB 137 354MSBFIRST 153multimetr 56myservowrite 258M 54

N

najbardziej znacz cy bit 137 354najmniej znacz cy bit 137napi cie 53 59

dzielenie 104referencyjne 103regulator 239skok 71stabilizacja 80wewn trzne 104

nat enie pr du 53 59ograniczanie 54

nazwapliku (szkic) 43stosowanej p ytki 44

NC 76negacja 90

bitowa 163 164Nintendo DS 226Niski stan 99

NO 76noInterrupts 214normally

closed 76open 76

NPN 76numer

portucyfrowego 47USB 44

telefonu odbiorcy SMS 404

O

obrazodwracanie 168wy wietlanie 167

obs uga przerwa 214obszar

komunikatoacutew 42 44polece 42 43tekstu 42 44

obwoacutedfiltruj cy 83ochrona 71w asny 237

odbiornikpodczerwieni 320

testowanie 321odejmowanie 102odwracanie obrazu 168OE 141okre lanie

godziny 290po o enia 290przybli onej szybko ci 290

om 54Oomlout 22open source 254operator

alternatywy 91koniunkcji 91negacji 90poroacutewnania 103

opornik 54oporno 5459oprogramowanie 42oscyloskop cyfrowy z pami ci 81OUTPUT 47 61output enable 141

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S k o r o w i d z 417

P

pamidost pna 49EEPROM 248flash 248SRAM 248

Parallax Ping 282Pasmo (aktualne ustawienia) 398persistence of vision 165p tla for 65pF 78piezoelektryczny brz czyk 106pikofarad 78pilot 321pin

cyfrowy 46stan domy lny 392

zwi kszanie liczby 138numer 1 241pinMode 47 61plan przedp acony 394planowanie dzia a 52p ytka

prototypowa 190uniwersalna 58

PNP 76pobieranie danych ze zdalnego czujnika 314podczerwie 319pod czanie dodatkowych p ytek 41Pololu RP5 265po czenia (symbol) 77po o enie (rejestrowanie) 298pomiar (precyzja) 103ponowne uruchamianie systemu 41poroacutewnywanie bitoacutew 162port

szeregowy 40 44monitor 120

USB 380potencjometr 105POV 165PowerSwitch Tail 112powiadomienia o powrocie dzieci ze szko y 386powtarzanie instrukcji 124poziom jasno ci diod LED 66prawda 90prawo Ohma 58 59pr d

b dz cy 71 265maksymalne nat enie 68

nat enie 53prze czanie 69sieciowy (prze czanie) 72sta y 53zmienny 53

precyzyjny zegar 296prepaid 394pr dko podroacute y 298program (wstrzymanie wykonywania) 213projekt (cel) 52projektowania systemoacutew 52ProtoScrewShield 367ProtoShield 190

RESET 194uk ad otworoacutew 192projekt obwodu 193

przegrzanie rezystora 56przekazywanie informacji pomi dzy p ytk a

komputerem 50przeka nik 70 71

symbol 76zastosowanie 71

przekierowanie portu przy u yciu publicznegoadresu IP 386

prze czanie pr du 69 72prze cznik dotykowy 233przepustowo 121przerost funkcji 52przerwanie 213

tryb 213przesuni cie

w lewo 163w prawo 163

przesy anie danych tekstowych 304przetwarzanie du ej liczby powi zanych danych 146przewody 60

symbol 77przewoacuted sieciowy 380przycisk symbol 82pull-

down resistor 83width modulation 66

PWM 66 236PWRIN 396PWROUT 396

Q

quiz 143

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

418 S k o r o w i d z

R

R 59radio-frequency identification 329random 132randomSeed 132readKeypad 223reakcja na zdarzenie 213real-time clock 361reference voltage 103regulator napi cia 239rejestr przesuwaj cy 138

zasada dzia ania 139rejestrowanie

danych 201po o enia 298ruchu samochodu 298

RESET 39 41ProtoShield 194

reszta z operacji dzielenia 155revolutions per minute 261rezonator kwarcowy 240rezystancja 54rezystor 54 61

do monta u powierzchniowego 56miniaturowy 106moc znamionowa 56nastawny cyfrowy 356nastawny 105 356ograniczaj cy nat enie pr du 58przegrzanie 56symbol 75ci gaj cy 83

RFID 329budowa 330czytnik 331etykiety 331identyfikator etykiety 336system kontroli dost pu 333testowanie 331 332

RFR103B2B 331RISING 213robot

czujnik podczerwieni do wykrywania kolizji 280g sienicowy 265mo liwe ruchy 271zderzenia z obiektami 273

rozmiar tablicy 146RPM 261RTC 361RTL-10709 290

ruch wahad owy 92RX 41 50rzut kostk do gry 134

S

S 82SAM3X8E 248Sarik John 22SBAND 399schemat obwodu 74schematic diagrams 74Schulz Kurt 21SCK 353SCL 344 362Scooterputer 21SDA 344 362seed 132Serialperipheral interface 343

available() 126begin 121flush() 127GSM 403print() 138println 122

servo 256servomechanism 256serwomotor 256shields 188shift register 138shiftOut() 150siedmiosegmentowy wy wietlacz 148silnik 257

elektryczny 261dodatkowe roacuted a zasilania 263napi cie zasilania 261pr d

bez obci enia 261zatrzymania 261 263

sterowanie 262 264szybko przy napi ciu zasilacza 261

silnikwykonawczy 256

czenie 257nat enie pobieranego pr du 256szybko 256uruchamianie 257wymuszenie ruchu 258zakres obrotu 256

SIM 394

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S k o r o w i d z 419

sketch 37skok napi cia 71slave select 353SM5100 394smartfon 385SMS 394

d ugo wiadomo ci 404w odpowiedzi na zdarzenie 402

SPI 343 353po czenie 353

sprz tu wyboacuter 52SS 353stabilizacja napi cia 80stan

niski 99wysoki 48 99

status modu u GSM 398sterowanie

drog radiow 305SMS-em 405urz dzeniami zasilanymi sieci 112za pomoc pilota na podczerwie 323

stoper 210strona internetowa 381

z linkami w formie przyciskoacutew 392styki

drganie 81przeka nika (symbol) 76

Sudoku 22switch bounce 81switch-case 220sygnalizacja wietlna 92sygna

analogowy 98cyfrowy 98

symbol u miechni tej buzi 176system

binarny 137 365kontroli dost pu 329mierzenia czasu pracy 371nawigacji satelitarnej 290

szeroko i d ugo geograficzna 295szkic 42 45 52 87 94 114 134

czas wykonywania 208debugowanie 123drukowanie 43elastyczno 64komentarz 45kopiowanie 43adowanie 43

maksymalny rozmiar 385

port USB 43przeszukiwanie 43testowy 244uruchamianie 63weryfikacja 43 49wklejanie 43wyboacuter typu p ytki 43zapisywanie 43

szybko dzia ania mikrokontrolera 240

rodowisko programowania 42wersja 43

T

tablica 146odczytywanie 147rozmiar 146zapisywanie 147

tekstwys anie do monitora portu szeregowego 121

Teleduino 388klucz 391konfiguracja 389liczba migni LED 391stan us ugi 391

temperaturapomiar 108rejestrowanie 205w zamra arce 400

Terminal 313termometr 117

analogowy 259cyfrowy 156LCD znakowy 183zdalnie sterowany 314

tester baterii 99TinyGPS 300TIP120 262TMP36 315tolerancja rezystora 55transmisja bezprzewodowa 303tranzystor 68 71

Darlingtona 262NPN 76PNP 76symbol 76wy czenie 69

trimpot 106 172true 90

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

420 S k o r o w i d z

tryb danych wyj ciowych 47trymer 106TSOP4138 321TWI 344Twitter 22

token 387wpisy 386wymagania na wpisy 388

two wire interface 344TwypeWriter 22TX 41 50

U

U 59UART 291 292 312Ubuntu Linux 33

biblioteka 199ultrad wi kowy czujnik odleg o ci 282urz dzenia

dodawanie 41nadrz dne 344podrz dne 344

USB 25 39 40ustawianie daty i godziny w uk adzie zegara

czasu rzeczywistego 362UTC 297uziemienie 53

symbol 77

V

V 53variables 64VirtualWire 305void

loop 62 204setup 46 47 62

voltage 53

W

W 53W5100 379warto pocz tkowa 132warunek

sprawdzanie 124po wykonaniu kodu 125

wat 53wej cia

analogowe 39-wyj cie 40

wersja rodowiska IDE 43weryfikacja szkicu 49wewn trzne napi cie referencyjne 104while() 124wielokrotne wykonanie instrukcji 47Wi-Fi 385Windows 8 25 29

biblioteka 198Windows XP 25Wire 344WLS107B4B 304w asny obwoacuted 237w czanie klimatyzacji SMS-em 408wolt 53wpisy na Twitterze 386WRL-08687 311WRL-10534 304wspoacutelna

anoda 149katoda 149

wspoacute czynnik wype nienia impulsu 66wstrzymanie wykonywania

programu 213szkicu 48

wykrywanie sygna oacutew elektrycznych 46 47wysoki stan 99wy wietlacz 21

LED (sterowanie) 150liczb binarnych 140matrycowy 158siedmiosegmentowy 148

wy wietlaniedaty i godziny na sznakowym module LCD 367na module LCD wspoacute rz dnych

reprezentuj cych bie c pozycj 293wzmacniacz d wi ku 105

X

XBee 305 310 315Explorer 311

Z

zalanie piwnicy 408zamek z klawiatur numeryczn 221zapisywanie

szkicu 43zmodyfikowanego szkicu 118

zasilanie 39zatrzask 141

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

S k o r o w i d z 421

zdalne sterowanie robota 325zegar 141

czasu rzeczywistego 361ustawianie daty i godziny 362

precyzyjny 296zewn trzna pami EEPROM 346

zintegrowanerodowisko programowania 25 42

kontroler sieciowy 380z cza 39zmienna 64

logiczna 90tablicowa 389wy wietlanie warto ci 122

znakowy modu LCD 173

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę

422 S k o r o w i d z

Kup książkę Poleć książkę