Сензори "Arduin": описание, характеристики, връзка, ревюта

Платформата Arduino е една от най-добрите за проектиране на различни автоматизирани системи. Освен това, в много университети и колежи, Ардуинов се използва за запознаване на студентите в областта на роботиката. Всъщност Arduino е много лека, но в същото време мощна платформа за изграждане на различни роботи и интелигентни системи. И естествено, всичко това отнема по-малко време, продават се готови сензори. Магазините имат огромно количество от тях, така че е доста трудно да се заплете в избора на правилния. В тази статия, нека да разгледаме някои от основните сензори на Arduino и как те работят.

Къде да купя

Факт е, че сензорите в нашите магазини струват много пари. И ако ще започнете да изучавате платформата на Arduino, тогава просто трябва да знаете къде да ги закупите на ниска цена. Отговорът е прост - китайските магазини. Това може да бъде Aliexpress, Joom, Pandao и други. Почти всички магазини купуват сензори точно там и ги продават с огромен марж, който достига до 300%. Разбира се, трябва да изчакате известно време, а като продукт не можете да бъдете сигурни, но да плащате за същия сензор и три пъти повече, също не си струва. Пример: Aliexpress има набор от 36 сензора, които струват 800 рубли. Същият набор в руския магазин продават за 35 хиляди рубли. Така че решете за вас.


Серво задвижване

Серво задвижването се използва при конструиране на роботи и различни интелигентни системи. С серво задвижването можете да го отворитевратата, научете ъгъла на завъртане и много повече Но основно се използва при създаването на роботи. Максимален ъгъл на завъртане на сервомотора: 180 градуса. Но понякога в областта на Aliexpress можете да видите и варианти с 360 градусов завой. Това е доста основен елемент, почти всички уроци по Arduino с сензори започват с него. Серво е лесно да се свърже, кодът на програмата е много лесен за управление. За свързване на серво задвижването се използват само три проводника: земя, захранване, логика. Сигналният проводник (обикновено жълт или кафяв) е свързан с всеки контакт с PWM поддръжка (широкоекранна импулсна модулация) на Arduino.


Пример за код:

#include //свързва сървърите за серво действие
Серво серво1; //обявява променлива серво тип "servo1"
void setup () //процедура setup
{
servo1.attach
; //свързваме серво към аналоговия изход 11
}
void loop () //цикъл процедура
{
servo1.write

; //задайте ъгъла на завъртане на 0
закъснение (2000); //изчакваме 2 секунди
servo1.write ; //задайте ъгъла на завъртане до 90
закъснение (2000); //изчакваме 2 секунди
servo1.write (180); //задайте ъгъла на завъртане на 180
закъснение (2000); //изчакайте 2 секунди
}

Първо, добавяме към кода библиотеката, която вече съществува в Arduino, след това посочваме към кой контакт е свързан серво. Както виждате, работата със серво е много проста, управлението е само един оператор.

Цена за Aliexpress: 80-100 рубли.

DHT-11

DHT-11 служи за измерване на температура и влажност. Този температурен сензор за Ardouins е най-популярниятпоради своята цена и възможности. Измерва температурата в диапазона от 0 до 50 градуса и влажност от 20 до 80%. Има и различна версия на този сензор, който се продава, а диапазонът от измервания на DHT-22 има повече, но струва няколко пъти по-скъпо. За прости проекти използването му не е целесъобразно, затова всеки предпочита DHT-11, който перфектно се справя с измерванията. Мощността може да се захранва от 3.3 до 5V. Като цяло, самият сензор има 4 свързващи контакта, но в продажба DHT-11 модулите работят с тях много по-удобно, тъй като свързването през 3 контакта и не трябва да страдат от резистори.


& lt; script type = "text /javascript" & gt;
може да blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async:! 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
Функция (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (функция () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("скрипт") , d = b.createElement ("скрипт"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (това, този.документ," yandexContextAsyncCallbacks ");

Връзка. Този температурен датчик е свързан към "Arduino" посредством три контакта: земя, мощност и логика.

Пример за код:

# включва "DHT.h"
#define DHTPIN 2 //Същият номер на пяната, споменат по-горе
DHT dht (DHTPIN, DHT11);
void setup () {
Serial.begin (9600);
dht.negin ();
}
закъснение с невалидна линия () {
(2000); //2 секунди закъснение
float h = dht.readHumidity (); //Измерваме влажността
float t = dht.readTemperature (); //Измерете температурата
, ако (isnan (h) || isnan (t)) {//Проверете. Ако сертификатът не може да бъде разгледан, се появява "Read Error" и програмата се изключва
Serial.println ("Read Error");
връщане;
}
Serial.print ("Влажност:");
Serial.print (h);
Serial.print ("% t");
Serial.print ("Температура:");
Serial.print (t);
Сериен печат ("C"); //Извеждане на индикатори на екрана
}

В началото, както при серво задвижването, библиотеката е свързана. Между другото, за библиотеката. Първо, в него няма Arduino, тази библиотека трябва да бъде изтеглена. Има няколко версии на тази библиотека, в нашия пример използваме стандартната. Бъдете внимателни при изтеглянето, тъй като синтаксисът може да е различен и кодът няма да работи. След това се пише и кой контакт е свързан със сензора и неговата версия (DHT11 или DHT22). Както и при серво задвижването, с този сензор е много лесно да се работи с Arduin, но са необходими само няколко оператора. Между другото, най-често серво задвижването и dht11 работят заедно, например при създаването на автоматични прозорци, които ще се отварят, когато в стаята или в оранжерията е твърде горещо.


& lt; script type = "text /javascript" & gt;
може да blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async:! 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings3.statId = 70350;
Функция (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (функция () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("скрипт") , d = b.createElement ("скрипт"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (това, този.документ," yandexContextAsyncCallbacks ");

Цена за Aliexpress: 80-100 рубли.

Сензор за влажност на почвата

Този сензор се използва при проектирането на автоматично поливане. Тя ви позволява да измерите съдържанието на влага в почвата, след това да обработите тези данни и ако е необходимо да засадите растението. Има много варианти на този сензор за "Ардуинов", но той е популяренмодел FC-28. Доста бюджетен вариант, така че всеки го обича и използва в своите проекти. Сензорът има две сонди, които пренасят електричество през земята. При суха почва, съпротивлението е по-голямо, а когато е мокро - по-малко. По принцип, този сензор се използва само в малки проекти, поради факта, че сондите са изработени от лош материал и рано или късно при излагане са покрити с корозия, след което сензорът спира да работи. Продължителността на обслужването на датчика може да бъде увеличена, ако тя се активира само когато данните се отстраняват от почвата, например, на всеки 6 часа. Някои майстори напълно променят сондите за по-качествени, направени от собствените си ръце, и дори от нула събират сензор за влажност за "Ардуино".

& lt; скрипт async = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">

& lt; script & gt; (adsbygoogle = window.adsbygoogle || []). push ({});

Сензорът за влажността на почвата е свързан достатъчно просто. Обикновено с него се включва потенциометър и компаратор за контрол на чувствителността на сензора. Общо той има три контакта: логика, храна и земя. Могат да се свързват както цифрови, така и аналогови контакти. Между другото, работата в аналогов режим е по-удобна.

Пример за код:

int sensor_pin = A0;
int output_value;

void setup () {
Сериен. Започва (9600);
Serial.println ("Прочетете данните от сензора");
закъснение (2000);
}

void loop () {
output_value = analogRead (sensor_pin);
output_value = map (output_value, 55000100);
Serial.print ("Влажност:");
Serial.print (стойност на изхода);
Serial.println ("%");
закъснение (1000);
}

Най-напред определяме контактите, към които е свързан сензора към „Arduino“. След това четем данните оти ги изведете. Подобно на други сензори, е лесно да се работи с FC-28. И всичко това благодарение на готовите библиотеки и сензори.

Цена за Aliexpress: 30-50 рубли.

BENKET сензор

Този датчик за движение за "Arduin" се използва при проектирането на различни системи за сигурност. Открива елементи, движещи се от 0 до 7 метра. Ние няма да разгледаме принципа на работа, да пристъпим незабавно да свържем този сензор към „Arduino“.


& lt; script type = "text /javascript" & gt;
може да blockSettings = {blockId: "R-A-70350-45", renderTo: "yandex_rtb_R-A-70350-45", async:! 0};
ако (document.cookie.indexOf ("abmatch =")> = 0) blockSettings.statId = 70350;
Функция (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (функция () {Ya.Context.AdvManager.render (blockSettings}), e = b.getElementsByTagName ("скрипт") , d = b.createElement ("скрипт"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (това, този.документ," yandexContextAsyncCallbacks ");

Съдейки по прегледите, той също се свързва с три контакта: логика, храна и земя. Той работи чрез цифрови изходи.

Пример за код:

#define PIN_PIR 2
#define PIN_LED 13

void setup () {
Сериен ; започва (9600);

pinMode (PIN_PIR, INPUT);
pinMode (PIN_LED, OUTPUT);

}

void loop () {
int pirVal = digitalRead (PIN_PIR);
Сериен печат (digitalRead (PIN_PIR));

//Ако се открие движение
, ако (pirVal)
{
digitalWrite (PIN_LED, HIGH);
Serial.println (Открито е движение);
закъснение (2000);
}
else
{
//Serial.print ("Без движение");
digitalWrite (PIN_LED, LOW);
}
}


Определете контактите, към които е свързан сензорът, след което проверяваме наличието на движение. Работата с нея е много удобна и лесна, но има случаи на фалшиви положителни резултати. Цена за Aliexpress: 30-50 рубли.

Ние правимЗаключения

Основните сензори за "Ардуините" бяха разгледани по-горе, които са първите, които се изучават от начинаещите радиолюбители. Както виждате, те са доста евтини, лесно се свързват и четат данни и изобщо отнемат само няколко реда. Освен тях, все още има огромен брой други сензори, дори и за пулсово измерване! Най-добре е да ги купувате на комплекти Aliexpress, така че ще струват още по-малко. Лесно е да се създаде, най-важното - да си спомня трите основни правила на роботиката!

Свързани публикации