kategorier: Microcontroller kredsløb
Antal visninger: 32016
Kommentarer til artiklen: 0

Mest populære sensorer til Arduino

 

Sensorer bruges i en lang række kredsløb og projekter. Ingen automatisering kan undvære dem. Vi er interesseret i dem, fordi der er oprettet et projekt for at forenkle design og popularisering af elektronik Arduino. Dette er et færdigt bord med en mikrocontroller og alt hvad du har brug for for at arbejde med det og programmere det. I denne artikel vil vi overveje sensorer til Arduino, men de kan også bruges sammen med andre mikrokontrollere.

Mest populære sensorer til Arduino

Hvad er sensorer?

Sensorer er øjne, ører og andre sanser mikrocontroller eller anden kontrolenhed. De er kendetegnet ved signalets art og efter formål.

Efter signalets art er der opdelt i:

  • analog;

  • Digital.

Og til formålet er sensorerne til måling:

  • temperatur;

  • tryk;

  • fugtighed;

  • surhedsgrad;

  • belysning;

  • Vandstand eller andre stoffer;

  • vibrationer;

  • Og andre specialiserede komponenter.

Hvis vi taler om Arduino, behandler vi et digitalt signal, når vi modtager information fra sensorer, eller måler spændingen fra modulets analoge udgang. Som allerede nævnt sensorer er digitale og analoge. Nogle moduler til Arduino har både digital og analog output, hvilket forener dem.

Fra enhed er de det

  • resistiv;

  • induktiv;

  • kapacitiv;

  • piezoelektriske;

  • Fotoceller og andre typer.



Lys eller lyssensor

Den nemmeste måde at bestemme lysstyrken på noget - Brug en fotoresistor, fotodiode eller fototransistor. Du kan tilslutte en af ​​de anførte muligheder til Arduino eller købe et specielt bræt - lyssensor.

Lyssensor

Hvad er fordelene ved en nøglefærdigt løsning? For det første at detektere ændringer i belysningen af ​​en enkelt fotocelle ikke er nok, har du også brug for en regelmæssig eller indstillingsmodstand, måske komparator, til trinvis ja / nej-betjening. For det andet vil et fabriksfremstillet printkort være mere pålideligt end en hængslet montering eller et pakkekort, eller andre måder, som amatører bruger.

Lyssensor

På aliexpress eller i andre onlinebutikker kan det findes på anmodning "FOTOSENSITIV-SENSOR" eller blot "lyssensor".

Dette modul har tre output:

  • ernæring;

  • Landet;

  • Digital output fra komparatoren.

Eller en fire-pin version:

  • ernæring;

  • Landet;

  • Digital output fra komparatoren;

  • Analog.

Så på tavlen er der en indstillingsmodstand til at justere det øjeblik komparatoren udløses, det kan give et digitalt signal.

Eksempler på brug:

  • Lyssensor til fotorelæ;

  • Alarm (parret med emitteren);

  • Tæller for genstande, der krydser lysstrålen osv.

Det er vanskeligt at opnå nøjagtige værdier, da der kræves en korrekt lysmåler til den korrekte justering ved belysning. Fotoresistorer er mere velegnede til bestemmelse af abstrakte værdier som "mørk eller lys."

Ud over et sådant bræt til salg, kan du finde det ganske interessant GY-302 modul. Dette er en lyssensor baseret på det integrerede BH-1750 kredsløb. Dens funktion er, at det er et digitalt modul, det har en kapacitet på 16 bit, kommunikerer med mikrokontrollere via i2c-bussen. 16 bit giver dig mulighed for at måle belysning fra 1 til 65356 Lux (Lx).

Omgivelsessensor baseret på integreret kredsløb BH-1750

Nedenfor er et diagram over dens forbindelse. Du bemærker muligvis, at SDA og SCL tilsluttet de analoge stifter på mikrokontrolleren.

Lyssensor tilslutningsdiagram

Dette skyldes det faktum, at I2C-bussen er implementeret på disse arduino-stifter, som kan ses ved at se på det følgende billede. Lad dig ikke narre af denne kendsgerning, sensoren er digital.

GY-302 moduldiagram

Fordelen ved digitale sensorer er, at du ikke behøver at kontrollere værdierne for hvert enkelt tilfælde, samle tabeller for at oversætte de målte værdier til reelle skalaer og så videre.I de fleste tilfælde er det for digitale sensorer nok at blot tilslutte et færdigt bibliotek og læse de værdier, der er konverteret til reelle enheder.

Eksempelskitse til GY-302 (BH-1750):

Skitseeksempel til GY-302

Hvordan fungerer en skitse?

I starten fortæller vi programmet, at vi har brug for at forbinde Wire.h-biblioteket, der er ansvarlig for kommunikation via I2C-linjen og BH1750. Resten af ​​handlingerne er godt beskrevet i kommentarerne, og som et resultat læser vi hver 100ms værdi fra sensoren i Lux.

Egenskaber ved GY-302 BH1750:

  • I2C mikrokontrollerkommunikation

  • Spektral respons svarende til øjenfølsomhed

  • Fejl på grund af infrarød stråling minimeres

  • Måleområde 0-65535 Lux

  • Forsyningsspænding: 3-5 V

  • Lavt strømforbrug og søvnfunktion

  • 50/60 Hz lysstøjfiltrering

  • Det maksimale antal sensorer på 1 I2C-bus er 2 stykker.

  • Ingen kalibrering krævet

  • Nuværende forbrug - 120 μA

  • I dvaletilstand - 0,01 μA

  • Målt bølgelængde - 560 nm

  • I tilstand med høj opløsning - 1 Lux

  • I tilstand med lav opløsning - 4 Lux

  • ADC - 16 bit

Det tager tid at måle:

  • I tilstand med høj opløsning - 120 ms

  • I tilstand med lav opløsning - 16 ms


Hindringssensor

Jeg valgte denne sensor som den næste til at overveje, fordi en af ​​dens muligheder fungerer på basis af en fotodiode eller fototransistor, som i princippet ligner den fotoresistor, der er omtalt i det foregående afsnit.

Hindringssensor

Dets navn er "optisk forhindringssensor." Det vigtigste funktionelle element er den fotodiode og LED, der udsender og modtager i IR-spektret (derfor ikke synligt for det menneskelige øje, samt en tærskelkonstruktion, der er samlet, for eksempel på en komparator med en følsomhedsregulator. Ved hjælp af den justeres afstanden, som sensoren udløses, ved den digitale måde.

Eksempel på tilslutningsdiagram:

Forbindelseseksempel

Et eksempel på et signalbehandlingsprogram fra en sensor.

Et eksempel på et signalbehandlingsprogram fra en sensor

Hvis output fra sensoren her er "1", hvilket betyder "der er en hindring", lyser LED'en på Arduino-kortet eller tilsluttet den 13. pin (den samme ting). Oftest brugt i robotik og alarmer.

Brug af sensorer

Afstandsføler

Den forrige kopi består af en modtager, - en fotodiode og en emitter, - en LED. Den ultrasoniske afstandssensor består også af en modtager og en emitter af ultralydsbølger. Hans navn er HC SR04.

Afstandsføler

Egenskaber HC SR04:

  • 5V forsyningsspænding

  • Betjeningsparameteren for kraften t oka - 15 mA

  • Passiv strøm <2 mA

  • Synsvinkel - 15 °

  • Berøringsopløsning - 0,3 cm

  • Målevinkel - 30 °

  • Pulsbredde - 10-6 s

  • Måleområde: 2-400 cm.

Fejlen vises på grund af:

  • temperatur og fugtighed - kan reduceres ved for eksempel at måle temperaturen med DHT-11 eller DHT-22 og indtaste koefficienter for at rette målingerne.

  • afstand til objektet;

  • objektets placering i forhold til sensoren (i henhold til strålingsdiagrammet) kan udlignes ved at installere HC SR04 på servodrevet for at ændre retning og foretage nøjagtige justeringer.

  • ydelseskvalitet af sensormodulelementerne.

Strålingsmønster:

Strålingsmønster

Bestyrelsen har fire output:

  • VCC - strøm;

  • Trig - indgangssignal;

  • Echo - output signal;

  • GND er en almindelig ledning.

HC SR04 sensorledninger

Hvordan behandler man læsninger?

1. Vi sender en puls med en varighed på 10 μs til TRIG-indgangen;

2. Inde i modulet konverteres pulsen til en pakke med 8 pulser, der følger hinanden med en frekvens på 40 kHz og sendes gennem emitteren;

3. Impulser reflekteret fra forhindringen ankommer modtageren og sendes til ECHO;

4. Varigheden af ​​den modtagne puls fra ECHO-output skal divideres med 58,2 for at få afstanden i centimeter og med 148, hvis du har brug for at konvertere til inches.

Eksempel kode:

Prøvekode

Mål temperatur

Den nemmeste måde at måle temperatur ved hjælp af en mikrocontroller er Brug en termoelement eller termistor. Termoelementer bruges til at måle høje temperaturer, til at måle indendørs og udendørs - det, som jeg vil tale om lidt nedenfor, vil gøre, men for nu, lad os se på et termoelement.

Temperatursensor

Hver type termoelement har sin egen tilgang til at arbejde med en mikrocontroller. For eksempel er der en termoelement af K-type, eller som det også kaldes - krom-alumel, med et område af målte temperaturer fra -200 til +1400 grader Celsius med en følsomhed på 41 mV / grad Celsius. Og for hende er der en speciel konverter baseret på max6675 IC, den har en funktion til at kompensere temperaturen i det kolde kryds og så videre.

Modul til måling af temperatur

Du kan arbejde med dette modul ved hjælp af biblioteket med samme navn til Arduino. I figuren nedenfor ser du et eksempel på programkode til denne sag.

Prøvekode

Derefter vises følgende på seriel portmonitor.

Seriel portmonitor

Men der er også en digital temperatursensor DS12B20, kan det kaldes klassisk, da det har været brugt i mange år i amatørprojekter, og længe før Arduino-udseendet.

Digital temperatursensor DS12B20

Dette digitale integrerede kredsløb sin interne enhed er vist i figuren herunder:

Intern enhedens mikrokredsløb

Kortforbindelsesdiagram:

Kortforbindelsesdiagram

Nøglefunktioner og information DS18B20:

  • Fejlen er mindre end 0,5 ° C (i temperaturområdet fra -10 ° C til + 85 ° C).

  • Ingen kalibrering krævet

  • Måleområde - fra -55 С til + 125С

  • VCC, forsyningsspænding 3,3-5V.

  • opløsning op til 0,0625С, indstillet af software;

  • Opløsning - 12 bit

  • Hver forekomst tildeles en unik seriel kode. Dette er nødvendigt for let at bruge flere stykker i et projekt

  • Kommunikationsgrænseflade - 1-ledning

  • Ingen spænding kræves

  • Det maksimale antal sensorer på en linje er 127 stykker.

  • Fantastisk strømtilstand - i dette tilfælde drives sensoren direkte fra kommunikationslinien. Samtidig er en temperaturmåling over 100 ° C ikke garanteret

Nedenfor ser du konverteringsoversigten over den binære kode fra DS18b20 til temperatur i grader Celsius.

Konverteringstabel for den binære kode fra DS18b20 til temperatur i grader Celsius

Eksempel program til aflæsning af temperaturværdier.

Eksempel program til aflæsning af temperaturværdier

Sensorer i atmosfærisk tryk

Elektroniske barometre samles på basis af atmosfæriske tryksensorer. Følgende muligheder blev brugt meget:

  • BMP180;

  • BMP280;

  • BME280.

Sensorer i atmosfærisk tryk

Hvis de to foregående forekomster lignede hinanden, så BME280 sensor - Dette er en miniature vejrstation. 3 sensorer er indbygget i det:

  • temperatur;

  • tryk;

  • Fugtighed.

Dets tekniske egenskaber:

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

  • Metal LGA-hus, udstyret med 8 udgange;

  • Forsyningsspænding 1,7 - 3,6 V;

  • Tilgængelighed af I2C og SPI-grænseflader;

  • Strømforbrug i standby 0,1 µA.

Disse eksempler er MEMS-barometre. MEMS står for mikroelektromekanisk. Dette er en mekanisk mikrostruktur, der bruger kapacitive fænomener og andre principper til sit arbejde. Nedenfor ser du et eksempel på en sådan sensor i konteksten.

Sektionseksempel på en sensor

Eksempel på tilslutningsdiagram:

Forbindelseseksempel

Og et eksempel på programkode:

Prøvekode

Programmets logik er enkel:

1. Ring til subroutine (funktion) aflæsning fra sensoren.

2. Anmodning om aflæsning af temperatursensoren integreret i barometeret.

3. Vi venter på tid til at evaluere temperatursensoren;

4. Læs resultatet af temperaturmålinger;

5. Anmod om trykværdier;

6. Vi venter på trykmålingstiden;

7. Læs trykværdien;

8. Ret trykværdien tilbage fra funktionen.

En interessant kendsgerning er, at der er fire muligheder for at læse værdier, de er specificeret som et argument i startPressure-funktionen, det andet tegn er fra 0 til 3, hvor 0 er et groft skøn, og 3 er et nøjagtigt estimat.


Bevægelsessensor

Den mest almindelige bevægelsessensor til Arduino er HC SR501 IR sensormodul. Et træk ved dette modul er, at det har en justering af responsafstanden og forsinkelsestiden for udgangssignalet efter drift.

Bevægelsessensor

Modulfunktioner:

1. Forsyningsspænding 4,5 - 20 V.

2. Rolig strøm ≈ 50 μA;

3. Udgangsspænding (logisk niveau): 3,3 V;

4. Driftstemperaturområde - fra -15 ° C til 70 ° C;

5. Dimensioner: 32 * 24 mm;

6. Synsfelt - 110 °;

7. Maksimal driftsafstand - fra 3 til 7 m (justerbar); Over 30 ° C kan denne afstand falde.

Ledningsdiagram:

Tilslutningsdiagram for bevægelsessensor

Hvordan man arbejder med ham overvejede vi i en artikel offentliggjort tidligere: Skemaer med bevægelsessensorer, princippet for deres arbejde og ledningsdiagrammer


Vandstand sensor

Designet til at indikere væskestand.

Vandstand sensor

Features:

1. Forsyningsspænding 3-5V

2. Forbrugsstrøm> 20 mA

3. Analog

4. Dimensioner på målezonen 40x16 mm

5. Tilladt luftfugtighed 10% - 90%

Eksempel kode:

Prøvekode

Udgangsværdierne er fra 0 (i tør tilstand) til 685 (kan faktisk variere, det afhænger af vandets konduktivitet). Glem ikke elektrolyse, når du måler niveauet af salt eller hårdt vand, vil det korrodere.


Lækagesensor

Modulet består af to dele - selve sensoren og komparatoren kan bygges på LM393, LM293 eller LM193.

Lækagesensor

Takket være komparatoren konverteres det analoge signal til digitalt.

Ledningsdiagram:

Ledningsdiagram for lækagesensor

Board Pinout:

  • VCC - strøm, skal matche Apduino-brættets magt, i de fleste tilfælde er det 5V;

  • GND - fælles ledning;

  • AO - analogt signal;

  • DO er et digitalt signal.

Der er en indstillingsmodstand på komparatorkortet, den indstiller sensoren for følsomhed. Det kan fungere som et signal om regn eller lækage af noget, og når det er parret med en sådan kran, kan det fungere som beskyttelse mod rørledningslækager i lejligheden:

Lækage beskyttelseshaner

Videoen viser, hvordan den fungerer:


Fugtighedsføler

Almindeligt anvendt i automatiske vandingsprojekter, for at bestemme jordfugtighed, såvel som den foregående består af elektroder og et bord med en komparator.

Fugtighedsføler

Det kan arbejde både i analoge og digitale tilstande. Et eksempel på et tilslutningsdiagram til et automatisk kunstvandingssystem med en kran baseret på en motor:

Forbindelsesdiagrammet for fugtighedsføleren til Arduino

Og et eksempel på programkode til behandling af et digitalt signal fra en fugtighedsføler:

Eksempel kode til behandling af et digitalt signal fra en fugtighedsføler
Digital temperatur- og fugtighedssensor AM2302

konklusion

Vi undersøgte populære sensorer, men der er også mange andre. Disse er en række vibrationssensorer, gyroskoper, accelerometre, strålingssensorer og mere.

Formålet med artiklen var at samle et sted en række elementer, der kan være nyttige for en begyndende elektronikingeniør til gennemførelse af deres projekter. Hvis du er interesseret i en bestemt sensor - skriv kommentarerne, så overvejer vi det mere detaljeret.

For nemheds skyld har vi samlet dig et bord med en anslået pris og en liste over populære sensorer til Arduino i den rækkefølge, de blev betragtet som i artiklen:Sensorer til Arduino

Priserne er hentet fra onlinebutikker i Rusland eller Ukraine. I Kina koster de 2 eller flere gange billigere.

Se også på elektrohomepro.com:

  • Måling af temperatur og fugtighed på Arduino - et udvalg af måder
  • Tilslutning af analoge sensorer til Arduino, læssensorer
  • Hvad er forskellen mellem analoge og digitale sensorer
  • Hvordan linjesensoren er arrangeret og fungerer
  • Skemaer med bevægelsessensorer og princippet for deres arbejde, ledningsdiagrammer

  •