kategorije: Sklopovi mikrokontrolera
Broj pregleda: 32016
Komentari na članak: 0
Najpopularniji senzori za Arduino
Senzori se koriste u velikom broju krugova i projekata. Nijedna automatizacija ne može bez njih. Zanimaju nas jer je stvoren projekt za pojednostavljenje dizajna i popularizacije elektronike Težak, Ovo je gotova ploča s mikrokontrolerom i svime što trebate za rad s njom i programiranje. U ovom ćemo članku razmotriti senzore za Arduino, ali mogu se koristiti i s drugim mikrokontrolerima.

Koji su senzori?
Senzori su oči, uši i druga osjetila mikrokontrolera ili neki drugi upravljački uređaj. Razlikuju ih po prirodi signala i namjeni.
Po prirodi signal se dijeli na:
-
analog;
-
Digitalni.
A u tu svrhu su senzori za mjerenje:
-
temperatura;
-
tlak;
-
vlažnosti;
-
kiselost;
-
rasvjeta;
-
Razina vode ili druge tvari;
-
vibracija;
-
I ostale specijalizirane komponente.
Ako govorimo o Arduinu, tada prilikom primanja informacija od senzora obrađujemo digitalni signal ili mjerimo napon s analognog izlaza modula. Kao što je već spomenuto, senzori su digitalni i analogni, Neki moduli za Arduino imaju digitalni i analogni izlaz, koji ih objedinjuje.
Po uređaju su
-
otporna;
-
induktivni;
-
kapacitivni;
-
piezoelektrični;
-
Fotocelice i ostale vrste.
Senzor svjetla ili svjetlosti
Najlakši način za određivanje svjetline nečega - koristite fotoresistor, fotodiod ili fototransistor, Možete povezati jednu od navedenih opcija na Arduino ili kupiti posebnu ploču - svjetlosni senzor.

Koje su prednosti rješenja ključ u ruke? Prvo, za otkrivanje promjena u osvjetljenju pojedine fotoćelije nije dovoljno, također vam je potreban obični ili podešavajući otpornik, možda komparator, za postupni da / ne rad. Drugo, tvornički proizvedena ploča s tiskanim pločama bit će pouzdanija od montaže sa šarkama ili pakne ili na druge načine koje amateri koriste.

Na aliexpressu ili u ostalim internetskim trgovinama može se pronaći na zahtjev "FOTOSENZITIVNI SENZOR" ili jednostavno "svjetlosni senzor".
Ovaj modul ima tri izlaza:
-
prehrana;
-
zemlja;
-
Digitalni izlaz iz komparatora.
Ili inačica s četiri pina:
-
prehrana;
-
zemlja;
-
Digitalni izlaz iz komparatora;
-
Analogni.
Dakle, na ploči se nalazi podešavajući otpornik za podešavanje trenutka kada se komparator pokrene, može dati digitalni signal.
Primjeri upotrebe:
-
Senzor svjetla za foto relej;
-
Alarm (uparen s odašiljačem);
-
Brojač predmeta koji prelaze zraku svjetlosti itd.
Teško je postići točne vrijednosti jer će za ispravno podešavanje osvjetljenjem biti potreban ispravni mjerač svjetla. Fotoresistori su prikladniji za određivanje apstraktnih vrijednosti kao što su "tamno ili svjetlo".
Osim takve ploče u prodaji, možete pronaći prilično zanimljivu GY-302 modul, Ovo je svjetlosni senzor zasnovan na integriranom krugu BH-1750. Njegova je značajka to što je digitalni modul, ima kapacitet od 16 bita, komunicira s mikrokontrolerima preko i2c sabirnice. 16 bita omogućuje vam mjerenje osvjetljenja od 1 do 65356 Lux (Lx).

Ispod je dijagram njegove veze. Možda ćete primijetiti da SDA i SCL spojeni na analogne pinove mikrokontrolera.

To je zbog činjenice da je I2C sabirnica ugrađena na ove arduino igle, što se može vidjeti sljedećom slikom. Stoga se nemojte zavaravati tom činjenicom, senzor je digitalni.

Prednost digitalnih senzora je u tome što ne trebate provjeravati vrijednosti svake instance, sastaviti tablice za prevođenje izmjerenih vrijednosti u stvarne ljestvice i tako dalje.U većini slučajeva za digitalne senzore dovoljno je jednostavno spojiti gotovu biblioteku i pročitati vrijednosti pretvorene u stvarne jedinice.
Primjer skice za GY-302 (BH-1750):

Kako djeluje skica?
Na početku kažemo programu da moramo povezati knjižnicu Wire.h koja je odgovorna za komunikaciju putem I2C linije i BH1750. Ostatak radnji dobro je opisan u komentarima, i kao rezultat, svakih 100 ms čitamo vrijednost s senzora u Luxu.
Karakteristike GY-302 BH1750:
-
Komunikacija mikrokontrolera I2C
-
Spektralni odgovor sličan osjetljivosti oka
-
Pogreške zbog infracrvenog zračenja su minimizirane
-
Mjerni raspon 0-65535 Lux
-
Napon napajanja: 3-5 V
-
Mala potrošnja struje i funkcija mirovanja
-
50/60 Hz filtriranje svjetlosnog buke
-
Maksimalni broj senzora na 1 I2C sabirnici je 2 komada.
-
Nije potrebno umjeravanje
-
Trenutna potrošnja - 120 μA
-
U načinu mirovanja - 0,01 μA
-
Izmjerena valna duljina - 560 nm
-
U načinu visoke rezolucije - 1 Lux
-
U načinu niske razlučivosti - 4 Lux
-
ADC - 16 bit
Vrijeme potrebno za mjerenja:
-
U načinu visoke rezolucije - 120 ms
-
U načinu niske razlučivosti - 16 ms
Senzor prepreka
Odabrao sam ovaj senzor kao sljedeći koji treba razmotriti, jer jedna od njegovih mogućnosti djeluje na osnovi fotodioda ili fototransistora, koji su u principu slični fotoresistoru o kojem smo razgovarali u prethodnom odjeljku.

Naziv je "senzor optičkih prepreka". Glavni funkcionalni element su fotodioda i LED koji emitiraju i primaju u IR spektru (dakle, nisu vidljivi ljudskom oku, kao i skup pragova sastavljen, na primjer, na komparateru s regulatorom osjetljivosti. Pomoću njega se podešava udaljenost na kojoj se senzor aktivira, načinom na koji je digitalni.
Primjer dijagrama veze:

Primjer programa obrade signala od senzora.

Ovdje, ako je izlaz iz senzora "1", što znači "postoji prepreka", lampica na Arduino ploči ili spojen na 13. pin (ista stvar) će upaliti. Najčešće se koristi u robotika i alarmi.

Senzor udaljenosti
Prethodna kopija sastoji se od prijemnika, - fotodiode i odašiljača, - LED. Senzor ultrazvučne udaljenosti također se sastoji od prijemnika i odašiljača ultrazvučnih valova. Zove se HC SR04.

Karakteristike HC SR04:
-
5V napon napajanja
-
Radni parametar sile t oka - 15 mA
-
Pasivna struja <2 mA
-
Kut gledanja - 15 °
-
Rezolucija dodira - 0,3 cm
-
Mjerni kut - 30 °
-
Širina pulsa - 10-6 s
-
Raspon mjerenja: 2-400 cm.
Pogreška se pojavljuje zbog:
-
temperatura i vlažnost - mogu se smanjiti mjerenjem, na primjer, DHT-11 ili DHT-22, i unosom koeficijenata za ispravljanje mjerenja.
-
udaljenost do objekta;
-
mjesto objekta u odnosu na senzor (prema dijagramu zračenja) može se nadoknaditi instaliranjem HC SR04 na servo pogon da promijeni smjer i napravi točne prilagodbe.
-
kvaliteta izvedbe elemenata osjetničkog modula.
Uzorak zračenja:

Ploča ima četiri izlaza:
-
VCC - snaga;
-
Trig - ulazni signal;
-
Eho - izlazni signal;
-
GND je uobičajena žica.

Kako obraditi čitanja?
1. Na TRIG ulaz šaljemo impuls u trajanju od 10 μs;
2. Unutar modula impuls se pretvara u paket od 8 impulsa koji slijede jedan uz drugog s frekvencijom od 40 kHz i šalju se kroz emiter;
3. Impulsi reflektirani od prepreke stižu do prijemnika i izlaze u ECHO;
4. Trajanje impulsa primljenog iz ECHO izlaza treba podijeliti s 58,2 da biste dobili udaljenost u centimetrima i sa 148, ako trebate pretvoriti u inča.
Primjer koda:

Izmjerite temperaturu
Najlakši način za mjerenje temperature pomoću mikrokontrolera je koristite termoelement ili termistor, Termoparovi se koriste za mjerenje visokih temperatura, za mjerenje unutarnjih i vanjskih prostora - ono o čemu ću govoriti malo u nastavku, učinit ćemo to, ali za sada pogledajmo termoelement.

Svaka vrsta termoelementa ima svoj pristup radu s mikrokontrolerom. Na primjer, postoji termoelement tipa K, ili kako ga još nazivaju - kromel-alumel, s rasponom izmjerenih temperatura od -200 do +1400 stupnjeva Celzija, s osjetljivošću od 41 mV / stupanj Celzijusa. A za nju postoji poseban pretvarač koji se temelji na IC max6675, ima funkciju za kompenzaciju temperature hladnog spoja i tako dalje.

S ovim modulom možete raditi pomoću istoimene biblioteke za Arduino. Na donjoj slici vidite primjer programskog koda za ovaj slučaj.

Zatim se na monitoru serijskog porta prikazuje sljedeće.

Ali tu je i digitalni temperaturni senzor DS12B20, može se nazvati klasikom, jer se već dugi niz godina koristi u amaterskim projektima, i mnogo prije pojave Arduina.

Ovaj digitalni integrirani krug njegov unutarnji uređaj prikazan je na donjoj slici:

Dijagram spajanja ploče:

Ključne značajke i informacije DS18b20:
-
Pogreška je manja od 0,5 ° C (u temperaturnom području od -10 ° C do + 85 ° C).
-
Nije potrebno umjeravanje
-
Raspon mjerenja - od -55 C do + 125S
-
VCC, napon napajanja 3,3-5V.
-
razlučivost do 0,0625S, postavljeno softverom;
-
Rezolucija - 12 bita
-
Svakoj instanci dodjeljuje se jedinstveni serijski kod. Ovo je neophodno za jednostavno korištenje nekoliko komada u jednom projektu
-
Komunikacijsko sučelje - 1-žica
-
Nije potrebno vezanje
-
Maksimalni broj senzora u jednoj liniji je 127 komada.
-
Lažni način napajanja - u ovom se slučaju senzor napaja izravno iz komunikacijske linije. Istodobno, nije zajamčeno mjerenje temperature veće od 100C
Ispod možete vidjeti grafikon pretvorbe binarnog koda iz DS18b20 u temperaturu u Celzijevim stupnjevima.

Primjer programa za očitanje vrijednosti temperature.

Senzori tlaka atmosferskog tlaka
Elektronski barometri sastavljaju se na temelju senzora atmosferskog tlaka. Sljedeće su opcije bile široko korištene:
-
BMP180;
-
BMP280;
-
BME280.

Ako su dvije prethodne instance bile slične jedna drugoj, onda BME280 senzor - Ovo je minijaturna meteorološka stanica. U njemu su ugrađena 3 senzora:
-
temperatura;
-
tlak;
-
Vlažnost.
Njegove tehničke karakteristike:
-
Dimenzije 2,5 x 2,5 x 0,93 mm;
-
Metalno LGA kućište, opremljeno s 8 izlaza;
-
Napon napajanja 1,7 - 3,6 V;
-
Dostupnost I2C i SPI sučelja;
-
Potrošnja u stanju pripravnosti 0,1 µA.
Ovi primjeri su barometri MEMS. MEMS označava mikroelektromehaničke uređaje. Ovo je mehanička mikrostruktura koja za svoj rad koristi kapacitivne pojave i druga načela. Ispod vidite primjer takvog senzora u kontekstu.

Primjer dijagrama veze:

Primjer programskog koda:

Logika programa je jednostavna:
1. Pozovite potprogram (funkciju) očitanja sa senzora.
2. Zahtjev za očitanjem osjetnika temperature koji je ugrađen u barometar.
3. Čekamo vrijeme za procjenu senzora temperature;
4. Pročitajte rezultat mjerenja temperature;
5. zatražiti vrijednosti tlaka;
6. Čekamo vrijeme mjerenja tlaka;
7. očitajte vrijednost tlaka;
8. Vratite vrijednost tlaka iz funkcije.
Zanimljiva je činjenica da postoje četiri mogućnosti čitanja vrijednosti, one su navedene kao argument u funkciji startPressure, drugi znak je od 0 do 3, gdje je 0 gruba procjena, a 3 je točna procjena.
Senzor kretanja
Najčešći senzor pokreta za Arduino je HC SR501 IC senzorski modul, Značajka ovog modula je da ima podešavanje udaljenosti odziva i vremena kašnjenja izlaznog signala nakon rada.

Značajke modula:
1. Napon napajanja 4,5 - 20 V.
2. mirovanje struje ≈ 50 μA;
3. Napon izlaznog signala (logička razina): 3,3 V;
4. Raspon radne temperature - od -15 ° C do 70 ° C;
5. Dimenzije: 32 * 24 mm;
6. vidno polje - 110 °;
7. maksimalna radna udaljenost - od 3 do 7 m (podesiva); Iznad 30 ° C ta se udaljenost može smanjiti.
Dijagram ožičenja:

Kako raditi s njim razmatrali smo u članku objavljenom ranije: Sheme senzora kretanja, princip njihovog rada i dijagrami spajanja
Senzor razine vode
Dizajniran za prikaz razine tekućine.

Značajke:
1. Napon napajanja 3-5V
2. Potrošnja struje> 20 mA
3. Analogni
4. Dimenzije mjerne zone 40x16 mm
5. Dopuštena vlažnost zraka 10% - 90%
Primjer koda:

Izlazne vrijednosti su od 0 (u suhom stanju) do 685 (mogu različiti u stvari, to ovisi o vodljivosti vode). Ne zaboravite na elektrolizu, pri mjerenju razine soli ili tvrde vode, ona će korodirati.
Senzor propuštanja
Modul se sastoji od dva dijela - samog senzora i komparatora, može se graditi na LM393, LM293 ili LM193.

Zahvaljujući usporedniku analogni signal se pretvara u digitalni.
Dijagram ožičenja:

Ispred odbora:
-
VCC - snaga mora odgovarati snazi ploče Apduino, u većini slučajeva je 5V;
-
GND - zajednička žica;
-
AO - analogni signal;
-
DO je digitalni signal.
Na ploči komparatora nalazi se podešavanje otpornika, on postavlja osjetljivost senzora. Može djelovati kao signal kiše ili curenja nečega, a kada je uparen s takvom dizalicom, može raditi kao zaštita od curenja cjevovoda u stanu:

Video prikazuje kako to radi:
Senzor vlage
Uobičajeno se koristi u projektima automatskog zalijevanja, za određivanje vlažnosti tla, kao i prethodna se sastoji od elektroda i ploče s komparatorom.

Može raditi i u analognom i u digitalnom načinu. Primjer priključne sheme za automatski sustav navodnjavanja s dizalicom na bazi motora:

Primjer programskog koda za obradu digitalnog signala sa senzora vlage:


zaključak
Ispitali smo popularne senzore, ali postoje i mnogi drugi. To su razni vibracijski senzori, žiroskopi, akcelerometri, senzori zračenja i još mnogo toga.
Namjera članka bila je prikupiti na jednom mjestu različite elemente koji mogu biti korisni inženjeru elektronike početnicima za implementaciju svojih projekata. Ako vas zanima određeni senzor - napišite u komentarima i razmotrit ćemo ga detaljnije.
Radi vaše udobnosti, za vas smo sastavili tablicu s procijenjenim troškovima i popis popularnih senzora za Arduino, redoslijedom kojim su uzeti u obzir u članku:Senzori za Arduino
Cijene se uzimaju iz internetskih trgovina u Rusiji ili Ukrajini. U Kini koštaju 2 ili više puta jeftinije.
Pogledajte također na elektrohomepro.com
: