Czujniki "Arduino": opis, charakterystyka, połączenie, opinie

Spisu treści:

Czujniki "Arduino": opis, charakterystyka, połączenie, opinie
Czujniki "Arduino": opis, charakterystyka, połączenie, opinie
Anonim

Platforma Arduino jest jedną z najlepszych do budowy różnych zautomatyzowanych systemów. Co więcej, wiele uniwersytetów i szkół wyższych używa Arduino do wprowadzania studentów w dziedzinę robotyki. Rzeczywiście, Arduino to bardzo lekka, ale jednocześnie potężna platforma do budowy różnych robotów i inteligentnych systemów. I oczywiście, żeby to wszystko zajęło mniej czasu, sprzedawane są gotowe czujniki. W sklepach jest ich ogromna liczba, więc trudno się pomylić przy wyborze właściwego. W tym artykule przyjrzymy się niektórym głównym czujnikom Arduino i ich działaniu.

Czujniki do arduino
Czujniki do arduino

Gdzie kupić

Faktem jest, że czujniki w naszych sklepach kosztują dużo pieniędzy. A jeśli masz zamiar zacząć poznawać platformę Arduino, to musisz tylko wiedzieć, gdzie możesz je kupić w niskiej cenie. Odpowiedź jest prosta – chińskie sklepy. Mogłoby byćAliexpress, Joom, Pandao i inne. Niemal wszystkie sklepy kupują tam czujniki i sprzedają je z ogromną marżą, która dochodzi nawet do 300%. Oczywiście będziesz musiał trochę poczekać i nie możesz być pewien jakości towaru, ale płacenie trzy razy więcej za ten sam czujnik również nie jest tego warte. Przykład: Aliexpress ma zestaw 36 czujników, który kosztuje 800 rubli. Ten sam zestaw sprzedawany jest w rosyjskim sklepie za 3,5 tysiąca rubli. Więc to zależy od Ciebie.

Gdzie kupić czujniki do arduino
Gdzie kupić czujniki do arduino

Serwonapęd

Serwonapęd jest używany w projektowaniu robotów i różnych inteligentnych systemów. Za pomocą serwomechanizmu możesz otwierać drzwi, sprawdzać stopień obrotu i wiele więcej. Ale najczęściej jest używany w tworzeniu robotów. Maksymalny kąt obrotu serwa: 180 stopni. Ale czasami na otwartych przestrzeniach Aliexpressa można również zobaczyć opcje z kątem obrotu 360 stopni. To dość podstawowy element, od tego zaczynają się prawie wszystkie lekcje na temat Arduino z czujnikami. Serwo jest łatwe do podłączenia, kod sterujący jest bardzo prosty.

Do podłączenia serwomechanizmu używane są tylko trzy przewody: uziemienie, zasilanie, logika. Przewód sygnałowy (zwykle żółty lub brązowy) jest podłączony do dowolnego pinu obsługującego PWM (modulacja szerokości impulsu) na Arduino.

Podłączanie serwomechanizmu do Arduino
Podłączanie serwomechanizmu do Arduino

Przykład kodu:


include // dołącz bibliotekę do pracy z Servo servo1; // zadeklaruj zmienną serwo typu "servo1" void setup() //procedura setup { servo1.attach(11); //powiąż serwo z wyjściem analogowym 11 } void loop() // procedure loop { servo1.write(0); // ustaw kąt obrotu na 0 delay(2000); // czekaj 2 sekundy servo1.write(90); // ustaw kąt obrotu na 90 delay(2000); // czekaj 2 sekundy servo1.write(180); // ustaw kąt obrotu na 180 delay(2000); // czekaj 2 sekundy }

Najpierw dodajemy do kodu bibliotekę, która jest już w Arduino, następnie wskazujemy, do którego pinu jest podłączone serwo. Jak widać, praca z serwomechanizmem jest naprawdę bardzo prosta, sterowanie to tylko jeden operator.

Cena na Aliexpress: 80-100 rubli.

DHT-11

DHT-11 służy do pomiaru temperatury i wilgotności. Ten czujnik temperatury dla Arduino jest najbardziej popularny ze względu na swoją cenę i funkcje. Mierzy temperaturę w zakresie od 0 do 50 stopni oraz wilgotność od 20 do 80%. W sprzedaży jest też inna wersja tego czujnika, DHT-22, ma większy zakres pomiarowy, ale też kosztuje kilka razy więcej. W przypadku prostych projektów jego użycie nie jest wskazane, dlatego każdy preferuje DHT-11, który doskonale wykonuje pomiary. Zasilanie może być dostarczane od 3,3 do 5V. Generalnie sam czujnik ma 4 piny połączeniowe, ale w sprzedaży są moduły DHT-11, dużo wygodniej z nimi pracować, ponieważ połączenie jest przez 3 piny i nie trzeba męczyć się z rezystorami.

Połączenie. Ten czujnik temperatury jest podłączony do Arduino za pomocą trzech styków: masy, zasilania i logiki.

Podłączanie dht11 do arduino
Podłączanie dht11 do arduino

Przykład kodu:


obejmuj"DHT.h" define DHTPIN 2 // Ten sam numer pin, o którym mowa powyżej DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.początek(); } void loop() { opóźnienie(2000); // 2 sekundy opóźnienia float h=dht.readHumidity(); //Pomiar wilgotności float t=dht.readTemperature(); //Zmierz temperaturę if (isnan(h) || isnan(t)) { // Sprawdź. Jeśli odczyt się nie powiedzie, drukowane jest „Read Failed” i program kończy działanie Serial.println(„Read Failed”); zwrócić; } Serial.print("Wilgotność: "); Druk seryjny(h); Serial.print("%\t"); Serial.print("Temperatura: "); druk seryjny(t); Serial.println("C"); //Wyświetlanie wskaźników na ekranie }

Na samym początku, tak jak przy pracy z serwo, biblioteka jest podłączona. Przy okazji, o bibliotece. Początkowo nie ma jej w pakiecie Arduino, ta biblioteka musi zostać pobrana. Istnieje kilka wersji tej biblioteki, w naszym przykładzie używana jest najbardziej standardowa. Zachowaj ostrożność podczas pobierania, ponieważ składnia może być inna i kod nie będzie działał. Ponadto jest również napisane do którego styku podłączony jest czujnik i jego wersja (DHT11 lub DHT22). Podobnie jak w przypadku serwomechanizmu, praca z tym czujnikiem dla Arduino jest bardzo łatwa, przy użyciu zaledwie kilku operatorów. Nawiasem mówiąc, często serwo i dht11 współpracują ze sobą, na przykład podczas tworzenia automatycznych okien, które otworzą się, jeśli w pomieszczeniu lub szklarni jest za gorąco.

Cena na Aliexpress: 80-100 rubli.

Czujnik wilgotności gleby

Ten czujnik jest używany, gdyprojekt automatycznego nawadniania. Dzięki niemu można zmierzyć wilgotność gleby, a następnie przetworzyć te dane i w razie potrzeby podlać roślinę. W sprzedaży jest wiele wariantów tego czujnika dla Arduino, ale popularny jest model FC-28. Dość budżetowa opcja, więc wszyscy ją uwielbiają i wykorzystują w swoich projektach. Czujnik posiada dwie sondy, które przewodzą prąd przez ziemię. Na glebie suchej opór jest większy, a na glebie mokrej mniejszy. W zasadzie czujnik ten stosuje się tylko w małych projektach, wynika to z tego, że sondy są wykonane z kiepskiego materiału i prędzej czy później podczas aktywnej pracy ulegają korozji, po czym czujnik przestaje działać. Żywotność czujnika można zwiększyć aktywując go tylko podczas pobierania danych z ziemi, np. raz na 6 godzin. Niektórzy rzemieślnicy nawet wymieniają sondy na lepsze, wykonane przez siebie, a nawet montują czujnik wilgotności dla Arduino od podstaw.

Podłączenie czujnika wilgotności gleby jest dość proste. Zwykle jest wyposażony w potencjometr i komparator do kontroli czułości czujnika. W sumie ma trzy styki: logiczny, zasilania i masy. Można go podłączyć zarówno do styków cyfrowych, jak i analogowych. Nawiasem mówiąc, wygodniej jest pracować w trybie analogowym.

Podłączanie czujnika wilgotności gleby do arduino
Podłączanie czujnika wilgotności gleby do arduino

Przykład kodu:


int pin_czujnika=A0; int wartość_wyjściowa; void setup() { Serial.begin(9600); Serial.println("Odczyt danych z czujnika"); opóźnienie (2000); } void loop() { output_value=analogRead(sensor_pin);wartość_wyjściowa=mapa(wartość_wyjściowa, 550, 0, 0, 100); Serial.print("Wilgotność: "); Serial.print(wartość_wyjściowa); Serial.println("%"); opóźnienie (1000); }

Przede wszystkim określamy styki, do których czujnik jest podłączony do Arduino. Następnie odczytujemy z niego dane i wyświetlamy je. Podobnie jak w przypadku innych czujników, FC-28 jest łatwy w obsłudze. A wszystko dzięki gotowym bibliotekom i czujnikom.

Cena na Aliexpress: 30–50 rubli.

Czujnik PIR

Ten czujnik ruchu dla Arduino jest używany do budowy różnych systemów bezpieczeństwa. Wykrywa poruszające się elementy od 0 do 7 metrów. Nie będziemy rozważać zasady działania, przejdźmy do podłączenia tego czujnika do Arduino.

Sądząc po recenzjach, jest również połączony za pomocą trzech styków: logiki, zasilania i masy. Działa poprzez wyjścia cyfrowe.

Podłączanie czujnika ruchu do arduino
Podłączanie czujnika ruchu do arduino

Przykład kodu:


definiuj PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, WEJŚCIE); pinMode (PIN_LED, WYJŚCIE); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //Jeśli ruch zostanie wykryty if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Wykryto ruch"); opóźnienie (2000); } else { //Serial.print("Brak ruchu"); digitalWrite (PIN_LED, LOW); } }

Określamy styki, do których podłączony jest czujnik, po czym sprawdzamy ruch. Praca z nim jest bardzo wygodna i łatwa, ale zdarzają się przypadki fałszywych alarmów.

Cena zaAliexpress: 30-50 rubli.

wyciąganie wniosków

Powyżej rozważono główne czujniki Arduino, które jako pierwsze zostały zbadane przez początkujących radioamatorów. Jak widać są dość niedrogie, łatwo się łączą, a odczytanie danych zajmuje tylko kilka linijek. Oprócz nich istnieje jeszcze ogromna liczba innych czujników, nawet do pomiaru pulsu! Najbardziej opłaca się je kupić na Aliexpress w zestawach, więc będą kosztować jeszcze taniej. Tworzenie jest łatwe, najważniejsze jest zapamiętanie trzech podstawowych zasad robotyki!

Zalecana: