Dzisiaj fragment książki "Czujniki dla początkujących. Poznaj otaczający Cię świat za pomocą elektroniki, Arduino i Raspberry Pi" Autorstwa: Kimmo Karvinen, Tero Karvinen, materiał został bezpłatnie udostępniony dla użytkowników elektroda.pl przez grupę Helion S.A.
W udostępnionych fragmentach można zapoznać się ze sposobem połączenia czujnika LM35 z Arduino oraz sposobem podłączenia czujników wykorzystujących efekt Halla.
Czujnik LM35 wytwarza napięcie zależne od temperatury, sposób odczytu sygnału z czujnika w Arduino można wykorzystać do innych celów np. pomiaru napięcia podanego na wejście ADC.
Poniżej udostępniony dla Was przez Helion fragment książki:
----------------------------------------------------------------------------------------
Projekt 11. Pomiar temperatury - czujnik LM35
Jest ciepło czy zimno? Czujnik LM35 jest niedrogim i łatwym w użyciu termometrem (rysunek 3.17). Jedyne, co trzeba zrobić, to zmierzyć napięcie za pomocą funkcji analogRead() oraz obliczyć temperaturę za pomocą wzoru: napięcie * 100 C/V.
Rysunek 3.17. Czujnik temperatury LM35
Nasi uczniowie wykorzystują czujnik LM35 np. do mierzenia temperatury w domkach letniskowych i szklarniach.
Elementy
Do tego projektu będziesz potrzebował następujących elementów:
- czujnika temperatury LM35;
- Arduino Uno;
- kabelków połączeniowych;
- płytki stykowej.
Czujnik LM35 różni się nieco od analogowych czujników rezystancyjnych, z których korzystałeś wcześniej. Ma trzy wyprowadzenia: 5 V, masę oraz sygnał. Dzięki temu łatwiej jest go podłączyć, gdyż nie wymaga użycia dodatkowego rezystora podciągającego.
Budowa
Rysunek 3.18 przedstawia diagram układu. Zbuduj układ zgodnie z diagramem, a następnie uruchom kod z listingu 3.6. Aby zobaczyć aktualny odczyt temperatury, otwórz okno monitora portu szeregowego. Będziesz musiał wykonać następujące czynności:
1. Podłącz czujnik LM35 do Arduino za pomocą płytki stykowej. Jeśli masz najbardziej popularną wersję LM35 (w obudowie typu TO-92 - typowej dla wielu półprzewodników), ustaw czujnik tak, aby był zwrócony płaską stroną w Twoim kierunku i z wyprowadzeniami skierowanymi ku dołowi. Lewa nóżka to +5 V, środkowa to sygnał wyjściowy (VOUT), a prawa to wyprowadzenie masy (GND).
Rysunek 3.18. Czujnik temperatury podłączony za pomocą płytki stykowej
2. Podłącz wyprowadzenie +5 V do +5 V na płytce Arduino, a GND do GND na płytce Arduino. Ale czym jest sygnał VOUT? Otóż ten sygnał to napięcie wyjściowe informujące o temperaturze, którą rejestruje czujnik. Należy więc podłączyć je do wejścia analogowego na płytce Arduino (w listingu 3.6 jest to wejście A0).
Gdy już dokonasz pomiaru temperatury w swoim pokoju, możesz pokusić się o dalsze testowanie czujnika LM35. Gdybyś włożył czujnik do lodówki, musiałbyś odczekać dłuższą chwilę - powietrze jest całkiem dobrym izolatorem i nie przewodzi zbyt dobrze ciepła. W celu szybkiego schłodzenia czujnika posłuż się więc kostką lodu (rysunek 3.19). Wilgotne kostki lodu szybko odprowadzą ciepło z czujnika LM35 i otrzymasz natychmiastowy odczyt temperatury.
Rysunek 3.19. Testowanie czujnika LM35 za pomocą kostek lodu
Uruchom kod
Listing 3.6. Szkic Arduino korzystający z czujnika LM35
Kod: text
q Do odczytu sygnału wyjściowego czujnika wykorzystasz wejście analogowe 0 (A0).
w Podczas rozruchu Arduino wykonuje inicjalizację, jednokrotnie wywołując funkcję setup().
e Otwarcie portu szeregowego. Korzystając z monitora portu szeregowego (Narzędzia/Monitor portu szeregowego), możesz zobaczyć, co dzieje się na wyjściu portu szeregowego. Pamiętaj, aby ustawić taką samą prędkość transmisji zarówno w kodzie, jak i w monitorze portu szeregowego.
r Definicja nowej funkcji o nazwie tempC(). Będziesz ją wywoływał w programie, aby odczytać temperaturę z czujnika.
t Funkcja analogRead() zwraca liczbę całkowitą z przedziału 0 - 1023. Wartość 0 jest równoznaczna z napięciem 0 V, a wartość 1023 oznacza +5 V.
y Dzieląc wynik odczytu przez wartość maksymalną, otrzymasz wartość odczytu wyrażoną procentowo. W ten sposób wartość 0.0 oznacza 0%, a wartość 1.0 oznacza 100%. Aby w wyniku dzielenia otrzymać wartość zmiennoprzecinkową (dziesiętną), należy jako dzielnika użyć także liczby zmiennoprzecinkowej 1023.0 zamiast liczby całkowitej 1023. W językach programowania C i C++ wyrażenie 1/2 zwróci wartość 0, natomiast wyrażenie 1/2.0 zwróci wartość 0.5.
u Zmienna percent przedstawia wynik wyrażony procentowo w stosunku do wartości maksymalnej 5 V. Aby otrzymać napięcie wyjściowe w woltach, należy pomnożyć wynik procentowy razy 5.0.
i W danych katalogowych czujnika LM35 (wyszukaj w sieci frazy LM35 datasheet) można znaleźć informację, że współczynnik skalujący wynosi 10 mV/C, a napięcie 0 V oznacza temperaturę 0° C. Teraz trochę matematyki: 10 mV/C = 0.01 V/C. Odwrotność to 1/0.01 C/V = 100 C/V. Aby więc otrzymać temperaturę wyrażoną w stopniach Celsjusza, należy napięcie wyjściowe pomnożyć razy 100.
o Funkcja setup() kończy działanie i aż do odłączenia zasilania od Arduino uruchamiana jest w pętli funkcja loop().
a Wywołanie funkcji tempC(), która zwraca liczbę (np. 20.0). Ten wynik jest przesyłany do portu szeregowego i dodatkowo wstawia się znak końca linii. Funkcję tempC() można bardzo łatwo wykorzystać w innych projektach. Gdy masz już pewność, że działa ona poprawnie, możesz zapomnieć o szczegółach implementacyjnych. Gdy chcesz zmierzyć temperaturę, podłącz po prostu do swojego układu czujnik LM35 i wywołaj funkcję tempC().
1! Odczekanie chwili. Zapewni Ci to wystarczającą ilość czasu, aby odczytać wynik, zabezpieczy bufor portu szeregowego przez przepełnieniem i zapobiegnie pożarciu przez Twój program 100% zasobów Arduino.
Projekt 4. Efekt Halla
Przełącznik wykorzystujący efekt Halla służy do pomiaru zmian w natężeniu pola magnetycznego i wykrywa znajdujący się w pobliżu magnes. Bardzo popularnym zastosowaniem tego typu czujnika jest rowerowy licznik prędkości - który dokonuje pomiaru tego, jak często magnes mija czujnik. Kolejnym zastosowaniem jest alarm włamaniowy - którego uproszczoną wersję zaraz zbudujesz.
Rysunek 2.4 przedstawia przełącznik Halla NJK-5002A, który można nabyć na eBay ( http://ebay.com ) lub AliExpress ( http://aliexpress.com ) za niecałe 10 dolarów. Jeśli kupisz wersję NJK-5002C, będziesz musiał go nieco inaczej podłączyć do układu (opis znajdziesz poniżej).
Rysunek 2.4. Przełącznik Halla i magnes
Elementy
W tym projekcie będziesz potrzebował następujących elementów:
- przetwornika piezoelektrycznego (brzęczyka);
- baterii 9 V;
- złącza baterii 9 V;
- płytki stykowej;
- przełącznika Halla NJK-5002A.
Budowa
Czujnik NJK-5002A działa podobnie jak przełącznik i ma wyprowadzenia dla plusa zasilania (brązowy kabelek), minusa zasilania (niebieski kabelek - mimo faktu, że w przypadku większości elementów elektronicznych minus jest oznaczany kolorem czarnym) oraz wyprowadzenie sterujące, na którym w momencie gdy czujnik znajdzie się w polu magnetycznym, pojawi się plus zasilania (czarny kabelek - mimo faktu, że zazwyczaj kolor czarny oznacza minus zasilania).
Jeśli masz czujnik w wersji NJK-5002C, na wyprowadzeniu czarnym będzie się pojawiał minus zasilania (a nie plus, jak w przypadku wersji NJK-5002A).
Aby zbudować układ, postępuj według następujących kroków:
1. Ustaw poziomo płytkę stykową - tak jak to przedstawiono na rysunku 2.5.
Rysunek 2.5. Alarm włamaniowy z przełącznikiem Halla
2. Włóż czarny kabelek (wyjście) czujnika do którejkolwiek kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść plusowe (czerwone) wyprowadzenie brzęczyka.
Jeśli korzystasz z czujnika NJK-5002C, zamiast plusowego wyprowadzenia brzęczyka podłącz minusowe (czarne).
3. Podłącz czerwony kabelek złącza baterii 9 V do dowolnej wolnej kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść brązowy (plusowy) kabelek przełącznika Halla.
Jeśli korzystasz z czujnika NJK-5002C, podłącz także do tej kolumny plusowe (czerwone) wyprowadzenie brzęczyka.
4. Podłącz niebieski kabelek (minusowy) przełącznika Halla do dowolnej wolnej kolumny na płytce stykowej, a następnie w tej samej kolumnie umieść czarny kabelek złącza baterii 9 V.
Do tej samej kolumny podłącz także minusowe wyprowadzenie brzęczyka. Jeśli korzystasz z czujnika NJK-5002C, nie musisz tego robić.
5. Podłącz baterię 9 V i zbliż do czujnika magnes - brzęczyk powinien zacząć wydawać sygnał.
Gdy już poznałeś, w jaki sposób posługiwać się czujnikiem Halla, możesz z niego skorzystać w wielu innych projektach. Możesz go użyć, aby wykryć sytuację, gdy dwa obiekty się z sobą stykają lub gdy są od siebie oddzielone. Na przykład umieszczając w ościeżnicy czujnik, a w drzwiach magnes, będziesz mógł sprawdzać, czy drzwi są zamknięte, czy otwarte. Możesz go także wykorzystać do pomiaru prędkości obrotowej. Jeśli przymocujesz magnes do pedału w Twoim rowerze stacjonarnym, za pomocą czujnika Halla będziesz mógł obliczyć prędkość pedałowania. Następnie obliczona prędkość może posłużyć jako wejście w grze wideo - w ten sposób trening stanie się znacznie bardziej ciekawy.
Rozwiązywanie problemów
Gdy układ zaprezentowany w tym projekcie nie działa, sprawdź następujące rzeczy:
- Spróbuj odwrócić magnes - przełącznik zadziała tylko wtedy, gdy skierujesz na niego odpowiedni biegun magnesu.
- Czy świeci się wbudowana w czujnik dioda LED? Jeśli nie, prawdopodobnie czujnik jest niewłaściwie podłączony.
- Czy używasz odpowiedniej wersji czujnika? Instrukcja przedstawia podłączenie dwóch najbardziej popularnych wersji (NJK-5002A i NJK-5002C). Jeśli masz inny model czujnika, zajrzyj do jego karty katalogowej - dowiesz się z niej, w jaki sposób podłączyć go do układu.
- Upewnij się, że brzęczyk działa prawidłowo, podłączając go bezpośrednio do baterii. Czy wydaje sygnał?
----------------------------------------------------------------------------------------
Na tym kończymy fragment książki, który możemy zaprezentować dzięki współpracy z Helion S.A.
Wolicie czujniki temperatury z wyjściem analogowym LM35 lub TMP36 czy cyfrowym np. DS18b20 lub STCN75 ?
Książkę zawierającą powyższy materiał "Czujniki dla początkujących. Poznaj otaczający Cię świat za pomocą elektroniki, Arduino i Raspberry Pi" Autorstwa: Kimmo Karvinen, Tero Karvinen, oraz inne pozycje książkowe wydawnictwa Helion możecie nabyć tutaj: Link.
Książka dostępna także jako eBook.
źródło: materiały udostępnione przez Helion S.A. dla użytkowników wortalu elektroda.pl
Fajne? Ranking DIY
