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

Съдържание:

Сензори "Arduino": описание, характеристики, връзка, рецензии
Сензори "Arduino": описание, характеристики, връзка, рецензии
Anonim

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

Сензори за arduino
Сензори за arduino

Къде да купя

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

Къде да купя сензори за arduino
Къде да купя сензори за arduino

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

Серво задвижването се използва при проектирането на роботи и различни интелигентни системи. С помощта на серво, можете да отваряте врати, да разберете степента на въртене и много други. Но най-вече се използва при създаването на роботи. Максимален ъгъл на завъртане на сервото: 180 градуса. Но понякога в отворените пространства на Aliexpress можете да видите и опции с 360-градусов ъгъл на завъртане. Това е доста основен елемент, почти всички уроци по Arduino със сензори започват с него. Сервото е лесно за свързване, контролният код е много прост.

За свързване на сервото се използват само три проводника: заземяване, захранване, логика. Сигналния проводник (обикновено жълт или кафяв) е свързан към всеки щифт с активиран PWM (широко импулсна модулация) на Arduino.

Свързване на серво към Arduino
Свързване на серво към Arduino

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


include // включва библиотеката за работа със Servo servo1; // деклариране на серво променлива от тип "servo1" void setup() // настройка на процедурата { servo1.attach(11); //свързване на серво към аналогов изход 11 } void loop() // цикъл на процедура { servo1.write(0); // задаване на ъгъла на завъртане на 0 delay(2000); // изчакайте 2 секунди servo1.write(90); // задаване на ъгъла на завъртане на 90 delay(2000); // изчакайте 2 секунди servo1.write(180); // задаване на ъгъла на завъртане на 180 закъснение(2000); // изчакайте 2 секунди }

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

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

DHT-11

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

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

Свързване на dht11 към arduino
Свързване на dht11 към arduino

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


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

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

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

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

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

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

Свързване на сензора за влажност на почвата към arduino
Свързване на сензора за влажност на почвата към arduino

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


int sensor_pin=A0; int изходна_стойност; void setup() { Serial.begin(9600); Serial.println("Четене на данни от сензора"); забавяне (2000); } void loop() { output_value=analogRead(sensor_pin);изходна_стойност=карта(изходна_стойност, 550, 0, 0, 100); Serial.print("Влага: "); Serial.print(изходна_стойност); Serial.println("%"); забавяне (1000); }

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

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

PIR сензор

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

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

Свързване на сензора за движение към arduino
Свързване на сензора за движение към arduino

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


define PIN_PIR 2 define PIN_LED 13 void setup() { Serial.begin(9600); pinMode(PIN_PIR, INPUT); pinMode(PIN_LED, OUTPUT); } void loop() { int pirVal=digitalRead(PIN_PIR); Serial.println(digitalRead(PIN_PIR)); //Ако се установи движение if (pirVal) { digitalWrite(PIN_LED, HIGH); Serial.println("Открито движение"); забавяне (2000); } else { //Serial.print("Без движение"); digitalWrite(PIN_LED, LOW); } }

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

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

правяне на заключения

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

Препоръчано: