Kategorie: Obwody mikrokontrolera
Liczba wyświetleń: 32016
Komentarze do artykułu: 0

Najpopularniejsze czujniki dla Arduino

 

Czujniki są stosowane w wielu różnych obwodach i projektach. Żadna automatyzacja nie może się bez nich obejść. Jesteśmy nimi zainteresowani, ponieważ powstał projekt upraszczający projektowanie i popularyzację elektroniki Arduino. To gotowa płyta z mikrokontrolerem i wszystkim, czego potrzebujesz do pracy i programowania. W tym artykule rozważymy czujniki dla Arduino, ale można ich również używać z innymi mikrokontrolerami.

Najpopularniejsze czujniki dla Arduino

Jakie są czujniki?

Czujniki to oczy, uszy i inne zmysły mikrokontroler lub inne urządzenie sterujące. Wyróżniają się charakterem sygnału i celem.

Ze względu na charakter sygnału dzieli się na:

  • Analogowe;

  • Cyfrowe

W tym celu czujniki służą do pomiaru:

  • Temperatura;

  • Ciśnienie;

  • Wilgotność

  • Kwasowość;

  • Oświetlenie

  • Poziom wody lub inne substancje;

  • Wibracje

  • I inne specjalistyczne elementy.

Jeśli mówimy o Arduino, to odbierając informacje z czujników, przetwarzamy sygnał cyfrowy lub mierzymy napięcie z wyjścia analogowego modułu. Jak już wspomniano czujniki są cyfrowe i analogowe. Niektóre moduły dla Arduino mają wyjście cyfrowe i analogowe, co je ujednolica.

Są według urządzeń

  • Rezystancyjny

  • Indukcyjny

  • Pojemnościowy;

  • Piezoelektryczny;

  • Fotokomórki i inne typy.



Światło lub czujnik światła

Najłatwiejszym sposobem ustalenia jasności czegoś - użyj fotorezystora, fotodiody lub fototranzystora. Możesz podłączyć jedną z wymienionych opcji do Arduino lub kupić specjalną tablicę - czujnik światła.

Czujnik światła

Jakie są zalety rozwiązania „pod klucz”? Po pierwsze, aby określić zmiany w oświetleniu jednej fotokomórki, nie wystarczy, potrzebujesz również zwykłego lub tuningowego rezystora, może to komparator, dla operacji krokowej tak / nie. Po drugie, fabrycznie wykonana płytka drukowana będzie bardziej niezawodna niż mocowanie na zawiasach lub płytka wsadowa lub inne sposoby, z których korzystają amatorzy.

Czujnik światła

Na aliexpress lub w innych sklepach internetowych można go znaleźć na żądanie „CZUJNIK FOTOSENSYWNY” lub po prostu „czujnik światła”.

Ten moduł ma trzy wyjścia:

  • Odżywianie;

  • Ziemia

  • Wyjście cyfrowe z komparatora.

Lub wersja czteropinowa:

  • Odżywianie;

  • Ziemia

  • Wyjście cyfrowe z komparatora;

  • Analogowe

Tak więc na płytce umieszczony rezystor strojenia do regulacji taktowania komparatora może wytwarzać sygnał cyfrowy.

Przykłady zastosowania:

  • Czujnik światła do przekaźnika foto;

  • Alarm (w połączeniu z emiterem);

  • Licznik obiektów przechodzących przez wiązkę światła itp.

Dokładne wartości trudno jest osiągnąć, ponieważ do poprawnej regulacji poprzez oświetlenie potrzebny będzie poprawny światłomierz. Fotorezystory są bardziej odpowiednie do określania wartości abstrakcyjnych, takich jak „ciemne lub jasne”.

Oprócz takiej płyty w sprzedaży można znaleźć całkiem interesujące Moduł GY-302. Jest to czujnik światła oparty na układzie scalonym BH-1750. Jego cechą jest to, że jest to moduł cyfrowy, ma pojemność 16 bitów, komunikuje się z mikrokontrolerami poprzez magistralę i2c. 16 bitów pozwala zmierzyć natężenie oświetlenia od 1 do 65356 luksów (Lx).

Czujnik światła oparty na układzie scalonym BH-1750

Poniżej znajduje się schemat jego połączenia. Możesz zauważyć, że SDA i SCL podłączony do pinów analogowych mikrokontrolera.

Schemat podłączenia czujnika światła

Wynika to z faktu, że magistrala I2C jest zaimplementowana na tych pinach arduino, co można zobaczyć, patrząc na poniższy obrazek. Dlatego nie daj się zwieść temu faktowi; czujnik jest cyfrowy.

Schemat modułu GY-302

Zaletą czujników cyfrowych jest to, że nie trzeba sprawdzać wartości każdego wystąpienia, kompilować tabele, aby przełożyć zmierzone wartości na rzeczywiste skale i tak dalej.W większości przypadków w przypadku czujników cyfrowych wystarczy po prostu podłączyć gotową bibliotekę i odczytać wartości przekonwertowane na rzeczywiste jednostki.

Przykładowy szkic dla GY-302 (BH-1750):

Przykład szkicu dla GY-302

Jak działa szkic?

Na początku mówimy programowi, że musimy podłączyć bibliotekę Wire.h, która jest odpowiedzialna za komunikację przez linię I2C, i BH1750. Pozostałe działania są dobrze opisane w komentarzach, w wyniku czego co 100 ms odczytujemy wartość z czujnika w Lux.

Charakterystyka GY-302 BH1750:

  • Komunikacja mikrokontrolera I2C

  • Odpowiedź spektralna podobna do wrażliwości oka

  • Błędy wynikające z promieniowania podczerwonego są zminimalizowane

  • Zakres pomiarowy 0-65535 luksów

  • Napięcie zasilania: 3-5 V.

  • Niskie zużycie prądu i funkcja spania

  • Filtrowanie szumów świetlnych 50/60 Hz

  • Maksymalna liczba czujników na 1 magistrali I2C wynosi 2 sztuki.

  • Nie wymaga kalibracji

  • Pobór prądu - 120 μA

  • W trybie uśpienia - 0,01 μA

  • Zmierzona długość fali - 560 nm

  • W trybie wysokiej rozdzielczości - 1 luks

  • W trybie niskiej rozdzielczości - 4 luksy

  • ADC - 16 bitów

Czas potrzebny na pomiary:

  • W trybie wysokiej rozdzielczości - 120 ms

  • W trybie niskiej rozdzielczości - 16 ms


Czujnik przeszkód

Wybrałem ten czujnik jako następny do rozważenia, ponieważ jedna z jego opcji działa na podstawie fotodiody lub fototranzystora, które są zasadniczo podobne do fotorezystora omówionego w poprzednim rozdziale.

Czujnik przeszkód

Jego nazwa to „optyczny czujnik przeszkód”. Głównym elementem funkcjonalnym jest fotodioda i dioda LED emitujące i odbierające w spektrum podczerwieni (dlatego nie są widoczne dla ludzkiego oka, a także zespół progowy montowany na przykład na komparatorze z regulatorem czułości. Za jego pomocą dostosowuje się odległość, w której czujnik jest wyzwalany, w zależności od jego cyfrowości.

Przykład schematu połączeń:

Przykład połączenia

Przykład programu do przetwarzania sygnału z czujnika.

Przykład programu do przetwarzania sygnału z czujnika

Tutaj, jeśli sygnał wyjściowy z czujnika to „1”, co oznacza „jest przeszkoda”, dioda LED na płycie Arduino lub podłączona do 13-go styku (to samo) zaświeci się. Najczęściej stosowany w robotyce i alarmach.

Korzystanie z czujników

Czujnik odległości

Poprzednia kopia składa się z odbiornika, - fotodiody i emitera, - diody LED. Ultradźwiękowy czujnik odległości składa się również z odbiornika i emitera fal ultradźwiękowych. Nazywa się HC SR04.

Czujnik odległości

Charakterystyka HC SR04:

  • Napięcie zasilania 5 V.

  • Parametr roboczy siły t oka - 15 mA

  • Prąd pasywny <2 mA

  • Kąt widzenia - 15 °

  • Rozdzielczość dotyku - 0,3 cm

  • Kąt pomiaru - 30 °

  • Szerokość impulsu - 10-6 s

  • Zakres pomiarowy: 2-400 cm.

Błąd pojawia się z powodu:

  • temperatura i wilgotność - można zmniejszyć, mierząc na przykład temperaturę za pomocą DHT-11 lub DHT-22 i wprowadzając współczynniki w celu skorygowania pomiarów.

  • odległość od obiektu;

  • położenie obiektu względem czujnika (zgodnie ze schematem promieniowania) można zrównoważyć, instalując HC SR04 na serwie, aby zmienić kierunek i dokonać dokładnych regulacji.

  • jakość wykonania elementów modułu czujnika.

Wzór promieniowania:

Wzór promieniowania

Płyta ma cztery wyjścia:

  • VCC - moc;

  • Trig - sygnał wejściowy;

  • Echo - sygnał wyjściowy;

  • GND jest wspólnym drutem.

Przewody czujników HC SR04

Jak przetwarzać odczyty?

1. Wysyłamy impuls o czasie trwania 10 μs do wejścia TRIG;

2. Wewnątrz modułu impuls jest przekształcany w pakiet 8 impulsów, które podążają po sobie z częstotliwością 40 kHz i są wysyłane przez emiter;

3. Impulsy odbite od przeszkody docierają do odbiornika i są przekazywane do ECHO;

4. Czas trwania impulsu otrzymanego z wyjścia ECHO należy podzielić przez 58,2, aby uzyskać odległość w centymetrach i przez 148, jeśli trzeba przeliczyć na cale.

Przykładowy kod:

Przykładowy kod

Zmierz temperaturę

Najłatwiejszym sposobem pomiaru temperatury za pomocą mikrokontrolera jest użyj termopary lub termistora. Termopary służą do pomiaru wysokich temperatur, do pomiaru w pomieszczeniach i na zewnątrz - zrobi to ten, o którym opowiem trochę poniżej, ale na razie spójrzmy na termoparę.

Czujnik temperatury

Każdy typ termopary ma swoje własne podejście do pracy z mikrokontrolerem. Na przykład istnieje termopara typu K, lub jak to się nazywa - chromel-ałun, o zakresie mierzonych temperatur od -200 do +1400 stopni Celsjusza z czułością 41 mV / stopień Celsjusza. A dla niej jest specjalny konwerter oparty na max6675 IC, ma funkcję kompensacji temperatury zimnego skrzyżowania i tak dalej.

Moduł do pomiaru temperatury

Możesz pracować z tym modułem, używając biblioteki o tej samej nazwie dla Arduino. Na poniższym rysunku pokazano przykład kodu programu dla tego przypadku.

Przykładowy kod

Następnie na monitorze portu szeregowego wyświetlane są następujące informacje.

Monitor portu szeregowego

Ale jest też cyfrowy czujnik temperatury DS12B20, można go nazwać klasycznym, ponieważ był używany przez wiele lat w projektach amatorskich i na długo przed pojawieniem się Arduino.

Cyfrowy czujnik temperatury DS12B20

Ten cyfrowy układ scalony, którego wewnętrzne urządzenie pokazano na poniższym rysunku:

Obwód wewnętrzny urządzenia

Schemat podłączenia płytki:

Schemat podłączenia płytki

Kluczowe funkcje i informacje DS18b20:

  • Błąd jest mniejszy niż 0,5 ° C (w zakresie temperatur od -10 ° C do + 85 ° C).

  • Nie wymaga kalibracji

  • Zakres pomiarowy - od -55 С do + 125С

  • VCC, napięcie zasilania 3,3-5 V.

  • rozdzielczość do 0,0625С, ustawiana przez oprogramowanie;

  • Rozdzielczość - 12 bitów

  • Każdej instancji przypisany jest unikalny kod seryjny. Jest to konieczne, aby łatwo wykorzystać kilka elementów w jednym projekcie

  • Interfejs komunikacyjny - 1-Wire

  • Nie wymaga wiązania

  • Maksymalna liczba czujników w jednej linii wynosi 127 sztuk.

  • Tryb zasilania pozornego - w tym przypadku czujnik jest zasilany bezpośrednio z linii komunikacyjnej. Jednocześnie nie można zagwarantować pomiaru temperatury wyższej niż 100 ° C

Poniżej znajduje się tabela konwersji kodu binarnego z DS18b20 na temperaturę w stopniach Celsjusza.

Tabela przeliczania kodu binarnego z DS18b20 na temperaturę w stopniach Celsjusza

Przykładowy program do odczytu wartości temperatur.

Przykładowy program do odczytu wartości temperatur

Czujniki ciśnienia atmosferycznego

Barometry elektroniczne są montowane na podstawie czujników ciśnienia atmosferycznego. Szeroko stosowane były następujące opcje:

  • BMP180;

  • BMP280;

  • BME280.

Czujniki ciśnienia atmosferycznego

Jeśli dwa poprzednie wystąpienia były do ​​siebie podobne, to Czujnik BME280 - To jest miniaturowa stacja pogodowa. Wbudowane są 3 czujniki:

  • Temperatura;

  • Ciśnienie;

  • Wilgotność

Jego parametry techniczne:

  • Wymiary 2,5 x 2,5 x 0,93 mm;

  • Metalowa obudowa LGA, wyposażona w 8 wyjść;

  • Napięcie zasilania 1,7 - 3,6 V;

  • Dostępność interfejsów I2C i SPI;

  • Pobór prądu w trybie czuwania 0,1 µA.

Te przykłady to barometry MEMS. MEMS oznacza mikroelektromechaniczny. Jest to mikrostruktura mechaniczna, która wykorzystuje zjawiska pojemnościowe i inne zasady do swojej pracy. Poniżej widać przykład takiego czujnika w kontekście.

Przykład przekroju czujnika

Przykład schematu połączeń:

Przykład połączenia

I przykład kodu programu:

Przykładowy kod

Logika programu jest prosta:

1. Wywołaj podprogram (funkcję) odczytu z czujnika.

2. Żądanie odczytów czujnika temperatury zintegrowanego z barometrem.

3. Czekamy na czas na ocenę czujnika temperatury;

4. Przeczytaj wynik pomiarów temperatury;

5. Zażądaj wartości ciśnienia;

6. Czekamy na czas pomiaru ciśnienia;

7. Odczytaj wartość ciśnienia;

8. Zwróć wartość ciśnienia z funkcji.

Ciekawym faktem jest to, że istnieją cztery opcje odczytu wartości, są one określone jako argument w funkcji startPressure, drugi znak to od 0 do 3, gdzie 0 to przybliżone oszacowanie, a 3 to dokładne oszacowanie.


Czujnik ruchu

Najczęstszym czujnikiem ruchu dla Arduino jest Moduł czujnika podczerwieni HC SR501. Cechą tego modułu jest to, że ma regulację odległości odpowiedzi i czasu opóźnienia sygnału wyjściowego po pracy.

Czujnik ruchu

Funkcje modułu:

1. Napięcie zasilania 4,5 - 20 V.

2. Prąd spoczynkowy ≈ 50 μA;

3. Napięcie sygnału wyjściowego (poziom logiczny): 3,3 V;

4. Zakres temperatur roboczych - od -15 ° C do 70 ° C;

5. Wymiary: 32 * 24 mm;

6. Pole widzenia - 110 °;

7. Maksymalna odległość robocza - od 3 do 7 m (regulowana); Powyżej 30 ° C odległość ta może się zmniejszyć.

Schemat połączeń:

Schemat podłączenia czujnika ruchu

Jak z nim współpracować rozważaliśmy we wcześniej opublikowanym artykule: Schematy czujników ruchu, zasada ich działania i schematy połączeń


Czujnik poziomu wody

Przeznaczony do wskazywania poziomu płynu.

Czujnik poziomu wody

Charakterystyka

1. Napięcie zasilania 3-5 V.

2. Prąd poboru> 20 mA

3. Analogowy

4. Wymiary strefy pomiarowej 40x16 mm

5. Dopuszczalna wilgotność 10% - 90%

Przykładowy kod:

Przykładowy kod

Wartości wyjściowe wynoszą od 0 (w stanie suchym) do 685 (mogą się różnić, w zależności od przewodności wody). Nie zapominaj o elektrolizie, ponieważ podczas pomiaru poziomu soli lub twardej wody spowoduje ona korozję.


Czujnik wycieku

Moduł składa się z dwóch części - sam czujnik i komparator mogą być zbudowane na LM393, LM293 lub LM193.

Czujnik wycieku

Dzięki komparatorowi sygnał analogowy jest przetwarzany na cyfrowy.

Schemat połączeń:

Schemat podłączenia czujnika wycieku

Pinout płyty:

  • VCC - moc, musi pasować do mocy płyty Apduino, w większości przypadków jest to 5V;

  • GND - przewód wspólny;

  • AO - sygnał analogowy;

  • DO to sygnał cyfrowy.

Na płytce komparatora znajduje się rezystor dostrajający, który ustawia czułość czujnika. Może działać jako sygnał deszczu lub wycieku, a po sparowaniu z takim żurawiem może działać jako ochrona przed wyciekiem rurociągu w mieszkaniu:

Zabezpieczenie przed wyciekiem

Film pokazuje, jak to działa:


Czujnik wilgotności

Powszechnie używane w projektach automatycznego podlewania, aby określić wilgotność gleby, podobnie jak poprzedni składa się z elektrod i płyty z komparatorem.

Czujnik wilgotności

Może pracować zarówno w trybie analogowym, jak i cyfrowym. Przykład schematu połączeń dla automatycznego systemu nawadniającego z dźwigiem opartym na silniku:

Schemat podłączenia czujnika wilgotności do Arduino

I przykład kodu programu do przetwarzania sygnału cyfrowego z czujnika wilgotności:

Przykładowy kod do przetwarzania sygnału cyfrowego z czujnika wilgotności
Cyfrowy czujnik temperatury i wilgotności AM2302

Wniosek

Przebadaliśmy popularne czujniki, ale jest też wiele innych. Są to różne czujniki wibracji, żyroskopy, akcelerometry, czujniki promieniowania i wiele innych.

Celem tego artykułu było zebranie w jednym miejscu różnych elementów, które mogą być przydatne dla początkującego inżyniera elektroniki przy realizacji ich projektów. Jeśli interesuje Cię konkretny czujnik - napisz w komentarzach, a my rozważymy go bardziej szczegółowo.

Dla Twojej wygody przygotowaliśmy dla Ciebie tabelę z szacunkowym kosztem i listę popularnych czujników dla Arduino, w kolejności, w jakiej zostały one uwzględnione w artykule:Czujniki do Arduino

Ceny pochodzą ze sklepów internetowych w Rosji lub na Ukrainie. W Chinach kosztują 2 lub więcej razy taniej.

Zobacz także na bgv.electricianexp.com:

  • Pomiar temperatury i wilgotności na Arduino - wybór metod
  • Podłączanie czujników analogowych do Arduino, czytanie czujników
  • Jaka jest różnica między czujnikami analogowymi i cyfrowymi
  • Jak ustawiony jest czujnik linii i jak działa
  • Schematy czujników ruchu i zasada ich działania, schematy połączeń

  •