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.

Najpopularniji senzori za Arduino

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.

Senzor svjetla

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.

Senzor svjetla

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).

Senzor ambijentalnog svjetla zasnovan na integriranom krugu BH-1750

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

Dijagram povezivanja senzora svjetla

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.

GY-302 dijagram modula

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):

Primjer skice za GY-302

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.

Senzor prepreka

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 veze

Primjer programa obrade signala od senzora.

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.

Korištenje senzora

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.

Senzor udaljenosti

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:

Uzorak zračenja

Ploča ima četiri izlaza:

  • VCC - snaga;

  • Trig - ulazni signal;

  • Eho - izlazni signal;

  • GND je uobičajena žica.

HC SR04 vodi do osjetnika

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:

Uzorak 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.

Senzor temperature

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.

Modul za mjerenje temperature

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

Uzorak koda

Zatim se na monitoru serijskog porta prikazuje sljedeće.

Monitor serijskog ulaza

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.

Digitalni temperaturni senzor DS12B20

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

Interni mikro krug uređaja

Dijagram spajanja ploče:

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.

Tablica konverzije za binarni kod iz DS18b20 u temperaturu u Celzijevim stupnjevima

Primjer programa za očitanje vrijednosti temperature.

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.

Senzori tlaka atmosferskog tlaka

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 sekcije senzora

Primjer dijagrama veze:

Primjer veze

Primjer programskog koda:

Uzorak 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.

Senzor kretanja

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:

Dijagram povezivanja senzora kretanja

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.

Senzor razine vode

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:

Uzorak 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.

Senzor propuštanja

Zahvaljujući usporedniku analogni signal se pretvara u digitalni.

Dijagram ožičenja:

Dijagram ožičenja senzora za curenje

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:

Slavina za zaštitu od curenja

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.

Senzor vlage

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

Dijagram povezivanja senzora vlažnosti s Arduinom

Primjer programskog koda za obradu digitalnog signala sa senzora vlage:

Uzorak programskog koda za obradu digitalnog signala sa senzora vlažnosti
Digitalni senzor temperature i vlage AM2302

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:

  • Mjerenje temperature i vlažnosti na Arduinu - izbor metoda
  • Spajanje analognih senzora na Arduino, očitavanje senzora
  • Koja je razlika između analognih i digitalnih senzora
  • Kako je uređen i djeluje linijski senzor
  • Sheme senzora kretanja i princip njihovog rada, sheme povezivanja

  •