Senzorji "Arduin": opis, značilnosti, povezava, pregledi

Platforma Arduino je ena najboljših za načrtovanje različnih avtomatiziranih sistemov. Poleg tega se na številnih univerzah in visokih šolah Arduinov uporablja za uvajanje študentov na področju robotike. Arduino je zelo lahka, a hkrati močna platforma za izdelavo različnih robotov in pametnih sistemov. In naravno je, da vse to traja manj časa, se prodajajo že pripravljeni senzorji. V trgovinah jih je ogromno, zato se je težko zapletati pri izbiri pravega. V tem članku si poglejmo nekatere glavne Arduino senzorje in kako delujejo.

Kje kupiti

Dejstvo je, da so senzorji v naših trgovinah vredni veliko denarja. In če boste začeli učiti platformo Arduino, potem morate vedeti, kje jih lahko kupite po nizki ceni. Odgovor je preprost - kitajske trgovine. To je lahko Aliexpress, Joom, Pandao in drugi. Skoraj vse prodajalne tam kupujejo senzorje in jih prodajajo z veliko mejo, ki doseže do 300%. Seveda, morate počakati nekaj časa, in kot izdelek ne morete biti prepričani, ampak plačati za isti senzor trikrat več, tudi, ni vredno. Primer: Aliexpress ima nabor 36 senzorjev, ki stanejo 800 rubljev. Enako določeno v ruski trgovini proda za 35 tisoč rubljev. Torej se odločite za vas.


Servo pogon

Servo pogon se uporablja pri izdelavi robotov in različnih inteligentnih sistemov. S servo pogonom ga lahko odpretevrata, uči obračalni kot in še veliko več. V bistvu pa se uporablja pri ustvarjanju robotov. Največji kot obračanja servomotorja: 180 stopinj. Ampak včasih na področju Aliexpress si lahko ogledate tudi različice s 360 stopinjskim obračalnim kotom. To je precej osnovni element, skoraj vse lekcije o Arduinu s senzorji se začnejo z njim. Servo je enostavno povezati, programska koda je zelo enostavna za upravljanje. Za priključitev servo pogona se uporabljajo samo tri žice: ozemljitev, napajanje, logika. Signalna žica (običajno rumena ali rjava) je povezana z vsakim stikom s podporo PWM (širokozaslonska impulzna modulacija) na Arduinu.


Primer kode:

#include //poveže strežnike za servo delovanje
Servo servo1; //razglasi spremenljivko servo tip "servo1"
void setup () //postopek setup
{
servo1.attach
; //povežemo servo z analognim izhodom 11
}
void loop () //postopek zanke
{
servo1.write

; //nastavimo kot obračanja na 0
zakasnitev (2000); //počakamo 2 sekundi
servo1.write ; //nastavimo kot obračanja na 90
zakasnitev (2000); //počakamo 2 sekundi
servo1.write (180); //nastavimo kot obračanja na 180
zakasnitev (2000); //počakamo 2 sekundi
}

Najprej dodamo kodi knjižnico, ki že obstaja v Arduinu, nato pa označimo, na kateri kontaktni servo je povezan. Kot lahko vidite, je delo s servo res zelo preprosto, upravljanje je samo en operater.

Cena za Aliexpress: 80-100 rubljev.

DHT-11

DHT-11 služi za merjenje temperature in vlažnosti. Ta temperaturni senzor za Ardouine je najbolj priljubljenzaradi svoje cene in zmogljivosti. Meri temperaturo v območju od 0 do 50 stopinj in vlažnost od 20 do 80%. Obstaja tudi drugačna različica tega senzorja, ki je v prodaji, obseg meritev DHT-22 pa ima več, vendar stane nekajkrat dražje. Pri enostavnih projektih njegova uporaba ni primerna, zato vsakdo raje uporablja DHT-11, ki se odlično ukvarja z meritvami. Moč se lahko napaja od 3,3 do 5V. Na splošno ima senzor 4 priključne kontakte, vendar so v prodaji moduli DHT-11, ki delajo z njimi veliko bolj priročno, saj se povezujejo preko 3 kontaktov in jim ni treba trpeti zaradi uporov.


& lt; script type = "text /javascript" & gt;
lahko blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async: 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

Povezava. To temperaturno tipalo je priključeno na "Arduino" s pomočjo treh kontaktov: ozemljitev, moč in logika.

Primer kode:

# vključuje "DHT.h"
#define DHTPIN 2 //Isto številko pene, navedeno zgoraj
DHT dht (DHTPIN, DHT11);
void setup () {
Serial.begin (9600);
dht.negin ();
}
zakasnitev void loop () {
(2000); //2 sekundni zakasnitvi
float h = dht.readHumidity (); //Merimo vlažnost
float t = dht.readTemperature (); //Izmerimo temperaturo
, če (isnan (h) || isnan (t)) {//Preverite. Če potrdila ni mogoče upoštevati, se prikaže "Read Error" in program se izklopi
Serial.println ("Read Error");
vrnitev;
}
Serial.print ("Vlažnost:");
Serial.print (h);
Serial.print ("% t");
Serial.print ("temperatura:");
Serial.print (t);
Serial.println ("C"); //Izhod kazalnikov na zaslon
}

Na začetku, kot pri servo pogonu, je knjižnica priključena. Mimogrede, o knjižnici. Prvič, v njem ni Arduina, to knjižnico je treba prenesti. Obstaja več različic te knjižnice, v našem primeru uporabljamo standardno. Bodite previdni pri prenosu, saj je skladnja lahko drugačna in koda ne bo delovala. Napisano je tudi, kateri stik je povezan s senzorjem in njegovo različico (DHT11 ali DHT22). Tako kot pri servomotorju, je s tem senzorjem za Arduin zelo enostaven za uporabo, potrebujemo le nekaj operaterjev. Mimogrede, najpogosteje servo pogon in dht11 delata skupaj, na primer pri ustvarjanju avtomatskih oken, ki se bodo odprla, ko bodo v sobi ali v rastlinjaku prevroča.


& lt; script type = "text /javascript" & gt;
lahko blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async:! 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings3.statId = 70350;
Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

Cena za Aliexpress: 80-100 rubljev.

Senzor vlage v tleh

Ta senzor se uporablja pri načrtovanju avtomatskega zalivanja. Omogoča merjenje vsebnosti vlage v tleh, nato pa obdelavo teh podatkov in, če morate posaditi rastlino. Obstaja veliko variant tega senzorja za "Ardouinov", vendar je priljubljenmodel FC-28. Precej proračunska možnost, zato jo ljudje radi in uporabljajo v svojih projektih. Senzor ima dve sondi, ki prenašata elektriko skozi zemljo. S suho zemljo je odpornost večja, v mokrem pa manj. V bistvu se ta senzor uporablja samo v majhnih projektih, ker so sonde izdelane iz slabega materiala in prej ali slej, ko so izpostavljene, so prekrite s korozijo, potem pa senzor preneha delovati. Trajanje storitve senzorja se lahko poveča, če se aktivira samo, če se podatki odstranijo iz tal, na primer vsakih 6 ur. Nekateri obrtniki popolnoma spremenijo sonde za bolj kakovostne, izdelane z lastnimi rokami, in celo z ničle zberejo senzor vlage za "Arduino".

& lt; skript async = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

& lt; skript & gt; (adsbygoogle = window.adsbygoogle || []). push ({});

Senzor vlage v tleh je dovolj povezan. Običajno so z njo vključeni potenciometer in komparator za nadzor občutljivosti senzorja. Skupno ima tri stike: logiko, hrano in zemljo. Priključite lahko digitalne in analogne kontakte. Mimogrede, delo v analognem načinu je bolj priročno.

Primer kode:

int sensor_pin = A0;
int output_value;

void setup () {
Serijska vrednost (9600);
Serial.println ("Beri podatke s senzorja");
zamuda (2000);
}

void loop () {
output_value = analogRead (sensor_pin);
output_value = map (output_value, 55000100);
Serial.print ("Vlažnost:");
Serial.print (output_value);
Serial.println ("%");
zamuda (1000);
}

Najprej določimo kontakte, na katere je senzor povezan z "Arduino". Po tem beremo podatke izin jih spravite ven. Tako kot pri drugih senzorjih je delo s FC-28 enostavno. In vse zahvaljujoč pripravljenim knjižnicam in senzorjem.

Cena za Aliexpress: 30-50 rubljev.

Senzor BENKET

Senzor gibanja za "Arduin" se uporablja pri načrtovanju različnih varnostnih sistemov. Odkriva elemente, ki se gibljejo od 0 do 7 metrov. Načela dela ne bomo upoštevali, nemudoma nadaljujemo s priključitvijo tega senzorja na "Arduino".


& lt; script type = "text /javascript" & gt;
lahko blockSettings = {blockId: "R-A-70350-45", renderTo: "yandex_rtb_R-A-70350-45", async:! 0};
če (document.cookie.indexOf ("abmatch ="))> 0) blockSettings.statId = 70350;
Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

Sodeč po ocenah, se povezuje tudi s tremi stiki: logiko, hrano in zemljo. Deluje prek digitalnih izhodov.

Primer kode:

#define PIN_PIR 2
#define PIN_LED 13

void setup () {
Serial .biti (9600);
PinMode (PIN_PIR, INPUT);
PinMode (PIN_LED, IZHOD);

}

void loop () {
int pirVal = digitalRead (PIN_PIR);
Serial.println (digitalRead (PIN_PIR));

//Če je zaznano gibanje
, če (pirVal)
{
digitalWrite (PIN_LED, HIGH);
Serial.println (zaznano gibanje);
zamuda (2000);
}
else
{
//Serial.print ("Brez gibanja");
digitalWrite (PIN_LED, LOW);
}
}


Določite kontakte, na katere je priključen senzor, po katerem izvedemo preverjanje prisotnosti gibanja. Delo z njim je zelo priročno in enostavno, vendar obstajajo primeri lažno pozitivnih rezultatov. Cena za Aliexpress: 30-50 rubljev.

MiZaključki

Glavni senzorji za "Ardouine" so bili obravnavani zgoraj, ki so bili prvi, ki so jih preučevali amaterji začetniki. Kot lahko vidite, so precej poceni, se zlahka povezujejo in berejo podatke in sploh traja le nekaj vrstic. Razen njih še vedno obstaja veliko število drugih senzorjev, tudi za pulzno merjenje! Najbolje je, da jih kupite na kompletih Aliexpress, tako da bodo stali še manj. To je enostavno ustvariti, glavna stvar - da se spomnimo treh osnovnih pravil robotike!

Sorodne publikacije