44

Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

  • Upload
    lamnhi

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 2: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 3: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 4: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 5: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 6: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 7: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 8: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 9: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 10: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 11: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 12: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 13: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 14: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 15: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 16: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 17: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 18: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 19: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 20: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 21: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 22: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 23: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 24: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 25: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 26: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 27: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 28: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 29: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 30: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 31: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 32: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 33: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 34: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 35: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 36: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 37: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 38: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 39: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 40: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

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ę

Page 41: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39

328 Zabawy z elektronik

źroacutedło 76prądu programowalne 131zasilania 121

dodatnie 26ujemne 26

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

Page 42: Tytuł oryginału: Hacking Electronics: An Illustrated DIY Guide for … · 2017-02-22 · 6 Zabawy z elektronikÈ Etap 4.: Łączenie przewodu prądowego z przełącznikiem .....39