Kategorie: Obvody mikrokontrolérů
Počet zobrazení: 32016
Komentáře k článku: 0

Nejoblíbenější senzory pro Arduino

 

Senzory se používají v celé řadě obvodů a projektů. Bez nich se automatizace neobejde. Zajímáme se o ně, protože byl vytvořen projekt pro zjednodušení návrhu a popularizace elektroniky Arduino. Jedná se o hotovou desku s mikrokontrolérem a vše, co s ní musíte pracovat a programovat. V tomto článku budeme zvažovat senzory pro Arduino, ale mohou být také použity s jinými mikrokontroléry.

Nejoblíbenější senzory pro Arduino

Jaké jsou senzory?

Senzory jsou oči, uši a další smysly mikrokontrolér nebo jiné ovládací zařízení. Rozlišují se podle povahy signálu a podle účelu.

Podle povahy signálu se dělí na:

  • Analogové;

  • Digitální

A za tímto účelem jsou senzory určeny k měření:

  • Teplota;

  • Tlak;

  • Vlhkost

  • Kyselina;

  • Osvětlení

  • Hladina vody nebo jiné látky;

  • Vibrace

  • A další specializované komponenty.

Pokud mluvíme o Arduinu, zpracováme při příjmu informací ze senzorů digitální signál nebo změříme napětí z analogového výstupu modulu. Jak již bylo zmíněno, senzory jsou digitální a analogové. Některé moduly pro Arduino mají digitální i analogový výstup, který je sjednocuje.

Podle zařízení jsou

  • Odolný

  • Induktivní

  • Kapacitní;

  • Piezoelektrický;

  • Fotobuňky a jiné typy.



Světlo nebo světelný senzor

Nejjednodušší způsob, jak určit jas něčeho - použijte fotorezistor, fotodiodu nebo fototranzistor. Můžete spojit jednu z uvedených možností s Arduino nebo si koupit speciální desku - světelný senzor.

Světelný senzor

Jaké jsou výhody řešení na klíč? Za prvé, k detekci změn v osvětlení jediného fotobuňky nestačí, potřebujete také pravidelný nebo ladicí odpor, možná komparátor, pro postupné ano / ne operace. Za druhé, tovární deska s plošnými spoji bude spolehlivější než výklopná montáž nebo paketová deska nebo jiné způsoby, které amatéři používají.

Světelný senzor

Na aliexpress nebo v jiných on-line obchodech lze najít na vyžádání „FOTOSENSITIVNÍ SNÍMAČ“ nebo jednoduše „světelný senzor“.

Tento modul má tři výstupy:

  • Výživa;

  • Země

  • Digitální výstup z komparátoru.

Nebo čtyřpólová verze:

  • Výživa;

  • Země

  • Digitální výstup z komparátoru;

  • Analogové

Takže na desce umístěné ladicí rezistor pro úpravu načasování komparátoru může produkovat digitální signál.

Příklady použití:

  • Světelný senzor pro foto relé;

  • Alarm (spárován s emitorem);

  • Počítadlo předmětů, které procházejí světelným paprskem atd.

Je obtížné dosáhnout přesných hodnot, protože pro správné nastavení pomocí osvětlení bude zapotřebí správný měřič světla. Fotorezistory jsou vhodnější pro stanovení abstraktních hodnot, jako je „temnota nebo světlo“.

Kromě takové desky na prodej, můžete najít docela zajímavé Modul GY-302. Jedná se o světelný senzor založený na integrovaném obvodu BH-1750. Jeho funkcí je, že se jedná o digitální modul, má kapacitu 16 bitů, komunikuje s mikrokontroléry prostřednictvím sběrnice i2c. 16 bitů vám umožní měřit osvětlení od 1 do 65356 Lux (Lx).

Senzor okolního světla založený na integrovaném obvodu BH-1750

Níže je schéma jeho propojení. Můžete si všimnout, že SDA a SCL připojen k analogovým pinům mikrokontroléru.

Schéma připojení světelného senzoru

Důvodem je skutečnost, že sběrnice I2C je implementována na těchto arduino pinech, což lze vidět na následujícím obrázku. Nenechte se tím oklamat, senzor je digitální.

Schéma modulu GY-302

Výhodou digitálních senzorů je, že nemusíte kontrolovat hodnoty jednotlivých instancí, kompilovat tabulky k převádění naměřených hodnot do skutečných měřítek atd.Pro digitální senzory ve většině případů stačí připojit hotovou knihovnu a přečíst hodnoty převedené na skutečné jednotky.

Příklad náčrtu pro GY-302 (BH-1750):

Příklad náčrtu pro GY-302

Jak skica funguje?

Na začátku řekneme programu, že musíme propojit knihovnu Wire.h, která je zodpovědná za komunikaci přes linku I2C, a BH1750. Zbytek akcí je v komentářích dobře popsán a výsledkem je, že každých 100 ms čteme hodnotu ze senzoru v Luxu.

Vlastnosti GY-302 BH1750:

  • Komunikace mikrokontroléru I2C

  • Spektrální odpověď podobná citlivosti očí

  • Chyby způsobené infračerveným zářením jsou minimalizovány

  • Měřící rozsah 0-65535 Lux

  • Napájecí napětí: 3-5 V

  • Nízká spotřeba proudu a funkce spánku

  • Filtrování světelného šumu 50/60 Hz

  • Maximální počet senzorů na 1 sběrnici I2C jsou 2 kusy.

  • Není nutná kalibrace

  • Aktuální spotřeba - 120 μA

  • V režimu spánku - 0,01 μA

  • Měřená vlnová délka - 560 nm

  • V režimu vysokého rozlišení - 1 Lux

  • V režimu s nízkým rozlišením - 4 Lux

  • ADC - 16 bitů

Čas potřebný k měření:

  • V režimu vysokého rozlišení - 120 ms

  • V režimu s nízkým rozlišením - 16 ms


Senzor překážky

Tento senzor jsem vybral jako další, který je třeba zvážit, protože jedna z jeho možností pracuje na základě fotodiody nebo fototranzistoru, které jsou v zásadě podobné fotorezistoru diskutovanému v předchozí části.

Senzor překážky

Jmenuje se „optický překážkový senzor“. Hlavním funkčním prvkem je vyzařování a přijímání fotodiody a LED v infračerveném spektru (proto není pro lidské oko viditelné, stejně jako sestava prahu sestavená například na komparátoru s regulátorem citlivosti. Jeho pomocí je vzdálenost, při které je senzor spuštěn, upravena způsobem, jakým je digitální.

Příklad schématu připojení:

Příklad připojení

Příklad programu zpracování signálu ze senzoru.

Příklad programu zpracování signálu ze senzoru

Pokud je výstup ze senzoru „1“, což znamená „je zde překážka“, rozsvítí se LED na desce Arduino nebo připojená k 13. kolíku (stejná věc). Nejčastěji se používá v robotice a alarmech.

Pomocí senzorů

Senzor vzdálenosti

Předchozí kopie se skládá z přijímače, - fotodiody a emitoru, - LED. Ultrazvukový senzor vzdálenosti sestává také z přijímače a emitoru ultrazvukových vln. Jmenuje se HC SR04.

Senzor vzdálenosti

Vlastnosti HC SR04:

  • Napájecí napětí 5V

  • Provozní parametr síly t oka - 15 mA

  • Pasivní proud <2 mA

  • Úhel pohledu - 15 °

  • Rozlišení dotyku - 0,3 cm

  • Úhel měření - 30 °

  • Šířka pulsu - 10-6 s

  • Rozsah měření: 2-400 cm.

Tato chyba se objeví kvůli:

  • teplota a vlhkost - lze snížit například změřením teploty pomocí DHT-11 nebo DHT-22 a zadáním koeficientů pro korekci měření.

  • vzdálenost k objektu;

  • umístění objektu vzhledem ke senzoru (podle vyzařovacího diagramu) lze vyrovnat instalací HC SR04 na servopohon pro změnu směru a provedení přesného nastavení.

  • kvalita provedení prvků modulu senzoru.

Radiační vzor:

Radiační vzor

Deska má čtyři výstupy:

  • VCC - síla;

  • Trig - vstupní signál;

  • Echo - výstupní signál;

  • GND je běžný drát.

Vedení senzoru HC SR04

Jak zpracovávat hodnoty?

1. Odesíláme pulz v trvání 10 μs na vstup TRIG;

2. Uvnitř modulu je puls přeměněn na balíček 8 pulzů, které za sebou sledují frekvenci 40 kHz a jsou odesílány přes emitor;

3. Impulzy odražené od překážky dorazí k přijímači a jsou odeslány do ECHO;

4. Doba trvání pulsu přijatého z výstupu ECHO by měla být vydělena 58,2 pro získání vzdálenosti v centimetrech a 148, pokud potřebujete převést na palce.

Příklad kódu:

Ukázkový kód

Změřte teplotu

Nejjednodušší způsob měření teploty pomocí mikrokontroléru je použijte termočlánek nebo termistor. Termočlánky se používají k měření vysokých teplot, k měření vnitřních a venkovních - ten, o kterém budu mluvit o trochu níže, udělá, ale prozatím se podívejme na termočlánek.

Teplotní senzor

Každý typ termočlánku má svůj vlastní přístup k práci s mikrokontrolérem. Například existuje termočlánek typu K, nebo jak se také nazývá - chromel-alumel, s rozsahem měřených teplot od -200 do + 1400 stupňů Celsia s citlivostí 41 mV / stupňů Celsia. A pro ni existuje speciální převodník založený na max6675 IC, má funkci pro kompenzaci teploty studeného uzlu a tak dále.

Modul pro měření teploty

S tímto modulem můžete pracovat pomocí knihovny se stejným názvem pro Arduino. Na obrázku níže vidíte příklad programového kódu pro tento případ.

Ukázkový kód

Poté se na monitoru sériového portu zobrazí následující.

Monitor sériového portu

Existuje však také digitální teplotní senzor DS12B20, lze ji nazvat klasickou, protože se používá již mnoho let v amatérských projektech a dlouho před objevením Arduina.

Digitální teplotní senzor DS12B20

Tento digitální integrovaný obvod a jeho vnitřní zařízení je zobrazen na obrázku níže:

Vnitřní mikroobvod zařízení

Schéma zapojení desky:

Schéma připojení desky

Klíčové vlastnosti a informace DS18b20:

  • Chyba je menší než 0,5 ° C (v teplotním rozmezí od -10 ° C do + 85 ° C).

  • Není nutná kalibrace

  • Rozsah měření - od -55 С do + 125С

  • VCC, napájecí napětí 3,3-5V.

  • rozlišení až 0,0625С, nastaveno softwarem;

  • Rozlišení - 12 bitů

  • Každá instance má přiřazen jedinečný sériový kód. To je nezbytné pro snadné použití několika kusů v jednom projektu

  • Komunikační rozhraní - 1-Wire

  • Není vyžadováno žádné vázání

  • Maximální počet senzorů na jedné lince je 127 kusů.

  • Rušivý režim napájení - v tomto případě je senzor napájen přímo z komunikační linky. Současně není zaručeno měření teploty vyšší než 100 ° C

Níže vidíte graf převodu binárního kódu z DS18b20 na teplotu ve stupních Celsia.

Převodní tabulka pro binární kód z DS18b20 na teplotu ve stupních Celsia

Příklad programu pro čtení hodnot teploty.

Příklad programu pro čtení hodnot teploty

Senzory atmosférického tlaku

Elektronické barometry jsou sestaveny na základě senzorů atmosférického tlaku. Byly široce používány následující možnosti:

  • BMP180;

  • BMP280;

  • BME280.

Senzory atmosférického tlaku

Pokud byly předchozí dva případy navzájem podobné, pak Senzor BME280 - Toto je miniaturní meteorologická stanice. Jsou v něm zabudovány 3 senzory:

  • Teplota;

  • Tlak;

  • Vlhkost.

Jeho technické vlastnosti:

  • Rozměry 2,5 x 2,5 x 0,93 mm;

  • Kovové pouzdro LGA, vybavené 8 výstupy;

  • Napájecí napětí 1,7 - 3,6 V;

  • Dostupnost rozhraní I2C a SPI;

  • Spotřeba pohotovostního proudu 0,1 µA.

Jedná se například o MEMS barometry. MEMS znamená mikroelektromechanický. Jedná se o mechanickou mikrostrukturu, která při své práci využívá kapacitních jevů a dalších principů. Níže vidíte příklad takového senzoru v kontextu.

Příklad senzoru

Příklad schématu připojení:

Příklad připojení

A příklad programového kódu:

Ukázkový kód

Logika programu je jednoduchá:

1. Vyvolejte čtení podprogramu (funkce) ze senzoru.

2. Žádost o odečty teplotního senzoru integrovaného v barometru.

3. Čekáme na čas na vyhodnocení teplotního senzoru;

4. Přečtěte si výsledek měření teploty;

5. Požadujte hodnoty tlaku;

6. Čekáme na dobu měření tlaku;

7. Odečtěte hodnotu tlaku;

8. Vraťte hodnotu tlaku z funkce.

Zajímavým faktem je, že existují čtyři možnosti pro čtení hodnot, jsou zadány jako argument ve funkci startPressure, druhé znaménko je od 0 do 3, kde 0 je hrubý odhad a 3 je přesný odhad.


Pohybový senzor

Nejběžnějším pohybovým senzorem pro Arduino je HC senzorový modul HC SR501. Charakteristickým rysem tohoto modulu je to, že po operaci má nastavení vzdálenosti odezvy a doby zpoždění výstupního signálu.

Pohybový senzor

Vlastnosti modulu:

1. Napájecí napětí 4,5 - 20 V.

2. klidový proud ≈ 50 μA;

3. Napětí výstupního signálu (logická úroveň): 3,3 V;

4. Rozsah provozních teplot - od -15 ° C do 70 ° C;

5. Rozměry: 32 x 24 mm;

6. zorné pole - 110 °;

7. Maximální provozní vzdálenost - od 3 do 7 m (nastavitelná); Při teplotě nad 30 ° C se tato vzdálenost může zmenšit.

Schéma zapojení:

Schéma připojení snímače pohybu

Jak s ním spolupracovat jsme uvažovali v článku publikovaném dříve: Schémata pohybových senzorů, princip jejich práce a schémata zapojení


Senzor hladiny vody

Navrženo k označení hladiny kapaliny.

Senzor hladiny vody

Vlastnosti

1. Napájecí napětí 3-5V

2. Spotřeba proudu> 20 mA

3. Analog

4. Rozměry měřicí zóny 40x16 mm

5. Přípustná vlhkost 10% - 90%

Příklad kódu:

Ukázkový kód

Výstupní hodnoty jsou od 0 (v suchém stavu) do 685 (ve skutečnosti se může lišit v závislosti na vodivosti vody). Nezapomeňte na elektrolýzu, při měření hladiny soli nebo tvrdé vody dojde ke korozi.


Senzor netěsnosti

Modul se skládá ze dvou částí - samotného senzoru a komparátoru, může být postaven na LM393, LM293 nebo LM193.

Senzor netěsnosti

Díky komparátoru je analogový signál převeden na digitální.

Schéma zapojení:

Schéma zapojení senzoru netěsnosti

Board Pinout:

  • VCC - výkon, musí odpovídat výkonu desky Apduino, ve většině případů je to 5V;

  • GND - běžný drát;

  • AO - analogový signál;

  • DO je digitální signál.

Na desce komparátoru je ladicí rezistor, který nastavuje citlivost senzoru. Může fungovat jako signál deště nebo netěsnosti, a když je spárován s takovým jeřábem, může fungovat jako ochrana proti úniku z potrubí v bytě:

Ochranný vodovodní kohoutek

Video ukazuje, jak to funguje:


Senzor vlhkosti

Běžně používané v projektech automatického zavlažování, pro stanovení vlhkosti půdy, stejně jako předchozí, se skládá z elektrod a desky s komparátorem.

Senzor vlhkosti

Může pracovat v analogovém i digitálním režimu. Příklad schématu zapojení automatického zavlažovacího systému s jeřábem založeným na motoru:

Schéma připojení čidla vlhkosti k Arduino

A příklad programového kódu pro zpracování digitálního signálu ze senzoru vlhkosti:

Ukázkový programový kód pro zpracování digitálního signálu ze senzoru vlhkosti
Digitální snímač teploty a vlhkosti AM2302

Závěr

Prozkoumali jsme populární senzory, ale existuje i mnoho dalších. Jedná se o různé vibrační senzory, gyroskopy, akcelerometry, radiační senzory a další.

Účelem článku bylo shromáždit na jednom místě řadu prvků, které mohou být užitečné pro začínajícího inženýra elektroniky pro realizaci jejich projektů. Máte-li zájem o konkrétní senzor, napište do komentářů a my se o tom budeme podrobněji zabývat.

Pro vaše pohodlí jsme pro vás sestavili tabulku s odhadovanými náklady a seznam populárních senzorů pro Arduino v pořadí, v jakém byly v článku zváženy:Senzory pro Arduino

Ceny jsou převzaty z internetových obchodů v Rusku nebo na Ukrajině. V Číně to stojí 2 nebo vícekrát levnější.

Viz také na i.electricianexp.com:

  • Měření teploty a vlhkosti na Arduino - výběr metod
  • Připojení analogových senzorů k Arduino, čtení senzorů
  • Jaký je rozdíl mezi analogovými a digitálními senzory?
  • Jak je čidlo linky uspořádáno a jak funguje
  • Schémata pohybových senzorů a princip jejich práce, schémata zapojení

  •