Upload
lamnhi
View
218
Download
0
Embed Size (px)
Citation preview
Tytuł oryginału Hacking Electronics An Illustrated DIY Guide for Makers and Hobbyists
Tłumaczenie Krzysztof Sawka
ISBN 978-83-246-8051-1
Original edition copyright copy 2013 by The McGraw-Hill CompaniesAll rights reserved
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
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań by zawarte w tej książce informacje były kompletne i rzetelne Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich Autor oraz Wydawnictwo HELION nie ponoszą 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)
Drogi CzytelnikuJeżeli chcesz ocenić tę książkę zajrzyj pod adres httphelionpluseropiniezabeleMoż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
O autorze 15Wprowadzenie 17
ROZDZIA 1 Pierwsze kroki 21Czas na zakupy 21
Zakup elementoacutew elektronicznych 22Szukanie dawcoacutew 23Podstawowe narzędzia 23
Usuwanie izolacji z przewodu 25Co będzie potrzebne 26
Łączenie przewodoacutew poprzez skręcanie 28Co będzie potrzebne 28
Łączenie przewodoacutew poprzez lutowanie 29Bezpieczeństwo 29Co będzie potrzebne 30Lutowanie 31Łączenie przewodoacutew 32
Testowanie połączenia 33Co będzie potrzebne 33
Wiatrak komputerowy jako wentylator odprowadzający toksyczne gazy 35Co będzie potrzebne 35Konstrukcja 36Etap 1 Usuwanie izolacji z przewodoacutew zasilacza 37Etap 2 Identyfikacja biegunowości przewodoacutew zasilających 37Etap 3 Łączenie przewodoacutew masowych 38
Kup książkę Poleć książkę
6 Zabawy z elektronik
Etap 4 Łączenie przewodu prądowego z przełącznikiem 39Etap 5 Testowanie 40
Podsumowanie 40
ROZDZIA 2 Teoria i praktyka 41Zebranie początkowego zestawu elementoacutew 41
Co będzie potrzebne 42Identyfikowanie elementoacutew elektronicznych 43
Rezystory (oporniki) 43Kondensatory 45Diody 47Diody LED 47Tranzystory 49Układy scalone 49Inne elementy 50Elementy do montażu powierzchniowego 50
Natężenie rezystancja napięcie 51Natężenie 51Rezystancja 51Napięcie 52Prawo Ohma 52
Moc 54Czytanie schematoacutew 55
Pierwsza zasada schematoacutew Dodatnie napięcieznajduje się na goacuterze 56
Druga zasada schematoacutew Wszystko dzieje się w prawą stronę 56Nazwy i wartości 56Symbole podzespołoacutew 57
Podsumowanie 58
ROZDZIA 3 Podstawowe sztuczki 59Rozgrzewanie rezystora 59
Co będzie potrzebne 59Eksperyment 60
Rezystory jako dzielniki napięcia 61Co będzie potrzebne 61
Przekształcanie rezystancji na napięcie (i tworzenie światłomierza) 64Co będzie potrzebne 64
Przekształcanie wciskanej lampki w czujnik oświetlenia 66Co będzie potrzebne 67Płytka montażowa 68Konstrukcja 70
Kup książkę Poleć książkę
Spis tre ci 7
Wyboacuter tranzystora bipolarnego 75Karty katalogowe 75Tranzystory MOSFET 76Tranzystory PNP oraz z kanałem typu N 77Popularne modele tranzystoroacutew 78
Tranzystor mocy MOSFET jako regulator pracy silnika 78Co będzie potrzebne 79Płytka montażowa 79
Wyboacuter właściwego przełącznika 81Przełączniki wciskane 82Mikroprzełączniki 83Przełączniki dwustabilne 83
Podsumowanie 85
ROZDZIA 4 Diody LED 87Ochrona diody LED przed przepaleniem 87
Co będzie potrzebne 88Diody 88Diody LED 89Testowanie 91
Wyboacuter właściwej diody LED do pracy 92Co będzie potrzebne 92Jasność i kąt świecenia 93Wielokolorowość 93Diody świecące w podczerwieni i ultrafiolecie 94Diody LED przeznaczone do oświetlania 95
Układ LM317 jako sterownik prądu stałego 96Co będzie potrzebne 96Projekt 97Płytka montażowa 98Konstrukcja 99
Pomiar napięcia przewodzenia diody LED 100Co będzie potrzebne 102
Zasilanie większej liczby diod LED 102Błyskające diody LED 103
Co będzie potrzebne 104Płytka montażowa 104
Zastosowanie płytki perforowanej na przykładzie nadajnika błyskoacutew 106Rozmieszczanie podzespołoacutew na płytce perforowanej 107Co będzie potrzebne 109Konstrukcja 109Rozwiązywanie problemoacutew 113
Kup książkę Poleć książkę
8 Zabawy z elektronik
Korzystanie z modułu diody laserowej 114Modyfikacja zdalnie sterowanego samochodu wyścigowego 115
Co będzie potrzebne 115Przechowywanie ładunku w kondensatorze 116Projekt 117Konstrukcja 118Testowanie 119
Podsumowanie 119
ROZDZIA 5 Baterie i zasilanie 121Wyboacuter właściwej baterii 121
Pojemność baterii 121Maksymalna wartość rozładowania 122Baterie jednorazowe 122Akumulatorki 125
Ładowanie baterii (ogoacutelne zasady) 127C 128Przeciążenie (zbyt mocne naładowanie) 128Przeciążenie (zbyt pełne rozładowanie) 128Żywotność baterii 128
Ładowanie ogniwa NiMH 129Proste ładowanie 129Szybkie ładowanie 130
Ładowanie zamkniętego akumulatora kwasowo-ołowiowego 130Ładowanie za pomocą programowalnego źroacutedła prądu 131
Ładowanie akumulatora Li-Po 132Modyfikowanie baterii do telefonu komoacuterkowego 133Regulacja napięcia na baterii 134
Co będzie potrzebne 136Płytka montażowa 136
Podwyższanie napięcia 137Obliczanie czasu działania baterii 138Projektowanie zasilania awaryjnego na baterie 139
Diody 139Ładowanie podtrzymujące 141
Stosowanie ogniw słonecznych 142Testowanie panelu słonecznego 143Ładowanie podtrzymujące za pomocą panelu słonecznego 144Zmniejszanie zużycia prądu 145
Podsumowanie 146
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Spis tre ci
O autorze 15Wprowadzenie 17
ROZDZIA 1 Pierwsze kroki 21Czas na zakupy 21
Zakup elementoacutew elektronicznych 22Szukanie dawcoacutew 23Podstawowe narzędzia 23
Usuwanie izolacji z przewodu 25Co będzie potrzebne 26
Łączenie przewodoacutew poprzez skręcanie 28Co będzie potrzebne 28
Łączenie przewodoacutew poprzez lutowanie 29Bezpieczeństwo 29Co będzie potrzebne 30Lutowanie 31Łączenie przewodoacutew 32
Testowanie połączenia 33Co będzie potrzebne 33
Wiatrak komputerowy jako wentylator odprowadzający toksyczne gazy 35Co będzie potrzebne 35Konstrukcja 36Etap 1 Usuwanie izolacji z przewodoacutew zasilacza 37Etap 2 Identyfikacja biegunowości przewodoacutew zasilających 37Etap 3 Łączenie przewodoacutew masowych 38
Kup książkę Poleć książkę
6 Zabawy z elektronik
Etap 4 Łączenie przewodu prądowego z przełącznikiem 39Etap 5 Testowanie 40
Podsumowanie 40
ROZDZIA 2 Teoria i praktyka 41Zebranie początkowego zestawu elementoacutew 41
Co będzie potrzebne 42Identyfikowanie elementoacutew elektronicznych 43
Rezystory (oporniki) 43Kondensatory 45Diody 47Diody LED 47Tranzystory 49Układy scalone 49Inne elementy 50Elementy do montażu powierzchniowego 50
Natężenie rezystancja napięcie 51Natężenie 51Rezystancja 51Napięcie 52Prawo Ohma 52
Moc 54Czytanie schematoacutew 55
Pierwsza zasada schematoacutew Dodatnie napięcieznajduje się na goacuterze 56
Druga zasada schematoacutew Wszystko dzieje się w prawą stronę 56Nazwy i wartości 56Symbole podzespołoacutew 57
Podsumowanie 58
ROZDZIA 3 Podstawowe sztuczki 59Rozgrzewanie rezystora 59
Co będzie potrzebne 59Eksperyment 60
Rezystory jako dzielniki napięcia 61Co będzie potrzebne 61
Przekształcanie rezystancji na napięcie (i tworzenie światłomierza) 64Co będzie potrzebne 64
Przekształcanie wciskanej lampki w czujnik oświetlenia 66Co będzie potrzebne 67Płytka montażowa 68Konstrukcja 70
Kup książkę Poleć książkę
Spis tre ci 7
Wyboacuter tranzystora bipolarnego 75Karty katalogowe 75Tranzystory MOSFET 76Tranzystory PNP oraz z kanałem typu N 77Popularne modele tranzystoroacutew 78
Tranzystor mocy MOSFET jako regulator pracy silnika 78Co będzie potrzebne 79Płytka montażowa 79
Wyboacuter właściwego przełącznika 81Przełączniki wciskane 82Mikroprzełączniki 83Przełączniki dwustabilne 83
Podsumowanie 85
ROZDZIA 4 Diody LED 87Ochrona diody LED przed przepaleniem 87
Co będzie potrzebne 88Diody 88Diody LED 89Testowanie 91
Wyboacuter właściwej diody LED do pracy 92Co będzie potrzebne 92Jasność i kąt świecenia 93Wielokolorowość 93Diody świecące w podczerwieni i ultrafiolecie 94Diody LED przeznaczone do oświetlania 95
Układ LM317 jako sterownik prądu stałego 96Co będzie potrzebne 96Projekt 97Płytka montażowa 98Konstrukcja 99
Pomiar napięcia przewodzenia diody LED 100Co będzie potrzebne 102
Zasilanie większej liczby diod LED 102Błyskające diody LED 103
Co będzie potrzebne 104Płytka montażowa 104
Zastosowanie płytki perforowanej na przykładzie nadajnika błyskoacutew 106Rozmieszczanie podzespołoacutew na płytce perforowanej 107Co będzie potrzebne 109Konstrukcja 109Rozwiązywanie problemoacutew 113
Kup książkę Poleć książkę
8 Zabawy z elektronik
Korzystanie z modułu diody laserowej 114Modyfikacja zdalnie sterowanego samochodu wyścigowego 115
Co będzie potrzebne 115Przechowywanie ładunku w kondensatorze 116Projekt 117Konstrukcja 118Testowanie 119
Podsumowanie 119
ROZDZIA 5 Baterie i zasilanie 121Wyboacuter właściwej baterii 121
Pojemność baterii 121Maksymalna wartość rozładowania 122Baterie jednorazowe 122Akumulatorki 125
Ładowanie baterii (ogoacutelne zasady) 127C 128Przeciążenie (zbyt mocne naładowanie) 128Przeciążenie (zbyt pełne rozładowanie) 128Żywotność baterii 128
Ładowanie ogniwa NiMH 129Proste ładowanie 129Szybkie ładowanie 130
Ładowanie zamkniętego akumulatora kwasowo-ołowiowego 130Ładowanie za pomocą programowalnego źroacutedła prądu 131
Ładowanie akumulatora Li-Po 132Modyfikowanie baterii do telefonu komoacuterkowego 133Regulacja napięcia na baterii 134
Co będzie potrzebne 136Płytka montażowa 136
Podwyższanie napięcia 137Obliczanie czasu działania baterii 138Projektowanie zasilania awaryjnego na baterie 139
Diody 139Ładowanie podtrzymujące 141
Stosowanie ogniw słonecznych 142Testowanie panelu słonecznego 143Ładowanie podtrzymujące za pomocą panelu słonecznego 144Zmniejszanie zużycia prądu 145
Podsumowanie 146
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
6 Zabawy z elektronik
Etap 4 Łączenie przewodu prądowego z przełącznikiem 39Etap 5 Testowanie 40
Podsumowanie 40
ROZDZIA 2 Teoria i praktyka 41Zebranie początkowego zestawu elementoacutew 41
Co będzie potrzebne 42Identyfikowanie elementoacutew elektronicznych 43
Rezystory (oporniki) 43Kondensatory 45Diody 47Diody LED 47Tranzystory 49Układy scalone 49Inne elementy 50Elementy do montażu powierzchniowego 50
Natężenie rezystancja napięcie 51Natężenie 51Rezystancja 51Napięcie 52Prawo Ohma 52
Moc 54Czytanie schematoacutew 55
Pierwsza zasada schematoacutew Dodatnie napięcieznajduje się na goacuterze 56
Druga zasada schematoacutew Wszystko dzieje się w prawą stronę 56Nazwy i wartości 56Symbole podzespołoacutew 57
Podsumowanie 58
ROZDZIA 3 Podstawowe sztuczki 59Rozgrzewanie rezystora 59
Co będzie potrzebne 59Eksperyment 60
Rezystory jako dzielniki napięcia 61Co będzie potrzebne 61
Przekształcanie rezystancji na napięcie (i tworzenie światłomierza) 64Co będzie potrzebne 64
Przekształcanie wciskanej lampki w czujnik oświetlenia 66Co będzie potrzebne 67Płytka montażowa 68Konstrukcja 70
Kup książkę Poleć książkę
Spis tre ci 7
Wyboacuter tranzystora bipolarnego 75Karty katalogowe 75Tranzystory MOSFET 76Tranzystory PNP oraz z kanałem typu N 77Popularne modele tranzystoroacutew 78
Tranzystor mocy MOSFET jako regulator pracy silnika 78Co będzie potrzebne 79Płytka montażowa 79
Wyboacuter właściwego przełącznika 81Przełączniki wciskane 82Mikroprzełączniki 83Przełączniki dwustabilne 83
Podsumowanie 85
ROZDZIA 4 Diody LED 87Ochrona diody LED przed przepaleniem 87
Co będzie potrzebne 88Diody 88Diody LED 89Testowanie 91
Wyboacuter właściwej diody LED do pracy 92Co będzie potrzebne 92Jasność i kąt świecenia 93Wielokolorowość 93Diody świecące w podczerwieni i ultrafiolecie 94Diody LED przeznaczone do oświetlania 95
Układ LM317 jako sterownik prądu stałego 96Co będzie potrzebne 96Projekt 97Płytka montażowa 98Konstrukcja 99
Pomiar napięcia przewodzenia diody LED 100Co będzie potrzebne 102
Zasilanie większej liczby diod LED 102Błyskające diody LED 103
Co będzie potrzebne 104Płytka montażowa 104
Zastosowanie płytki perforowanej na przykładzie nadajnika błyskoacutew 106Rozmieszczanie podzespołoacutew na płytce perforowanej 107Co będzie potrzebne 109Konstrukcja 109Rozwiązywanie problemoacutew 113
Kup książkę Poleć książkę
8 Zabawy z elektronik
Korzystanie z modułu diody laserowej 114Modyfikacja zdalnie sterowanego samochodu wyścigowego 115
Co będzie potrzebne 115Przechowywanie ładunku w kondensatorze 116Projekt 117Konstrukcja 118Testowanie 119
Podsumowanie 119
ROZDZIA 5 Baterie i zasilanie 121Wyboacuter właściwej baterii 121
Pojemność baterii 121Maksymalna wartość rozładowania 122Baterie jednorazowe 122Akumulatorki 125
Ładowanie baterii (ogoacutelne zasady) 127C 128Przeciążenie (zbyt mocne naładowanie) 128Przeciążenie (zbyt pełne rozładowanie) 128Żywotność baterii 128
Ładowanie ogniwa NiMH 129Proste ładowanie 129Szybkie ładowanie 130
Ładowanie zamkniętego akumulatora kwasowo-ołowiowego 130Ładowanie za pomocą programowalnego źroacutedła prądu 131
Ładowanie akumulatora Li-Po 132Modyfikowanie baterii do telefonu komoacuterkowego 133Regulacja napięcia na baterii 134
Co będzie potrzebne 136Płytka montażowa 136
Podwyższanie napięcia 137Obliczanie czasu działania baterii 138Projektowanie zasilania awaryjnego na baterie 139
Diody 139Ładowanie podtrzymujące 141
Stosowanie ogniw słonecznych 142Testowanie panelu słonecznego 143Ładowanie podtrzymujące za pomocą panelu słonecznego 144Zmniejszanie zużycia prądu 145
Podsumowanie 146
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Spis tre ci 7
Wyboacuter tranzystora bipolarnego 75Karty katalogowe 75Tranzystory MOSFET 76Tranzystory PNP oraz z kanałem typu N 77Popularne modele tranzystoroacutew 78
Tranzystor mocy MOSFET jako regulator pracy silnika 78Co będzie potrzebne 79Płytka montażowa 79
Wyboacuter właściwego przełącznika 81Przełączniki wciskane 82Mikroprzełączniki 83Przełączniki dwustabilne 83
Podsumowanie 85
ROZDZIA 4 Diody LED 87Ochrona diody LED przed przepaleniem 87
Co będzie potrzebne 88Diody 88Diody LED 89Testowanie 91
Wyboacuter właściwej diody LED do pracy 92Co będzie potrzebne 92Jasność i kąt świecenia 93Wielokolorowość 93Diody świecące w podczerwieni i ultrafiolecie 94Diody LED przeznaczone do oświetlania 95
Układ LM317 jako sterownik prądu stałego 96Co będzie potrzebne 96Projekt 97Płytka montażowa 98Konstrukcja 99
Pomiar napięcia przewodzenia diody LED 100Co będzie potrzebne 102
Zasilanie większej liczby diod LED 102Błyskające diody LED 103
Co będzie potrzebne 104Płytka montażowa 104
Zastosowanie płytki perforowanej na przykładzie nadajnika błyskoacutew 106Rozmieszczanie podzespołoacutew na płytce perforowanej 107Co będzie potrzebne 109Konstrukcja 109Rozwiązywanie problemoacutew 113
Kup książkę Poleć książkę
8 Zabawy z elektronik
Korzystanie z modułu diody laserowej 114Modyfikacja zdalnie sterowanego samochodu wyścigowego 115
Co będzie potrzebne 115Przechowywanie ładunku w kondensatorze 116Projekt 117Konstrukcja 118Testowanie 119
Podsumowanie 119
ROZDZIA 5 Baterie i zasilanie 121Wyboacuter właściwej baterii 121
Pojemność baterii 121Maksymalna wartość rozładowania 122Baterie jednorazowe 122Akumulatorki 125
Ładowanie baterii (ogoacutelne zasady) 127C 128Przeciążenie (zbyt mocne naładowanie) 128Przeciążenie (zbyt pełne rozładowanie) 128Żywotność baterii 128
Ładowanie ogniwa NiMH 129Proste ładowanie 129Szybkie ładowanie 130
Ładowanie zamkniętego akumulatora kwasowo-ołowiowego 130Ładowanie za pomocą programowalnego źroacutedła prądu 131
Ładowanie akumulatora Li-Po 132Modyfikowanie baterii do telefonu komoacuterkowego 133Regulacja napięcia na baterii 134
Co będzie potrzebne 136Płytka montażowa 136
Podwyższanie napięcia 137Obliczanie czasu działania baterii 138Projektowanie zasilania awaryjnego na baterie 139
Diody 139Ładowanie podtrzymujące 141
Stosowanie ogniw słonecznych 142Testowanie panelu słonecznego 143Ładowanie podtrzymujące za pomocą panelu słonecznego 144Zmniejszanie zużycia prądu 145
Podsumowanie 146
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
8 Zabawy z elektronik
Korzystanie z modułu diody laserowej 114Modyfikacja zdalnie sterowanego samochodu wyścigowego 115
Co będzie potrzebne 115Przechowywanie ładunku w kondensatorze 116Projekt 117Konstrukcja 118Testowanie 119
Podsumowanie 119
ROZDZIA 5 Baterie i zasilanie 121Wyboacuter właściwej baterii 121
Pojemność baterii 121Maksymalna wartość rozładowania 122Baterie jednorazowe 122Akumulatorki 125
Ładowanie baterii (ogoacutelne zasady) 127C 128Przeciążenie (zbyt mocne naładowanie) 128Przeciążenie (zbyt pełne rozładowanie) 128Żywotność baterii 128
Ładowanie ogniwa NiMH 129Proste ładowanie 129Szybkie ładowanie 130
Ładowanie zamkniętego akumulatora kwasowo-ołowiowego 130Ładowanie za pomocą programowalnego źroacutedła prądu 131
Ładowanie akumulatora Li-Po 132Modyfikowanie baterii do telefonu komoacuterkowego 133Regulacja napięcia na baterii 134
Co będzie potrzebne 136Płytka montażowa 136
Podwyższanie napięcia 137Obliczanie czasu działania baterii 138Projektowanie zasilania awaryjnego na baterie 139
Diody 139Ładowanie podtrzymujące 141
Stosowanie ogniw słonecznych 142Testowanie panelu słonecznego 143Ładowanie podtrzymujące za pomocą panelu słonecznego 144Zmniejszanie zużycia prądu 145
Podsumowanie 146
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Spis tre ci 9
ROZDZIA 6 Zabawy z Arduino 147Konfiguracja układu Arduino (oraz migotanie diody LED) 148
Co będzie potrzebne 149Konfiguracja układu Arduino 149Modyfikowanie szkicu Blink 152
Arduino jako kontroler przekaźnika 154Przekaźniki 155Wyjścia układu Arduino 155Co będzie potrzebne 156Konstrukcja 157Oprogramowanie 158
Obsługa zabawki za pomocą układu Arduino 159Co będzie potrzebne 160Konstrukcja 160Monitor portu szeregowego 160Oprogramowanie 162
Pomiar napięcia za pomocą Arduino 163Co będzie potrzebne 164Konstrukcja 164Oprogramowanie 165
Arduino jako regulator diody LED 166Co będzie potrzebne 167Konstrukcja 167Oprogramowanie (migotanie) 168Oprogramowanie (jasność) 169
Odtwarzanie dźwiękoacutew za pomocą Arduino 170Co będzie potrzebne 171Konstrukcja 171Oprogramowanie 171
Zastosowania modułoacutew rozszerzeń układu Arduino 173Sterowanie przekaźnikiem z poziomu strony internetowej 174
Co będzie potrzebne 175Konstrukcja 176Konfiguracja sieci 177Testowanie 177Oprogramowanie 178
Obsługa modułu alfanumerycznego wyświetlacza LCD 182Co będzie potrzebne 183Konstrukcja 183Oprogramowanie 183
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
10 Zabawy z elektronik
Napędzanie serwomotoru za pomocą Arduino 185Co będzie potrzebne 185Konstrukcja 186Oprogramowanie 186
Charliepleksing diod LED 187Co będzie potrzebne 189Konstrukcja 189Oprogramowanie 190
Automatyczne wpisywanie haseł 192Co będzie potrzebne 192Konstrukcja 193Oprogramowanie 193
Podsumowanie 194
ROZDZIA 7 Zabawa z modu ami 195Moduł wykrywacza ruchu na podczerwień 196
Co będzie potrzebne (czujnik ruchu i dioda LED) 196Płytka montażowa 196Co będzie potrzebne (czujnik PIR i Arduino) 198Konstrukcja 198Oprogramowanie 199
Moduły dalmierzy ultradźwiękowych 200Co będzie potrzebne 202Dalmierz HC-SR04 202Dalmierz MaxBotix LV-EZ1 205
Moduł bezprzewodowego pilota 207Co będzie potrzebne 208Płytka montażowa 208
Moduł bezprzewodowego pilota i Arduino 209Co będzie potrzebne 209Oprogramowanie 210
Regulacja obrotoacutew silnika za pomocą tranzystora mocy MOSFET 212Co będzie potrzebne 212Płytka montażowa 213Oprogramowanie 213
Regulacja silnika stałoprądowego za pomocą modułu mostka H 215Co będzie potrzebne 219Płytka montażowa 219Korzystanie z noacuteżek sterujących 220
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Spis tre ci 11
Sterowanie silnikiem krokowym za pomocą modułu mostka H 221Co będzie potrzebne 223Konstrukcja 223Oprogramowanie 223
Prosty łazik elektroniczny 226Co będzie potrzebne 227Konstrukcja 227Testowanie 230Oprogramowanie 230
Moduł siedmiosegmentowego wyświetlacza LED 232Co będzie potrzebne 234Konstrukcja 234Oprogramowanie 234
Moduł zegara czasu rzeczywistego 236Co będzie potrzebne 237Konstrukcja 238Oprogramowanie 239
Podsumowanie 240
ROZDZIA 8 Zabawa z czujnikami 241Wykrywanie toksycznego gazu 241
Co będzie potrzebne 242Komparator LM311 242Płytka montażowa 243Wykrywacz gazu i Arduino 245
Pomiar barwy przedmiotu 246Co będzie potrzebne 247Konstrukcja 247Oprogramowanie 248
Detekcja drgań 251Co będzie potrzebne 251Konstrukcja 252Oprogramowanie 252
Pomiar temperatury 254Co będzie potrzebne 254Konstrukcja 254Oprogramowanie 254
Akcelerometr 256Co będzie potrzebne 257Konstrukcja 258Oprogramowanie 259
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
12 Zabawy z elektronik
Wykrywanie poacutel magnetycznych 261Co będzie potrzebne 261Konstrukcja 261Oprogramowanie 261
Podsumowanie 262
ROZDZIA 9 Sztuczki z d wi kiem 263Modyfikowanie przewodoacutew dźwiękowych 263
Ogoacutelne zasady 264Lutowanie przewodoacutew dźwiękowych 265Konwersja sygnału stereofonicznego na monofoniczny 266
Moduł mikrofonowy 268Pluskwa radiowa 271
Co będzie potrzebne 271Konstrukcja 271Testowanie 273
Wyboacuter głośnikoacutew 274Budowa jednowatowego wzmacniacza dźwięku 275
Co będzie potrzebne 277Konstrukcja 277Testowanie 278
Generowanie dźwiękoacutew za pomocą układu czasowego 555 279Co będzie potrzebne 281Konstrukcja 281
Kontroler muzyczny podłączany pod gniazdo USB 281Co będzie potrzebne 281Konstrukcja 282Oprogramowanie 283
Programowy miernik głośności (VU) 284Co będzie potrzebne 284Konstrukcja 284Oprogramowanie 285
Podsumowanie 286
ROZDZIA 10 Psucie i naprawa 287Jak uniknąć porażenia prądem 287Rozmontowywanie urządzeń ORAZ składanie ich z powrotem 289Sprawdzanie bezpiecznika 289Sprawdzanie baterii 291Testowanie elementu grzejnego 291
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Spis tre ci 13
Wykrywanie i wymiana uszkodzonych elementoacutew 292Sprawdzanie podzespołoacutew 292Wylutowywanie 293Wymiana 294
Odzyskiwanie przydatnych elementoacutew 294Ponowne wykorzystanie ładowarki telefonicznej 295Podsumowanie 296
ROZDZIA 11 Narz dzia 297Stosowanie miernika (ogoacutelne) 297
Test ciągłości i diody 298Rezystancja 298Pojemność 298Temperatura 299Napięcie prądu zmiennego 300Napięcie prądu stałego 301Natężenie prądu stałego 301Natężenie prądu zmiennego 302Częstotliwość 302
Sprawdzanie tranzystora za pomocą miernika 302Zasilacz laboratoryjny 303Wprowadzenie do oscyloskopoacutew 304Oprogramowanie elektroniczne 305
Symulowanie 306Fritzing 306EAGLE PCB 307Kalkulatory sieciowe 307
Podsumowanie 308
DODATEK Cz ci 311Narzędzia 312Elementy elektroniczne 312
Startowe zestawy podzespołoacutew 313Rezystory 313Kondensatory 314Poacutełprzewodniki 314Sprzęt i pozostałe elementy 316Moduły 318Wykorzystywane w książce elementy zestawu Z1
nieuwzględnione nigdzie indziej 320Rezystory zawarte w zestawie Z2 320
Skorowidz 321
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
14 Zabawy z elektronik
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
8Zabawa z czujnikami
ozdziały 6 7 i 8 są ze sobą w pewien sposoacuteb powiązane wiele czujnikoacutew wystę-puje w postaci modułowej a moduły nieraz mogą być podłączane do Arduino
W tym rozdziale nauczysz się korzystać z roacuteżnego rodzaju czujnikoacutew sterowanychza pomocą układoacutew elektronicznych mikrokontrolera Arduino a czasami obydwumechanizmoacutew naraz
Wykrywanie toksycznego gazuW tym podrozdziale będziemy się posługiwać wykrywaczem metanu (rysunek 81)
Rysunek 81 Wykrywacz metanu
Taki czujnik wydaje się drogi ale w rzeczywistości jest naprawdę tani Składa sięz niewielkiego grzejnika (podłączonego pomiędzy dwoma mostkami H) oraz elementukatalitycznego ktoacuterego oporność zależy od stężenia metanu Chociaż nasz układ będziezasilany bateryjnie trzeba będzie często wymieniać ogniwa ponieważ element grzew-czy czujnika pobiera prąd rzędu 150 ndash 200 mA
R
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
242 Zabawy z elektronik
Wykrywanie metanu okazuje się potrzebne w wielu dziedzinach nauki i przemysłuMy jednak wykorzystamy tę nowinkę techniczną w niecnym i infantylnym celu mdash dowykrywania pierdnięć
Co b dzie potrzebneDo stworzenia wykrywacza gazu wykorzystamy następujące elementy
Liczba Oznaczenie Przedmiot Kod w dodatku
1 D1 Dioda LED Z1
1 R1 Potencjometr 10 kΩ Z1
1 R2 Rezystor 10 kΩ Z2
1 R3 Rezystor 470 Ω Z2
1 IC1 Komparator LM311 P7
1 Wykrywacz metanu MQ4 M11
1 Brzęczyk piezoelektryczny (z oscylatorem) M10
1 Nielutowana płytka montażowa N5
Jednożyłowy przewoacuted złączowy N6
1 Uchwyt na 4 baterie AA S1
1 4 baterie AA
1 Zacisk na baterie S2
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSBdla Arduino Leonardo
Wymagane jedynie w przypadku gdybyśmy chcieli podłączyć wykrywacz do układu Arduino
Brzęczyk piezoelektryczny musi mieć własny obwoacuted oscylatora oraz być zasilanynapięciem 6 V
Komparator LM311Na rysunku 82 widzimy schemat układu wykrywacza metanu
Podstawowym elementem tworzonego układu jest komparator LM311 Jak samanazwa wskazuje komparatory służą do poroacutewnywania napięć Jeżeli napięcie na biegu-nie dodatnim (+) jest wyższe od napięcia na biegunie ujemnym (ndash) na wyjściukomparatora popłynie prąd W naszym przypadku zaświeci się wtedy dioda LEDa brzęczyk wyda dźwięk
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 243
Rysunek 82 Schemat wykrywacza metanu
Potencjometr ustanawia napięcie graniczne na biegunie ujemnym komparatoraAby można było korzystać z wykrywacza rezystor ten musi zostać umieszczonyw sposoacuteb uniemożliwiający świecenie diody LED Powinna być ona włączana dopierowtedy gdy napięcie na wyjściu czujnika przekroczy wartość progową minusowegowejścia komparatora
Czujnik ma niestandardowe połączenia Wychodzi z niego sześć noacuteżek ale nie-ktoacutere są ze sobą połączone (rysunek 81) Noacuteżki H obsługują element grzewczy ktoacuterydostarcza ciepła warstwie katalizatora umieszczonej pomiędzy noacuteżkami A i B Powykryciu dowolnego stężenia metanu rezystancja pomiędzy wyjściami A oraz B malejeRezystor R2 wraz z modułem czujnika tworzą dzielnik napięcia Zaletą rozwiązaniaw ktoacuterym są wykorzystywane dwa rezystory mdash jeden jako grzałka a drugi jako czuj-nik mdash jest możliwość dowolnej konfiguracji noacuteżek (można odwrotnie podłączyć układ)
Wyjścia czujnika są dość grube oraz dziwnie rozmieszczone nie pasują więc dopłytki montażowej Z tego powodu dolutujemy do nich kilka przewodoacutew (rysunek 83)
Nie musimy lutować wszystkich wyjść wystarczy dołączyć kable do następującychpołączeń
czerwony przewoacuted obwodu dodatniego do wszystkich noacuteżek z jednej stronyczujnika (dwoacutech wyjść A oraz jednego H)
rezystor R2 pomiędzy noacuteżką B a masą grzałki
przewoacuted masy do obwodu ujemnego grzałki (czarny)
przewoacuted wyjściowy do noacuteżki B (żoacutełty)
P ytka monta owaRysunek 84 przedstawia rozmieszczenie elementoacutew na płytce montażowej a na rysun-ku 85 zamieszczono zdjęcie już złożonego urządzenia
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
244 Zabawy z elektronik
Rysunek 83 Pod czanie przewodoacutew do czujnika
Rysunek 84 Rozmieszczenie elementoacutew uk adu wykrywacza gazoacutew na p ytce monta owej
Architektura układu nie jest skomplikowana powinieneś jednak uważać aby kom-parator został właściwie zorientowany Gdy już złożysz całość możesz przetestowaćurządzenie Wyboacuter metody pozostawiam Tobie Podpowiem tylko że wydychanepowietrze roacutewnież uruchamia czujnik
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 245
Rysunek 85 Wykrywacz gazu
Wykrywacz gazu i ArduinoDzięki temu że przylutowaliśmy przewody do noacuteżek czujnika możemy go w prostysposoacuteb podłączyć bezpośrednio do Arduino (rysunek 86)
Rysunek 86 Wykrywacz metanu pod czony do Arduino
Podłączmy przewoacuted dodatni czujnika do noacuteżki 5V Arduino masę do wyjścia GNDa wyjście czujnika do noacuteżki A3
Czujnik może zużywać do 200 mA prądu musimy więc podłączyć go do właści-wego zasilania 5 V oraz do masy W tym przypadku nie przejdzie sztuczka z zasilaniemukładu poprzez wyjście cyfrowe
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
246 Zabawy z elektronik
Kod w poniższym szkicu (metan) powoduje wyświetlanie odczytoacutew czujnikaw Monitorze portu szeregowego Pamiętaj że oddychanie w kierunku czujnika roacutew-nież zmienia wartości odczytoacutew
metan
int analogPin = 3
void setup() Serialbegin(9600) Serialprintln(Wykrywacz metanu)
void loop() Serialprintln(analogRead(analogPin)) delay(500)
Pomiar barwy przedmiotuUkład TCS3200 jest niewielkim przydatnym podzespołem służącym do pomiaru barwybadanego obiektu Istnieje kilka odmian tego układu wszystkie działają jednak natej samej zasadzie Kość jest umieszczona w przezroczystej obudowie pod ktoacuterą znaj-dują się diody LED z nałożonymi na nie filtrami koloroacutew (czerwony zielony i żoacutełty)Dzięki temu układ może zliczać względną zawartość podstawowych koloroacutew w barwiedanego przedmiotu
Najprostszym sposobem wykorzystania tego układu jest stworzenie modułu takiegojak widoczny na rysunku 87
Rysunek 87 Modu rozpoznaj cy kolory
Moduł ten wart nie więcej niż 40 zł zawiera roacutewnież cztery białe diody LED słu-żące do oświetlania badanego obiektu a także złączki składające się z wygodnie roz-mieszczonych noacuteżek
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 247
W tabeli 81 zostało opisane rozmieszczenie oraz przeznaczenie noacuteżek Oproacutecznoacuteżki zasilającej diody LED wszystkie inne połączenia wychodzą bezpośrednio z układuscalonego więc prawdopodobnie inne moduły zawierające kość TCS3200 będą miałyte same noacuteżki chociaż mogą one być nieco inaczej rozmieszczone
Tabela 81 Rozmieszczenie noacute ek w module czujnika koloroacutew
Noacute ka Opis Opis Noacute ka
S0 Od 25 V do 5 V VCC
S1
Noacuteżki S0 i S1 regulują zakresczęstotliwości Obydwie powinnymieć ustawiony stan HIGH
Masa GND
S2 Włączenie wyjścia (ang outputenable) mdash jeżeli ustawimy stan LOWuruchomimy układ scalony
OE
S3
Czerwona mdash S2 i S3 w stanie LOWZielona mdash S2 i S3 w stanie HIGHNiebieska mdash S2 w stanie LOWS3 w stanie HIGHBiała mdash S2 w stanie HIGHS3 w stanie LOW
Połączmy z masą za pomocądołączonej zworki aby włączyćdiody LED
LED
OUT Impulsy wyjściowe GND
Układ scalony nie generuje żadnego sygnału na wyjściu analogowym lecz rozroacuteżniaczęstotliwość ciągu impulsoacutew Za pomocą zmiany stanoacutew cyfrowych wejść S2 i S3dobieramy kolor ktoacuteremu odpowiada dana częstotliwość
Co b dzie potrzebneLiczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Moduł czujnika koloroacutew M12
1 Zestaw złączek męsko-damskich N12
KonstrukcjabdquoKonstrukcjardquo jest w tym przypadku chyba nieco za mocnym słowem Moduł zostanieumieszczony bezpośrednio na Arduino (rysunek 88) a jego przednia część będzieskierowana na zewnątrz
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
248 Zabawy z elektronik
Rysunek 88 Czujnik koloru pod czony do Arduino
Wprowadzimy następujące połączenia
z noacuteżki S0 modułu do noacuteżki D3 Arduino
z noacuteżki S1 modułu do noacuteżki D4 Arduino
z noacuteżki S2 modułu do noacuteżki D5 Arduino
z noacuteżki S3 modułu do noacuteżki D6 Arduino
z noacuteżki OUT modułu do noacuteżki D7 Arduino
Musimy jeszcze podłączyć trzy męsko-damskie przewody złączowe do następu-jących wyjść
z noacuteżki VCC modułu do noacuteżki 5V Arduino
z noacuteżki GND modułu do noacuteżki GND Arduino
z noacuteżki OE modułu do noacuteżki GND Arduino
Rysunek 89 przedstawia mechanizm rozpoznawania koloroacutew na przykładzie kostkiRubika
OprogramowanieModuł czujnika koloroacutew został wykorzystany w szkicu rozpoznawanie_barw
rozpoznawanie_barw
int pulsePin = 7int prescale0Pin = 3
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 249
Rysunek 89 Rozpoznawanie koloroacutew na kostce Rubika
int prescale1Pin = 4int colorSelect0pin = 5int colorSelect1pin = 6
Nazwy zmiennych identyfikujących noacuteżki odzwierciedlają ich przeznaczenie a nieoznaczenie na module
W funkcji setup noacuteżkom zostają przypisane właściwe stany oraz konfigurujemydwie noacuteżki odpowiedzialne za bdquoprzeliczanie wstępnerdquo (ang prescale) ktoacutere definiujązakres częstotliwości wyjściowej jako HIGH uruchamiają komunikację szeregową orazpowodują wyświetlenie powitalnego komunikatu
void setup() pinMode(prescale0Pin OUTPUT) pinMode(prescale1Pin OUTPUT) okre la maksymaln warto wst pnego przeliczania digitalWrite(prescale0Pin HIGH) digitalWrite(prescale1Pin HIGH) pinMode(colorSelect0pin OUTPUT) pinMode(colorSelect1pin OUTPUT) pinMode(pulsePin INPUT) Serialbegin(9600) Serialprintln(Czytnik kolorow)
Funkcja loop odczytuje trzy roacuteżne kolory (poacuteźniej do tego wroacutecimy) oraz wyświetlakomunikat w zależności od dominującej barwy Zwroacuteć uwagę że im niższa wartośćtym dany kolor jest jaśniejszy
void loop() long red = readRed()
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
250 Zabawy z elektronik
long green = readGreen() long blue = readBlue() if (red lt green ampamp red lt blue) Serialprintln(CZERWONY) if (green lt red ampamp green lt blue) Serialprintln(ZIELONY) if (blue lt green ampamp blue lt red) Serialprintln(NIEBIESKI) delay(500)
Każda z wymienionych funkcji mdash readRed readGreen readBlue oraz readWhite mdashwywołuje funkcję readColor zawierającą odpowiednie wartości noacuteżek S2 i S3
long readRed() return (readColor(LOW LOW))
W funkcji readColor konfigurujemy najpierw odpowiednie noacuteżki dla danego kolorui w zmiennej start rejestrujemy czas rozpoczęcia odczytu Następnie zbieramy odczytyz 1000 impulsoacutew Na koniec jest zwracana roacuteżnica pomiędzy bieżącym czasem a cza-sem rozpoczęcia odczytu
long readColor(int bit0 int bit1) digitalWrite(colorSelect0pin bit0) digitalWrite(colorSelect1pin bit1) long start = millis() for (int i=0 ilt 1000 i++) pulseIn(pulsePin HIGH) return (millis() - start)
Wstawiłem roacutewnież funkcję wyświetlającą wartości koloroacutew w Monitorze portuszeregowego chociaż z niej nie korzystamy
void printRGB() Serialprint(readRed()) Serialprint(t) Serialprint(readGreen()) Serialprint(t) Serialprint(readBlue()) Serialprint(t) Serialprintln(readWhite())
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 251
Detekcja drgaMożemy bardzo łatwo wykorzystywać piezoelektryczne czujniki wibracji we wspoacuteł-pracy z Arduino Jeden z przykładowych egzemplarzy (z serwisu SparkFun) jestwidoczny na rysunku 810
Rysunek 810 Piezoelektryczny czujnik wibracji
Czujnik wibracji składa się z cienkiego paska materiału piezoelektrycznego naktoacuterego końcu jest umieszczony nit pełniący funkcję ciężarka Gdy pojawiają się wibra-cje ciężarek porusza się i wygina płytkę piezoelektryczną co powoduje skoki napięciaJeżeli mamy odpowiedni sprzęt to napięcie może osiągnąć wartość nawet 80 V Ponie-waż jednak podłączymy czujnik do cyfrowego wejścia Arduino jego rezystancja będziena tyle duża aby stłumić to napięcie do poziomu niezagrażającego elektronice mikro-procesora
Co b dzie potrzebneAby wykrywać drgania za pomocą czujnika piezoelektrycznego potrzebne nam będąnastępujące elementy
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Piezoelektryczny czujnik drgań M13
1 Dioda LED Z1
1 Rezystor 220 Ω Z2
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
252 Zabawy z elektronik
KonstrukcjaPiezoelektryczny czujnik wibracji jest następnym z serii podzespołoacutew przyjaznych ukła-dowi Arduino Wystarczy podłączyć go do odpowiednich noacuteżek My umieścimy gow gniazdach A0 oraz A1 Noacuteżka A0 zostanie skonfigurowana w trybie LOW i będziestanowić połączenie czujnika z masą (rysunek 811) Zwroacuteć uwagę że z jednej stronymoduł ten jest oznaczony symbolem + Podłączmy w tym miejscu noacuteżkę A1
Rysunek 811 Wykrywanie wibracji za pomoc Arduino
Diodę LED łączymy z rezystorem tak jak zostało to omoacutewione w rozdziale 6 Takzabezpieczoną diodę możemy złączyć biegunem dodatnim z noacuteżką 8 a ujemnymz GND
OprogramowaniePoniższy kod wykorzystuje na samym początku technikę samoistnej kalibracji abyczujnik wysłał komunikat o braku drgań Następnie czekamy na pojawienie się wibracjio sile przekraczającej wartość progową ktoacutera spowoduje zaświecenie diody LED Wci-śnięcie przycisku Reset na Arduino sprawi że czujnik znoacutew będzie gotoacutew do pomiaruwibracji
czujnik_wibracji
int gndPin = A0int sensePin = 1int ledPin = 8
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 253
Po zdefiniowaniu używanych noacuteżek deklarujemy dwie zmienne Zmienna normalReading jest wykorzystywana w procesie kalibracji (za chwilę go omoacutewimy) nato-
miast w zmiennej threshold wstawiamy dopuszczalną wartość odczytu po ktoacuterejprzekroczeniu dioda LED zostanie włączona
int normalReading = 0int threshold = 10
W funkcji setup konfigurujemy tryby działania noacuteżek a następnie wywołujemyfunkcję calibrate w przypadku braku drgań służącą do określenia odczytoacutew czujnika
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(ledPin OUTPUT) normalReading = calibrate()
Funkcja loop po prostu odczytuje wyniki i poroacutewnuje je z wartością progowąJeżeli ją przekroczymy dioda LED zostanie włączona
void loop() int reading = analogRead(sensePin) if (reading gt normalReading + threshold) digitalWrite(ledPin HIGH)
Czujnik kalibrujemy za pomocą 100 impulsoacutew wysyłanych w milisekundowychodstępach czasu Zwracana jest wartość średnia Wszystkie wyniki są przechowywanew zmiennej typu long ponieważ mogą się one nie mieścić w standardowym typie int
int calibrate() int n = 100 long total = 0 for (int i = 0 i lt n i++) total = total + analogRead(sensePin) delay(1) return total n
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
254 Zabawy z elektronik
Pomiar temperaturyIstnieje wiele czujnikoacutew przeznaczonych do mierzenia temperatury Model TMP36(rysunek 812) jest prawdopodobnie najprostszym z nich
Rysunek 812 Czujnik TMP36
Nasz test będzie polegał po prostu na wyświetlaniu odczytoacutew czujnika w Monitorzeportu szeregowego lecz roacutewnie dobrze możemy połączyć sensor z modułem przekaź-nika omoacutewionym w rozdziale 6
Co b dzie potrzebneDo stworzenia elektronicznego termometru wykorzystamy następujące podzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Czujnik temperatury TMP36 P8
KonstrukcjaCzujnik TMP36 ma tylko trzy noacuteżki dwie z nich służą do zasilania a trzecia stanowianalogowe wyjście Napięcie zasilające musi mieścić się w przedziale od 27 V do 55 Vdzięki czemu znakomicie się nada zasilanie z poziomu Arduino Tak naprawdę możemyzasilać ten czujnik poprzez wyjścia cyfrowe i po prostu włożyć jego noacuteżki do trzechgniazd złącza analogowego (rysunek 813)
OprogramowanieWykorzystywany szkic (czujnik_temperatury) został stworzony zgodnie ze znanym Cijuż szablonem Najpierw definiujemy noacuteżki a następnie w funkcji setup konfiguru-jemy stany noacuteżek wyjściowych (LOW dla masy HIGH dla zasilania)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 255
Rysunek 813 Czujnik TMP36 pod czony do Arduino
czujnik_temperatury
int gndPin = A1int sensePin = 2int plusPin = A3
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla odczytuje wartość z wejścia analogowego a następnie przeprowadzaobliczenia w celu ustalenia rzeczywistej temperatury
Najpierw jest przeliczane napięcie na wejściu analogowym Wynikiem jest iloraznieprzetworzonej wartości (w zakresie od 0 do 1023) przez 205 Przyjęliśmy taką war-tość ponieważ cały zakres 1024 dotyczy napięcia 5 V inaczej moacutewiąc 10245 = 205na wolt
Na wyjściu czujnika TMP36 pojawia się napięcie (U) dzięki ktoacuteremu możemy wyli-czyć temperaturę w skali Celsjusza Wykorzystamy do tego następujący wzoacuter
tempC = 1000middotUndash50
Nasz kod konwertuje temperaturę roacutewnież na skalę Fahrenheita i wyświetla obydwawyniki w Monitorze portu szeregowego
void loop() int raw = analogRead(sensePin) float volts = raw 2050 float tempC = 1000 volts - 50 float tempF = tempC 90 50 + 320 Serialprint(tempC)
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
256 Zabawy z elektronik
Serialprint( C ) Serialprint(tempF) Serialprintln( F) delay(1000)
AkcelerometrZa niewielką opłatą możesz zaopatrzyć się w malutkie moduły akcelerometroacutew (rysu-nek 814) Obydwa pokazane na rysunku modele są do siebie bardzo podobne Są zasi-lane napięciem 5 V i mają wyjście cyfrowe dla każdej osi Model widoczny z lewejstrony jest dostępny na stronie Freetronics (httpwwwfreetronicscomproducts3-axis-accelerometer-module - Ug4yCpL0FT4) natomiast moduł po prawej możeszzakupić w serwisie Adafruit (httpwwwadafruitcomproducts163)
Rysunek 814 Modu y akcelerometroacutew
Moduły te są zbudowane z akcelerometroacutew troacutejosiowych mierzących siłę działającąna niewielki ciężarek umieszczony wewnątrz układu Dwie osie (X i Y) są ułożoneroacutewnolegle do płytki drukowanej Oś Z jest prostopadła w stosunku do układu sca-lonego Pod wpływem grawitacji w tym kierunku będzie oddziaływała siła Jeśli więcprzechylimy nieco moduł zmieni się wartość oddziaływania grawitacyjnego po uno-szonej stronie (rysunek 815)
Przetestujemy jeden z omawianych akcelerometroacutew na elektronicznej wersji wyściguz jajkiem na łyżce Wykorzystamy nasz moduł do wykrywania poziomu przechyleniabdquołyżkirdquo w momencie gdy bdquojajkordquo będzie zagrożone wypadnięciem zostanie zapalonadioda LED Brzęczyk będzie nam sygnalizował przechylenie oznaczające wypadnięciejajka (rysunek 816)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 257
Rysunek 815 Wp yw grawitacji na akcelerometr
Rysunek 816 Wy cig z Arduino na y ce
Co b dzie potrzebneAby wziąć udział w wyścigu z Arduino na łyżce będą nam potrzebne następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Akcelerometr M15
1 Brzęczyk piezoelektryczny M3
1 Dioda LED Z1
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
258 Zabawy z elektronik
Liczba Przedmiot Kod w dodatku
1 Rezystor 220 Ω Z2
1 Przejścioacutewka pomiędzy zaciskiem do baterii a wtyczką zasilania 21 mm S9
1 Drewniana łyżka
1 Bateria PP3 9 V
KonstrukcjaPrzy odrobinie sprytu możemy jednocześnie podłączyć do Arduino zaroacutewno akcele-rometr jak roacutewnież brzęczyk i diodę LED Należy najpierw przesłać odpowiedni szkicdo mikrokontrolera przed podłączeniem modułu gdyż w poprzednio załadowanymprojekcie niektoacutere z noacuteżek od A0 do A5 mogły zostać skonfigurowane jako wyjścia
Schemat naszego czujnika wykorzystywanego w wyścigu został umieszczony narysunku 817
Rysunek 817 Schemat uk adu mierz cego przechylenie y ki
Jak widać na rysunku 818 wszystkie elementy mają swoje miejsce w gniazdachArduino Połączyliśmy diodę LED z rezystorem zgodnie z opisem umieszczonymw rozdziale 6 Biegun dodatni diody łączy się z noacuteżką 8 Arduino a biegun ujemny mdashz GND Brzęczyk umieściliśmy pomiędzy noacuteżkami D3 i D6 mdash ta druga łączy się z bie-gunem dodatnim brzęczyka Jeżeli noacuteżki brzęczyka są rozmieszczone w inny sposoacutebmożesz wybrać inne wejścia w Arduino pamiętaj jednak żeby odpowiednio zmienićroacutewnież wartości zmiennych gndPin2 i buzzerPin w kodzie
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 259
Rysunek 818 Arduino wraz z pod czonymi podzespo ami
Jak pokazano na rysunku 818 obydwa moduły akcelerometroacutew mieszczą sięw gniazdach od A0 do A5 jednak roacuteżnią się one rozmieszczeniem noacuteżek
Układ jest zasilany baterią 9 V podłączoną za pomocą przejścioacutewki a całość zostałaumocowana na łyżce przy użyciu gumek recepturek
OprogramowanieW tym projekcie są wykorzystywane dwie wersje szkicu jajko_na_lyzce_adafruit orazjajko_na_lyzce_freetronics Wybierz właściwy szkic a następnie zaprogramuj ArduinoZANIM podłączysz moduł akcelerometru
Jedyna roacuteżnica pomiędzy tymi szkicami polega na rozmieszczeniu noacuteżekOpiszę tutaj wersję dla akcelerometru AdafruitRozpoczynamy od zdefiniowania używanych noacuteżek
jajko_i_lyzka_adafruit
int gndPin1 = A2int gndPin2 = 3int xPin = 5int yPin = 4int zPin = 3int plusPin = A0int ledPin = 8int buzzerPin = 6
Jeśli łyżka jest ustawiona poziomo zmienne levelX oraz levelY służą do określaniawartości spoczynkowej przyśpieszenia dla osi X i Y
int levelX = 0int levelY = 0
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
260 Zabawy z elektronik
Dzięki zmiennym ledThreshold oraz buzzerThreshold możemy modyfikowaćkąt przechylenia łyżki przy ktoacuterym dioda LED zaczyna świecić a brzęczyk generujedźwięk ostrzegający o bdquowypadnięciu jajkardquo
int ledThreshold = 10int buzzerThreshold = 40
Funkcja setup uaktywnia noacuteżki a następnie wywołuje funkcję calibrate służącądo ustawiania wartości zmiennych levelX oraz levelY
void setup() pinMode(gndPin1 OUTPUT) digitalWrite(gndPin1 LOW) pinMode(gndPin2 OUTPUT) digitalWrite(gndPin2 LOW) pinMode(plusPin OUTPUT) pinMode(ledPin OUTPUT) pinMode(buzzerPin OUTPUT) digitalWrite(plusPin HIGH) pinMode(A1 INPUT) wyj cie 3 V calibrate()
W głoacutewnej pętli odczytujemy wartości przyśpieszenia w osiach X i Y oraz spraw-dzamy jak bardzo oddaliły się one od wartości zmiennych levelX i levelY Funkcja abszwraca wartość bezwzględną wyniku więc jeśli odczyt będzie liczbą ujemną zosta-nie zmieniony na liczbę dodatnią ktoacutera dopiero teraz może zostać przyroacutewnana dowartości progowych
void loop() int x = analogRead(xPin) int y = analogRead(yPin) boolean shakey = (abs(x - levelX) gt ledThreshold || abs(y - levelY) gt ledThreshold) digitalWrite(ledPin shakey) boolean lost = (x gt levelX + buzzerThreshold || y gt levelY + buzzerThreshold) if (lost) tone(buzzerPin 400)
Jedynym minusem funkcji calibrate jest konieczność odczekania 200 milisekundzanim pojawią się pierwsze odczyty Akcelerometr zostaje w tym czasie uruchomiony
void calibrate() delay(200) dajemy akcelerometrowi czas na w czenie si levelX = analogRead(xPin) levelY = analogRead(yPin)
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
ROZDIA 8 Zabawa z czujnikami 261
Wykrywanie poacutel magnetycznychWykrywanie pola magnetycznego staje się prostą czynnością dzięki wykorzystaniutakiego troacutejwyjściowego podzespołu jak na przykład liniowy czujnik efektu Halla A1302Możemy używać tego układu tak samo jak wykorzystywaliśmy czujnik temperaturyTMP36 w podrozdziale bdquoPomiar temperaturyrdquo
Co b dzie potrzebnePodczas stosowania modułu pomiaru pola magnetycznego wykorzystamy następującepodzespoły
Liczba Przedmiot Kod w dodatku
1 Arduino UnoLeonardo M2M21
1 Przewoacuted USB typu B dla Arduino Uno microUSB dla ArduinoLeonardo
1 Liniowy czujnik efektu Halla A1302 P12
KonstrukcjaTak samo jak układ TMP36 czujnik A1302 ma tylko trzy noacuteżki dwie służą do zasilaniaa trzecia stanowi wyjście analogowe Napięcie zasilające mieści się w zakresie od 45 Vdo 6 V dzięki czemu zasilanie 5 V Arduino całkowicie zaspokoi nasze potrzebyenergetyczne
W rzeczywistości zupełnie wystarczające okazuje się zasilanie z wyjść cyfrowychmożemy więc umieścić wszystkie trzy noacuteżki czujnika w złączu analogowym Arduino(rysunek 819) Koacutełko na czujniku powinno być skierowane na zewnątrz
Noacuteżka A1 Arduino może być zaprogramowana jako wyjście dlatego przed podłą-czeniem czujnika należy najpierw wczytać szkic do mikrokontrolera
OprogramowanieKod dla czujnika magnetycznego bardzo przypomina szkic termometru
Deklarujemy najpierw trzy noacuteżki cyfrowe wejścia 15 i 17 (noacuteżki A0 i A2) nato-miast A1 definiujemy jako noacuteżkę czujnika
czujnik_magnetyczny
int gndPin = A1int sensePin = 2int plusPin = A3
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
262 Zabawy z elektronik
Rysunek 819 Czujnik magnetyczny A1302 umieszczony w Arduino
void setup() pinMode(gndPin OUTPUT) digitalWrite(gndPin LOW) pinMode(plusPin OUTPUT) digitalWrite(plusPin HIGH) Serialbegin(9600)
Głoacutewna pętla pobiera jedynie nieprzetworzone odczyty i wyświetla je w Monitorzeportu szeregowego
Urządzenie nie jest zbyt czułe jednak jeśli zbliżymy do niego magnes wartościwyświetlane w Monitorze portu szeregowego powinny ulec zmianie
void loop() int raw = analogRead(sensePin) Serialprintln(raw) delay(1000)
PodsumowanieIstnieje mnoacutestwo rodzajoacutew czujnikoacutew ktoacutere nie zostały omoacutewione i wiele z nich możnabez większego problemu podłączyć do Arduino czy to przez wejście analogowe czyteż za pomocą modulacji impulsoacutew Szkice opisane w tym rozdziale można z łatwościądostosować do korzystania z innych czujnikoacutew
W następnym rozdziale zmienimy nieco kierunek eksperymentoacutew i zajmiemy sięelektroniką związaną z dźwiękiem i muzyką
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Skorowidz
AAC Patrz prąd zmiennyadres
IP 177 179MAC 177 179
akcelerometr 256 258 281 282troacutejosiowy 256
akumulator 121 125 Patrz też bateriado telefonu komoacuterkowego 133kwasowo-ołowiowy 127 130 131litowo-polimerowy 125 132 133ładowanie 126 127 129 130 131 132NiMH 129 130pojemność 128przeciążenie 128żywotność 128
alarm przeciwwłamaniowy 196Allen Charlie 187alternating current Patrz prąd zmiennyamper 53amperogodzina 122anoda 47 48 88 91 167 298
wspoacutelna 232Arduino 147
konfiguracja 149Leonardo 148
moduł rozszerzeń 173noacuteżka 155program Patrz szkicUno 148zasilanie 176 213
Bbateria 45 50 58 121 Patrz też akumulator
bezpieczna wartość rozładowania 122jednorazowa 122ładowanie 127pojemność 121 128
jednostka 122przeciążenie 128rezystancja wewnętrzna 122testowanie 291
bezpiecznik 289prąd znamionowy 289szybki 289zwłoczny 290
bibliotekaAdafruit 234Ethernet 179SPI 179
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
322 Zabawy z elektronik
bramka 76buck-boost converter Patrz przekształtnik
obniżająco-podwyższający
Ccapacity Patrz pojemnośćcewka 274charliepleksing 187chip Patrz układ scalonycisza 268Continuity test Patrz test ciągłości obwoducyna lutownicza Patrz lutczęstotliwość radiowa 207czujnik 241
efektu Halla 261koloroacutew 246 248metanu 241piezoelektryczny 251 252podczerwieni 198pola magnetycznego 261ruchu 198
PIR 196temperatury 254wibracji 251 252
Ddalmierz 200 202 205DC Patrz prąd stałyDC Current Patrz natężenie prądu stałegoDC Volts Patrz napięcie prądu stałegodioda 47 57 88 140 294
anoda Patrz anodakatoda Patrz katodalaserowa 114napięcie
przewodzenia 89 91 298zaporowe 90
prąd przewodzenia 89wartość znamionowa 90
spolaryzowana 88 89świecąca Patrz LEDtestowanie 298
direct current Patrz prąd stałydrain Patrz drendren 76drut połączeniowy Patrz przewoacuted
jednożyłowydzielnik napięcia 61 163
obliczanie 64dźwięk Patrz sygnał dźwiękowy
EEAGLE PCB 307element
elektronicznydo montażu powierzchniowego
Patrz SMDodzyskiwanie 294opornik Patrz rezystoroznaczenia kodowe 22 44 45rezystor Patrz rezystorsymbole 57zakup 22źroacutedła 22 23
grzewczy 241 243testowanie 291
katalityczny 241energia elektryczna 54eterofon 279
Ffarad 45fotorezystor 64 67 69 279fototranzystor 50Fritzing 306
Ggate Patrz bramkagenerator
dźwięku 170sygnałoacutew 279
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Skorowidz 323
głośnik 61 294budowa 274moc 275niskotonowy 275przestrzenny 275rezystancja 274wysokotonowy 275zakres częstotliwości 275
GND Patrz masa
Hhookup wire Patrz przewoacuted jednożyłowy
IIDE 147Integrated Development Environment
Patrz IDEinterfejs szeregowy Patrz magistrala
Jjednostka
napięcia 53natężenia prądu 53pojemności 45rezystancji 43
jumper wire Patrz przewoacuted z wtyczkamina końcach
Kkabel 26 28kalkulator sieciowy 307kandela 93katalizator 243katoda 47 48 88
wspoacutelna 232 233klawiatura
emulowanie 281USB 192
koder obrotowy 50komparator 242 244 270
kondensator 45 57 116 135 287eksplozja 47elektrolityczny 46 299ładowanie 45nietypowy 294odsprzęgający 45pojemność Patrz pojemnośćpolaryzacja 46pomiar 298SMD 50spolaryzowany 57sprzęgający 276testowanie 292wygładzający 45
kontroler muzyczny 281 283kość Patrz układ scalony
LLED 47 58 67 87 166 167 196 232
czerwona 89 246częstotliwość migotania 166dużej mocy 95jasność 169kalkulator 102karta katalogowa 90kąt emisji 93kolor 91 93łączenie szeregowe 102macierz 187migotanie 168napięcie przewodzenia 100podczerwone 94RGB 48 94spolaryzowana w kierunku przewodzenia 89światłość 93ultrafioletowe 94zielona 246żoacutełta 246
light emitting diode Patrz LEDlut 31 32
opary 35
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
324 Zabawy z elektronik
lutowanie 28 29 32 Patrz też wylutowywanieprzewodoacutew dźwiękowych 265 266zasady bezpieczeństwa 29 38
lutownica 23czyszczenie 31
ładowanie podtrzymujące 128 133 141 144ładowarka 128
roacutewnoważona 132telefoniczna 295
ładunek elektryczny 45łazik elektroniczny 226
Mmagic hands Patrz trzecia rękamagistrala I2C 233 234magnes 274masa 36materiał piezoelektryczny 251Metal Oxide Semiconductor Field Effect
Transistor Patrz tranzystor MOSFETmiernik 297
głośności 284tryb testowania ciągłości Patrz test
ciągłości obwoduuniwersalny 23zakres
stałoprądowy 37 62zmiennoprądowy 37
mikrofarad 46mikrofon 268mikrokontroler 49 82 147
Arduino Patrz Arduinozmiana trybu działania noacuteżek 187
mikroprzełącznik 83miliamper 53milikandela 93moc 54
jednostka 54znamionowa 61
modulacja szerokości impulsoacutew Patrz PWMmoduł
Ethernetowy 148 174 179laserowy 114mikrofonowy 268 284odbiornika 226rozszerzeń 147silnika 226zegara RTC Patrz zegar RTC
monitor portu szeregowego 160 196 254mostek H 215 217 241multipleksing 233
Nnadajnik radiowy 271nanofarad 46napięcie 51 52 54 301
dzielnik Patrz dzielnik napięciajednostka 53odniesienia 36polaryzacja 47pomiar 100poroacutewnywanie 242prądu stałego 24regulator 135
LDO 137skuteczne 300tolerancja 135znamionowe 46
narzędzia 23natężenie 51 301
jednostka 53prądu stałego 24 44
nożyce 23do cięcia drutu 27
Oobwoacuted
dodatni Patrz obwoacuted prądowydrukowany 50niestabilność 45
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Skorowidz 325
prądowy 36 46ujemny Patrz masazwarcie 216
odbiornik radiowy 61ogniwo AA 121ogniwo słoneczne 142Ohma prawo Patrz prawo Ohmaom 53OmniGraffle 107opornik Patrz rezystoroporność Patrz rezystancjaoprogramowanie 305
EAGLE PCB 307Fritzing 306symulator obwodoacutew elektronicznych 306
oscyloskop 268 304
Ppamięć 49panel słoneczny 121 Patrz ogniwo słonecznePassive Infra Red Patrz podczerwień
pasywnapikofarad 45 46pilot bezprzewodowy 207 208 209pluskwa radiowa 271płytka
drukowana 34montażowa 24 62perforowana 106 109 110prototypowa 50
podczerwień pasywna 196podzespoacuteł do montażu powierzchniowego 50
Patrz SMDpojemność 45 128
pomiar 298pole magnetyczne 261połączenie suche 34pomiar
napięcia prądu stałego 24natężenia prądu stałego 24pojemności 298rezystancji 24
portCOM 150szeregowy 160
potencjometr 45 50 62 163prawo Ohma 52 69prąd
napięcie Patrz napięcienatężenie Patrz natężenierezystancja Patrz rezystancjastały 37 301
sterownik Patrz sterownikprądu stałego
zmienny 37 300 302napięcie skuteczne 300
projektowanie płytek drukowanych 307protokoacuteł DHCP 177przedwzmacniacz mikrofonowy 269przeglądarka 177przekaźnik 154 159 173 208przekształtnik obniżająco-podwyższający 137przełącznik 37 50 58 76 81 159 215 294
chwilowy 83DPDT 84DPST 83dwupozycyjny 83dwustabilny 83ON-Off-Mom 85SPDT 83SPST 83wciskany Patrz przycisk
przetwornik ultradźwiękowy 201przewoacuted
dźwiękowy 263 264lutowanie 265 266wtyczka 264 266
ekranowany 27 264głośnikowy 265jednożyłowy 24 26 28łączenie
przez lutowanie 28 29 31 32przez skręcanie 28
prądowy 37usuwanie izolacji 25 27
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
326 Zabawy z elektronik
przewoacutedwielożyłowy 26 Patrz kabelz wtyczkami na końcach 24
przycisk 82PWM 169
Rradiator 96Real Time Clock Patrz zegar RTCResistance Patrz rezystancjarezystancja 24 44 51 54 274
jednostka 53pomiar 298
rezystor 41 43 47 57dużej mocy 43moc znamionowa 44nastawny Patrz potencjometroznaczenia kodowe 44 45rozgrzewanie 59SMD 50stały 45światłoczuły 50 Patrz fotorezystortestowanie 292zmienny Patrz potencjometr
robot Magician 227router 177
Ssamochoacuted zdalnie sterowany 115 117schemat 61
czytanie 36 55 56serwer sieciowy 177serwomotor 185 186shield Patrz moduł rozszerzeńsilnik 229 294
krokowy 221 222regulacja obrotoacutew 212wirnik 221zmiana kierunku obrotoacutew 215
silnik elektryczny 79sketch Patrz szkic
słuchawki 27SMD 50 195sonar 201sprzężenie zwrotne 270starter kit Patrz zestaw startowystatyw 23sterownik
prądu stałego 96przekaźnika 173
stripboard Patrz płytka perforowanaSurface Mount Device 50switch Patrz przełączniksygnał dźwiękowy 263 264
stereofoniczny 266zniekształcenie 269
symulator obwodoacutew elektronicznych 306system przeciwkradzieżowy 196szczypce 23 27szkic 150szum elektryczny 27 45 264
ścieżka dźwiękowa 27śrubokręt 23światła natężenie Patrz światłośćświatłość 93
Ttechnologia typu D 276temperatura 299termoogniwo 299test
ciągłości obwodu 24 33 272 298płytki drukowanej 34połączenia 33
timer Patrz układ czasowy 555tranzystor 49 68 75 215 294
baza Patrz bazabipolarny 57 68 76 78
testowanie 292 302bramka Patrz bramka
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
Skorowidz 327
emiter Patrz emiterkarta katalogowa 75kolektor Patrz kolektorMOSFET 76 78 212
zasilanie 213NPN 57 77 78PNP 77 78polowy o strukturze metal-tlenek-
poacutełprzewodnik Patrz tranzystorMOSFET
SMD 50sterowany stanem logicznym 81wspoacutełczynnik wzmocnienia 302wzmocnienie 68
prądowe 76z kanałem
typu N 78typu P 78
źroacutedło Patrz źroacutedłotranzystorNPN 68trickle charging Patrz ładowanie
podtrzymującetrzecia ręka 30tweeter Patrz głośnik wysokotonowy
Uukład
czasowy 555 103 105 279scalony 49
7805 135LM317 96MCP73831 132mostek H 217SMD 50
sterownika 182wspoacutelnej anody 232wspoacutelnej katody 232 233wzmacniający Patrz wzmacniacz
ultradźwięki 200 201
VVeroDes 107Volume Unit Patrz miernik głośnościVU Patrz miernik głośności
Wwat 54wolt 53woltomierz 62woofer Patrz głośnik niskotonowywspoacutełczynnik wzmocnienia 270wylutowywanie 293
warkocz 293wyświetlacz
LCD 182LED 232 294siedmiosegmentowy 48 232 294słupkowy 48trzycyfrowy 232
wzmacniacz 268dźwięku 49 275operacyjny 270
Zzasady bezpieczeństwa 287 288 289 301 302zasilacz 121 303
impulsowy 287zasilanie awaryjne 139zegar
cyfrowy 237RTC 236
zestawrezystoroacutew 41startowy 41 42
zintegrowane środowisko programistycznePatrz IDE
złącze 294zwrotnica 275
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę
328 Zabawy z elektronik
źroacutedło 76prądu programowalne 131zasilania 121
dodatnie 26ujemne 26
Kup książkę Poleć książkę