Сенсорлор "Arduino": сүрөттөлүшү, мүнөздөмөлөрү, байланыш, сын-пикирлер

Мазмуну:

Сенсорлор "Arduino": сүрөттөлүшү, мүнөздөмөлөрү, байланыш, сын-пикирлер
Сенсорлор "Arduino": сүрөттөлүшү, мүнөздөмөлөрү, байланыш, сын-пикирлер
Anonim

Arduino платформасы ар кандай автоматташтырылган системаларды куруу үчүн эң мыктылардын бири. Мындан тышкары, көптөгөн университеттер жана колледждер студенттерди робототехника тармагына киргизүү үчүн Arduino колдонушат. Чынында эле, Arduino абдан жеңил, бирок ошол эле учурда ар кандай роботторду жана акылдуу системаларды куруу үчүн күчтүү платформа. Анан, албетте, баары аз убакыт талап кылынышы үчүн, даяр сенсорлор сатылат. Дүкөндөрдө алардын көп саны бар, ошондуктан туурасын тандоодо баш аламандыкка туш болуу абдан кыйын. Бул макалада биз негизги Arduino сенсорлорунун айрымдарын жана алардын кантип иштешин карап чыгабыз.

Arduino үчүн сенсорлор
Arduino үчүн сенсорлор

Кайдан сатып алса болот

Чыныгы биздин дүкөндөрдө сенсорлор көп акча турат. Жана эгер сиз Arduino платформасын изилдей баштай турган болсоңуз, анда сиз аларды кайдан арзан баада сатып аларыңызды билишиңиз керек. Жооп жөнөкөй - кытай дүкөндөрү. Бул болушу мүмкүнAliexpress, Joom, Pandao жана башкалар. Дээрлик бардык дүкөндөр ал жерде сенсорлорду сатып алып, аларды чоң маржа менен сатышат, бул 300% га чейин жетет. Албетте, сиз бир нече убакыт күтүүгө туура келет, жана сиз товардын сапатына ишене албайсыз, бирок бир эле сенсор үчүн үч эсе көп төлөө да арзырлык эмес. Мисал: Aliexpress 800 рублга турат 36 сенсорлор топтому бар. Ушул эле комплект орусиялык дүкөндө 3,5 миң рублга сатылат. Демек, бул сизден көз каранды.

Arduino үчүн сенсорлорду кайдан сатып алууга болот
Arduino үчүн сенсорлорду кайдан сатып алууга болот

Серво диск

Серво диск роботторду жана ар кандай акылдуу системаларды долбоорлоодо колдонулат. Сервонун жардамы менен сиз эшиктерди ачып, айлануу даражасын жана башка көптөгөн нерселерди биле аласыз. Бирок көбүнчө роботторду жасоодо колдонулат. Сервонун максималдуу айлануу бурчу: 180 градус. Бирок кээде Aliexpress'тин ачык мейкиндигинде сиз 360 градуска айлануу бурчу менен опцияларды көрө аласыз. Бул кыйла негизги элемент, сенсорлор менен Arduino боюнча дээрлик бардык сабактар андан башталат. Серво туташтыруу оңой, башкаруу коду абдан жөнөкөй.

Сервону туташтыруу үчүн үч гана зым колдонулат: жер, кубат, логика. Сигнал зымы (көбүнчө сары же күрөң) Arduino'догу каалаган PWM (импульстун кең модуляциясы) иштетилген пинге туташтырылган.

Servo Arduino менен туташтыруу
Servo Arduino менен туташтыруу

Код мисалы:


include // Servo servo1 менен иштөө үчүн китепкананы кошуу; // "servo1" түрүндөгү servo өзгөрмөсүн жарыялоо void setup() // процедураны орнотуу { servo1.attach(11); //servoну аналогдук чыгарууга байланыштыруу 11 } void loop() // процедура цикли { servo1.write(0); // айлануу бурчун 0ге коюу delay(2000); // 2 секунд күтө тур servo1.write(90); // айлануу бурчун 90 кечиктирүүгө коюу (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() {delay(2000); // 2 секунд кечигүү float h=dht.readHumidity(); //Нымдуулукту өлчөө t=dht.readTemperature(); //Температураны өлчөө if (isnan(h) || isnan(t)) { // Текшерүү. Окуу ишке ашпай калса, "Окуу ишке ашкан жок" басып чыгарылат жана программа Serial.println("Окуу ишке ашкан жок"); кайтаруу; } Serial.print("Нымдуулук:"); Сериялык басып чыгаруу(h); Serial.print("%\t"); Serial.print("Температура: "); сериялык басып чыгаруу(t); Serial.println("C"); //Экранда көрсөткүчтөрдү көрсөтүү }

Башында, серво менен иштегендей, китепкана туташып турат. Баса, китепкана жөнүндө. Башында, ал Arduino пакетинде эмес, бул китепкананы жүктөп алуу керек. Бул китепкананын бир нече версиялары бар, биздин мисалда эң стандарттуусу колдонулат. Жүктөөдө этият болуңуз, анткени синтаксис башкача болушу мүмкүн жана код иштебейт. Андан тышкары, сенсор кайсы контактка туташтырылганы жана анын версиясы (DHT11 же DHT22) жазылган. Серводогудай эле, Arduino үчүн бул сенсор менен иштөө бир нече операторду колдонуу менен абдан оңой. Айтмакчы, көбүнчө servo жана dht11 чогуу иштешет, мисалы, бөлмө же күнөскана өтө ысык болсо ачыла турган автоматтык терезелерди түзүүдө.

Aliexpressтеги баасы: 80–100 рубль.

Топурактын ным сенсору

Бул сенсор качан колдонулатавтоматтык сугарууну долбоорлоо. Анын жардамы менен, топурактын нымдуулугун өлчөө, андан кийин бул маалыматтарды иштеп чыгуу жана зарыл болсо, өсүмдүктү сугарууга болот. Ардуино үчүн бул сенсордун көптөгөн варианттары бар, бирок FC-28 модели популярдуу. Абдан бюджеттик вариант, ошондуктан ар бир адам аны жакшы көрөт жана өз долбоорлорунда колдонот. Сенсордо электр тогун жер аркылуу өткөрүүчү эки зонд бар. Кургак топурак менен каршылык чоң, нымдуу топурак менен азыраак болот. Негизинен, бул сенсор кичинекей долбоорлордо гана колдонулат, бул зонддор начар материалдан жасалгандыктан жана эртеби-кечпи, активдүү иштөө учурунда алар коррозияга учурап, андан кийин сенсор иштебей калат. Сенсордун иштөө мөөнөтүн, мисалы, 6 саатта бир жолу жерден маалыматтарды алууда гана аны активдештирүү менен көбөйтүүгө болот. Кээ бир усталар өздөрү жасаган зонддорду жакшыраактарына алмаштырышат, атүгүл нөлдөн баштап Arduino үчүн нымдуулук сенсорун чогултушат.

Топурактагы нымдуулук сенсорун туташтыруу абдан жөнөкөй. Адатта, ал сенсордун сезгичтигин көзөмөлдөө үчүн потенциометр жана компаратор менен келет. Бардыгы болуп үч байланыш бар: логика, күч жана жер. Аны санариптик жана аналогдук байланыштарга туташтырууга болот. Айтмакчы, аналогдук режимде иштөө ыңгайлуу.

Ардуиного топурактагы нымдуулук сенсорун туташтыруу
Ардуиного топурактагы нымдуулук сенсорун туташтыруу

Код мисалы:


int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Сенсордон маалыматтарды окуу"); delay(2000); } void loop() { output_value=analogRead(sensor_pin);output_value=карта(чыгарма_маани, 550, 0, 0, 100); Serial.print("Нымдуулук: "); Serial.print(чыгаруу_маани); Serial.println("%"); delay(1000); }

Биринчиден, сенсор Arduino менен туташтырылган контакттарды аныктайбыз. Андан кийин биз андагы маалыматтарды окуп, аны көрсөтөбүз. Башка сенсорлор сыяктуу эле, FC-28 менен иштөө оңой. Жана бардыгы даяр китепканалардын жана сенсорлордун аркасында.

Aliexpressтеги баасы: 30–50 рубль.

PIR сенсор

Ардуино үчүн бул кыймыл сенсору ар кандай коопсуздук системаларын курууда колдонулат. 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("Кыймыл аныкталды"); delay(2000); } else { //Serial.print("Кыймыл жок"); digitalWrite(PIN_LED, LOW); } }

Сенсор туташкан контакттарды аныктайбыз, андан кийин кыймылды текшеребиз. Аны менен иштөө абдан ыңгайлуу жана оңой, бирок жалган позитивдердин учурлары бар.

БаасыAliexpress: 30-50 руб.

тыянак чыгаруу

Жогоруда, Arduino үчүн негизги сенсорлор каралды, алар биринчилерден болуп радио ышкыбоздору үйрөнүшөт. Көрүнүп тургандай, алар абдан арзан, алар оңой туташат жана маалыматтарды окуу бир нече сапты гана алат. Алардан тышкары, дагы эле көптөгөн башка сенсорлор бар, атүгүл импульсту өлчөө үчүн! Аларды Aliexpressтен топтомдор менен сатып алуу эң пайдалуу, ошондуктан алар дагы арзаныраак болот. Аны түзүү оңой, эң негизгиси робототехниканын үч негизги эрежесин эстеп калуу!

Сунушталууда: