Mga kategorya: Mga circuit ng Microcontroller
Bilang ng mga tanawin: 32016
Mga puna sa artikulo: 0
Pinakatanyag na sensor para sa Arduino
Ang mga sensor ay ginagamit sa isang malawak na iba't ibang mga circuit at proyekto. Walang automation ang magagawa kung wala sila. Kami ay interesado sa kanila dahil ang isang proyekto ay nilikha upang gawing simple ang disenyo at pag-populasyon ng mga electronics Arduino. Ito ay isang tapos na board na may isang microcontroller at lahat ng kailangan mo upang magtrabaho kasama ito at iprograma ito. Sa artikulong ito, isasaalang-alang namin ang mga sensor para sa Arduino, ngunit maaari rin silang magamit sa iba pang mga microcontroller.

Ano ang mga sensor?
Ang mga sensor ay ang mga mata, tainga at iba pang mga pandama microcontroller o iba pang aparato ng kontrol. Nakikilala sila sa likas na katangian ng signal at sa pamamagitan ng layunin.
Sa pamamagitan ng likas na katangian ng signal ay nahahati sa:
-
Talasalitaan;
-
Digital
At para sa layunin, ang mga sensor ay para sa pagsukat:
-
Temperatura;
-
Presyon;
-
Humidity
-
Acidity;
-
Pag-iilaw
-
Antas ng tubig o iba pang mga sangkap;
-
Panginginig ng boses
-
At iba pang mga dalubhasang sangkap.
Kung pinag-uusapan natin ang tungkol sa Arduino, kung gayon, kapag tumatanggap ng impormasyon mula sa mga sensor, pinoproseso namin ang isang digital signal, o sukatin ang boltahe mula sa analog output ng module. Tulad ng nabanggit na, Ang mga sensor ay digital at analog. Ang ilang mga module para sa Arduino ay may parehong digital at analog output, na pinagsama ang mga ito.
Sa pamamagitan ng aparato sila
-
Lumalaban
-
Induktibo
-
Kapasidad;
-
Piezoelectric;
-
Mga Photocells at iba pang mga uri.
Banayad o light sensor
Ang pinakamadaling paraan upang matukoy ang ningning ng isang bagay - gumamit ng photoresistor, photodiode o phototransistor. Maaari mong ikonekta ang isa sa mga nakalistang pagpipilian sa Arduino o bumili ng isang espesyal na board - light sensor.

Ano ang mga pakinabang ng isang turnkey solution? Una, upang matukoy ang mga pagbabago sa pag-iilaw ng isang photocell ay hindi sapat, kailangan mo rin ng isang regular o pag-tune risistor, marahil ito paghahambing, para sa sunud-sunod na oo / walang operasyon. Pangalawa, ang isang naka-print na circuit board na gawa sa pabrika ay magiging mas maaasahan kaysa sa isang hinged mounting o isang batch board, o iba pang mga paraan na ginagamit ng mga amateurs.

Sa aliexpress o sa iba pang mga online na tindahan ay matatagpuan ito sa kahilingan na "PHOTOSENSITIVE-SENSOR" o simpleng "light sensor".
Ang modyul na ito ay may tatlong mga output:
-
Nutrisyon;
-
Daigdig
-
Digital na output mula sa paghahambing.
O isang bersyon ng apat na pin:
-
Nutrisyon;
-
Daigdig
-
Digital na output mula sa paghahambing;
-
Talasalitaan
Kaya sa board na inilagay ang tuning risistor upang ayusin ang tiyempo ng paghahambing ay maaaring makabuo ng isang digital signal.
Mga halimbawa ng paggamit:
-
Banayad na sensor para sa relay ng larawan;
-
Alarm (ipinares sa emitter);
-
Bilang ng mga bagay na tumatawid sa light beam, atbp.
Mahirap makamit ang eksaktong mga halaga, dahil ang isang tamang ilaw na metro ay kinakailangan para sa tamang pagsasaayos sa pamamagitan ng pag-iilaw. Ang mga photoresistor ay mas angkop para sa pagtukoy ng mga mahahalagang halaga tulad ng "madilim o ilaw."
Bilang karagdagan sa tulad ng isang board on sale, maaari kang makahanap ng medyo kawili-wili GY-302 module. Ito ay isang light sensor batay sa BH-1750 integrated circuit. Ang tampok nito ay ito ay isang digital module, mayroon itong kapasidad ng 16 bits, nakikipag-usap sa mga microcontroller sa pamamagitan ng i2c bus. 16 bits daan sa iyo upang masukat ang pag-iilaw mula 1 hanggang 65356 Lux (Lx).

Sa ibaba ay isang diagram ng koneksyon nito. Maaari mong mapansin na ang SDA at SCL konektado sa mga analog na pin ng microcontroller.

Ito ay dahil sa ang katunayan na ang I2C bus ay ipinatupad sa mga arduino pin na ito, na makikita sa pamamagitan ng pagtingin sa sumusunod na larawan. Samakatuwid, huwag lokohin ng katotohanang ito; ang sensor ay digital.

Ang bentahe ng mga digital na sensor ay hindi mo kailangang suriin ang mga halaga ng bawat halimbawa, mag-ipon ng mga talahanayan upang isalin ang mga sinusukat na halaga sa tunay na mga kaliskis at iba pa.Sa karamihan ng mga kaso, para sa mga digital na sensor, sapat na upang ikonekta lamang ang isang yari na aklatan at basahin ang mga halaga na na-convert sa mga tunay na yunit.
Halimbawa ng sketch para sa GY-302 (BH-1750):

Paano gumagana ang isang sketch?
Sa simula, sinabi namin sa programa na kailangan nating ikonekta ang library ng Wire.h, na responsable para sa komunikasyon sa pamamagitan ng linya ng I2C, at BH1750. Ang natitirang mga pagkilos ay mahusay na inilarawan sa mga komento, at bilang isang resulta, bawat 100ms basahin namin ang halaga mula sa sensor sa Lux.
Mga Katangian ng GY-302 BH1750:
-
Komunikasyon ng microcontroller I2C
-
Spectral na tugon na katulad ng sensitivity sa mata
-
Ang mga pagkakamali dahil sa infrared radiation ay nabawasan
-
Saklaw ng Pagsukat 0-65535 Lux
-
Boltahe ng supply: 3-5 V
-
Mababang kasalukuyang pagkonsumo at pagtulog function
-
50/60 Hz light na pag-filter ng ingay
-
Ang maximum na bilang ng mga sensor sa 1 I2C bus ay 2 piraso.
-
Hindi kinakailangan na pag-calibrate
-
Kasalukuyang pagkonsumo - 120 μA
-
Sa mode ng pagtulog - 0.01 μA
-
Sinukat na haba ng haba ng haba - 560 nm
-
Sa mode na mataas na resolusyon - 1 Lux
-
Sa mode ng mababang resolusyon - 4 Lux
-
ADC - 16 bit
Oras na kinuha para sa mga sukat:
-
Sa mode na mataas na resolusyon - 120 ms
-
Sa mode ng mababang resolusyon - 16 ms
Obstacle sensor
Pinili ko ang sensor na ito bilang susunod na isaalang-alang, dahil ang isa sa mga pagpipilian nito ay gumagana batay sa isang photodiode o phototransistor, na katulad ng alituntunin sa photoresistor na tinalakay sa nakaraang seksyon.

Ang pangalan nito ay "optical sensor ng balakid." Ang pangunahing elemento ng functional ay ang photodiode at LED na naglalabas at natatanggap sa IR spectrum (samakatuwid, hindi nakikita ng mata ng tao, pati na rin ang isang pagtitipon ng threshold, halimbawa, sa isang comparator na may isang sensitivity regulator.Ang paggamit nito, ang distansya kung saan ang sensor ay na-trigger ay nababagay, sa pamamagitan ng paraan na digital.
Halimbawa ng diagram ng koneksyon:

Isang halimbawa ng isang programa sa pagproseso ng signal mula sa isang sensor.

Dito, kung ang output mula sa sensor ay "1", na nangangahulugang "mayroong isang balakid", ang LED sa board ng Arduino o konektado sa ika-13 na pin (ang parehong bagay) ay magaan. Karamihan sa mga madalas na ginagamit sa mga robotics at mga alarma.

Sensor ng distansya
Ang nakaraang kopya ay binubuo ng isang tatanggap, - isang photodiode, at isang emitter, - isang LED. Ang sensor ng ultrasonic na distansya ay binubuo din ng isang receiver at isang emitter ng mga ultrasonic na alon. Ang kanyang pangalan ay HC SR04.

Mga Katangian HC SR04:
-
5V supply ng boltahe
-
Ang operating parameter ng puwersa t oka - 15 mA
-
Passive kasalukuyang <2 mA
-
Anggulo ng pagtingin - 15 °
-
Resolusyon ng Touch - 0.3 cm
-
Anggulo ng pagsukat - 30 °
-
Width Width - 10-6 s
-
Saklaw ng pagsukat: 2-400 cm.
Ang error ay lilitaw dahil sa:
-
temperatura at kahalumigmigan - maaaring mabawasan sa pamamagitan ng pagsukat ng temperatura na may DHT-11 o DHT-22, halimbawa, at pagpasok ng mga koepisyente upang iwasto ang mga sukat.
-
distansya sa bagay;
-
ang lokasyon ng bagay na nauugnay sa sensor (ayon sa diagram ng radiation) ay maaaring mai-offset sa pamamagitan ng pag-install ng HC SR04 sa servo drive upang baguhin ang direksyon at gumawa ng tumpak na pagsasaayos.
-
kalidad ng pagganap ng mga elemento ng sensor ng sensor.
Pattern ng radiation:

Ang lupon ay may apat na output:
-
VCC - kapangyarihan;
-
Trig - input signal;
-
Echo - output signal;
-
Ang GND ay isang karaniwang kawad.

Paano iproseso ang pagbabasa?
1. Nagpapadala kami ng isang pulso na may tagal ng 10 μs sa input ng TRIG;
2. Sa loob ng module, ang pulso ay na-convert sa isang pack ng 8 pulses na sumusunod sa bawat isa na may dalas ng 40 kHz at ipinadala sa pamamagitan ng emitter;
3. Ang mga impulses na nakalarawan mula sa balakid ay dumating sa tagatanggap at output sa ECHO;
4. Ang tagal ng natanggap na pulso mula sa output ng ECHO ay dapat nahahati sa 58.2 upang makuha ang distansya sa mga sentimetro at sa pamamagitan ng 148 kung kailangan mong mag-convert sa pulgada.
Halimbawa ng code:

Sukat ng temperatura
Ang pinakamadaling paraan upang masukat ang temperatura gamit ang isang microcontroller ay gumamit ng thermocouple o thermistor. Ginagamit ang mga Thermocouples upang masukat ang mataas na temperatura, upang masukat ang panloob at panlabas - ang sasabihin ko tungkol sa isang bit sa ibaba ay gagawin, ngunit sa ngayon, tingnan natin ang isang thermocouple.

Ang bawat uri ng thermocouple ay may sariling pamamaraan para sa pagtatrabaho sa isang microcontroller. Halimbawa, mayroong isang K-type thermocouple, o kung tawagin din - chromel-alumel, na may isang saklaw na sinusukat na temperatura mula -200 hanggang +1400 degrees Celsius na may sensitivity ng 41 mV / degree Celsius. At para sa kanya mayroong isang espesyal na converter batay sa max6675 IC, mayroon itong function para sa pag-compensate ng temperatura ng malamig na kantong at iba pa.

Maaari kang magtrabaho sa modyul na ito gamit ang aklatan ng parehong pangalan para sa Arduino. Sa figure sa ibaba makikita mo ang isang halimbawa ng program code para sa kasong ito.

Pagkatapos ang mga sumusunod ay ipinapakita sa serial port monitor.

Ngunit mayroon ding isang sensor ng digital na temperatura DS12B20, maaari itong tawaging klasiko, dahil ginagamit ito ng maraming taon sa mga proyekto ng mga amateur, at matagal bago ang paglitaw ng Arduino.

Ang digital integrated circuit na panloob na aparato ay ipinapakita sa figure sa ibaba:

Diagram ng koneksyon ng lupon:

Pangunahing Mga Tampok at Impormasyon DS18b20:
-
Ang pagkakamali ay mas mababa sa 0.5 C (sa saklaw ng temperatura mula -10 ° C hanggang + 85 ° C).
-
Hindi kinakailangan na pag-calibrate
-
Saklaw ng pagsukat - mula -55 С hanggang + 125С
-
VCC, supply boltahe 3.3-5V.
-
paglutas ng hanggang sa 0.0625С, na itinakda ng software;
-
Paglutas - 12 bit
-
Ang bawat halimbawa ay nakatalaga ng isang natatanging serial code. Ito ay kinakailangan upang madaling magamit ang ilang mga piraso sa isang proyekto
-
Interface ng Komunikasyon - 1-Wire
-
Walang kinakailangang strapping
-
Ang maximum na bilang ng mga sensor sa isang linya ay 127 piraso.
-
Spury power mode - sa kasong ito, ang sensor ay pinalakas nang direkta mula sa linya ng komunikasyon. Kasabay nito, ang isang pagsukat ng temperatura na mas mataas kaysa sa 100C ay hindi ginagarantiyahan
Sa ibaba makikita mo ang tsart ng conversion ng binary code mula sa DS18b20 hanggang temperatura sa degree Celsius.

Halimbawa ng programa para sa pagbabasa ng mga halaga ng temperatura.

Mga sensor ng presyon ng Atmosfer
Ang mga electronic barometer ay tipunin batay sa mga sensor ng presyon ng atmospera. Ang mga sumusunod na pagpipilian ay malawakang ginamit:
-
BMP180;
-
BMP280;
-
BME280.

Kung ang dalawang naunang pagkakataon ay magkatulad sa bawat isa, kung gayon BME280 sensor - Ito ay isang maliit na istasyon ng panahon. 3 sensor ay itinayo sa loob nito:
-
Temperatura;
-
Presyon;
-
Humidity.
Ang mga teknikal na katangian nito:
-
Mga sukat 2.5 x 2.5 x 0.93 mm;
-
Ang metal LGA-pabahay, nilagyan ng 8 na output;
-
Ang boltahe ng supply 1.7 - 3.6V;
-
Ang pagkakaroon ng mga interface ng I2C at SPI;
-
Standby kasalukuyang pagkonsumo ng 0.1 µA.
Ang mga halimbawang ito ay mga barerter ng MEMS. Ang MEMS ay nakatayo para sa microelectromechanical. Ito ay isang mechanical microstructure na gumagamit ng mga capacitive phenomena at iba pang mga prinsipyo para sa trabaho nito. Sa ibaba makikita mo ang isang halimbawa ng tulad ng isang sensor sa konteksto.

Halimbawa ng diagram ng koneksyon:

At isang halimbawa ng programa ng programa:

Ang lohika ng programa ay simple:
1. Tumawag sa subroutine (function) na pagbabasa mula sa sensor.
2. Humiling para sa pagbabasa ng sensor ng temperatura na isinama sa barometro.
3. Naghihintay kami ng oras upang suriin ang sensor ng temperatura;
4. Basahin ang resulta ng mga sukat ng temperatura;
5. Humiling ng mga halaga ng presyon;
6. Naghihintay kami para sa oras ng pagsukat ng presyon;
7. Basahin ang halaga ng presyon;
8. Ibalik ang halaga ng presyon mula sa pag-andar.
Ang isang kagiliw-giliw na katotohanan ay mayroong apat na pagpipilian para sa pagbabasa ng mga halaga, tinukoy sila bilang isang argumento sa function ng startPressure, ang pangalawang pag-sign ay mula 0 hanggang 3, kung saan ang 0 ay isang magaspang na pagtatantya, at ang 3 ay isang eksaktong pagtatantya.
Sensor ng paggalaw
Ang pinakakaraniwang sensor ng paggalaw para sa Arduino ay HC SR501 Module ng IR Sensor. Ang isang tampok ng modyul na ito ay mayroong pagsasaayos ng distansya ng pagtugon at oras ng pagkaantala ng output signal pagkatapos ng operasyon.

Mga Tampok ng Module:
1. Paghahatid ng boltahe 4.5 - 20 V.
2. Quiescent kasalukuyang ≈ 50 μA;
3. boltahe ng output ng output (logic level): 3.3 V;
4. Pagpapatakbo ng saklaw ng temperatura - mula -15 ° C hanggang 70 ° C;
5. Mga sukat: 32 * 24 mm;
6. Patlang ng view - 110 °;
7. Pinakamataas na distansya sa pagpapatakbo - mula 3 hanggang 7 m (madaling iakma); Sa itaas ng 30 ° C, ang distansya na ito ay maaaring bumaba.
Mga diagram ng kable:

Paano makikipagtulungan sa kanya na isinasaalang-alang namin sa isang artikulo na nai-publish nang mas maaga: Mga scheme ng mga sensor ng paggalaw, ang prinsipyo ng kanilang mga diagram sa trabaho at mga kable
Sensor ng antas ng tubig
Dinisenyo upang ipahiwatig ang antas ng likido.

Mga Katangian
1. Ibigay ang boltahe 3-5V
2. Kasalukuyang pagkonsumo> 20 mA
3. Analog
4. Mga sukat ng pagsukat zone 40x16 mm
5. Pinahihintulutang kahalumigmigan 10% - 90%
Halimbawa ng code:

Ang mga halaga ng output ay mula sa 0 (sa tuyong estado) hanggang 685 (maaaring magkakaiba talaga ang depende sa kondaktibo ng tubig). Huwag kalimutan ang tungkol sa electrolysis, kapag sinusukat ang antas ng asin o matigas na tubig, mai-corrode.
Leakage sensor
Ang module ay binubuo ng dalawang bahagi - ang sensor mismo at ang comparator, ay maaaring itayo sa LM393, LM293 o LM193.

Salamat sa paghahambing, ang signal ng analog ay na-convert sa digital.
Mga diagram ng kable:

Board Pinout:
-
VCC - kapangyarihan, dapat tumugma sa kapangyarihan ng Apduino board, sa karamihan ng mga kaso ito ay 5V;
-
GND - karaniwang wire;
-
AO - signal ng analog;
-
Ang DO ay isang digital signal.
Mayroong isang pag-tune risistor sa comparator board, itinatakda nito ang pagiging sensitibo ng sensor. Maaari itong kumilos bilang isang senyas ng pag-ulan o pagtagas ng isang bagay, at kapag ipinares sa tulad ng isang crane, maaari itong gumana bilang proteksyon laban sa mga tubo na tumutulo sa apartment:

Ipinapakita ng video kung paano ito gumagana:
Huminga ng sensor
Karaniwang ginagamit sa mga awtomatikong pagtutubig na proyekto, upang matukoy ang kahalumigmigan ng lupa, pati na rin ang nakaraang isa ay binubuo ng mga electrodes at isang board na may isang comparator.

Maaari itong gumana pareho sa mga analog at digital mode. Isang halimbawa ng diagram ng koneksyon para sa isang awtomatikong sistema ng patubig na may isang kreyn batay sa isang engine:

At isang halimbawa ng code ng programa para sa pagproseso ng isang digital signal mula sa isang sensor ng halumigmig:


Konklusyon
Sinuri namin ang mga sikat na sensor, ngunit marami ding iba. Ito ay isang iba't ibang mga sensor ng panginginig ng boses, gyroscope, accelerometer, radiation sensor at iba pa.
Ang layunin ng artikulo ay upang mangolekta sa isang lugar ng iba't ibang mga elemento na maaaring maging kapaki-pakinabang sa isang nagsisimula na electronics engineer para sa pagpapatupad ng kanilang mga proyekto. Kung interesado ka sa isang partikular na sensor - sumulat sa mga komento at isasaalang-alang namin ito nang mas detalyado.
Para sa iyong kaginhawaan, naipon namin para sa iyo ang isang mesa na may tinantyang gastos at isang listahan ng mga sikat na sensor para sa Arduino, sa pagkakasunud-sunod kung saan sila ay isinasaalang-alang sa artikulo:Mga sensor para sa Arduino
Ang mga presyo ay nakuha mula sa mga online na tindahan sa Russia o Ukraine. Sa China, nagkakahalaga sila ng 2 o higit pang mga beses na mas mura.
Tingnan din sa electro-tl.tomathouse.com
: