«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-ға қосу

Код мысалы:


қосу // Servo servo1-мен жұмыс істеу үшін кітапхананы қосу; // "servo1" түріндегі серво айнымалы мәнін жариялау void setup() // процедураны орнату { servo1.attach(11); //сервоны аналогтық шығысқа байланыстыру 11 } void loop() // процедура циклі { servo1.write(0); // бұрылу бұрышын 0 кешігуіне орнату (2000); // 2 секунд күтіңіз servo1.write(90); // бұрылу бұрышын 90 delay (2000) мәніне орнату; // 2 секунд күтіңіз servo1.write(180); // бұрылу бұрышын 180 delay (2000) мәніне орнату; // 2 секунд күтіңіз }

Алдымен кодқа Arduino-да бар кітапхананы қосамыз, содан кейін сервоның қай түйреуішке қосылғанын көрсетеміз. Көріп отырғаныңыздай, сервомен жұмыс істеу өте қарапайым, басқару тек бір оператор.

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

DHT-11

DHT-11 температура мен ылғалдылықты өлшеу үшін қолданылады. Arduino үшін бұл температура сенсоры бағасы мен мүмкіндіктеріне байланысты ең танымал. Температураны 0-ден 50 градусқа дейін, ал ылғалдылықты 20-дан 80% -ға дейін өлшейді. Сондай-ақ сатылымда осы сенсордың тағы бір нұсқасы бар, DHT-22, оның өлшеу диапазоны үлкенірек, бірақ ол бірнеше есе қымбатқа түседі. Қарапайым жобалар үшін оны пайдалану ұсынылмайды, сондықтан әркім өлшеудің тамаша жұмысын орындайтын DHT-11-ге артықшылық береді. Қуатты 3,3-тен 5 В-қа дейін беруге болады. Жалпы, сенсордың өзінде 4 қосылым түйреуіштері бар, бірақ сатылымда DHT-11 модульдері бар, олармен жұмыс істеу әлдеқайда ыңғайлы, өйткені қосылым 3 түйреуіш арқылы жүзеге асырылады және резисторлардан зардап шегудің қажеті жоқ.

Қосылым. Бұл температура сенсоры Arduino-ға үш контакт арқылы қосылған: жер, қуат және логика.

dht11-ді arduino-ға қосу
dht11-ді arduino-ға қосу

Код мысалы:


қосады"DHT.h" define DHTPIN 2 // Жоғарыда айтылған бірдей PIN нөмірі DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { кешігу (2000); // 2 секундтық кідіріс қалқымалы 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 үшін осы сенсормен жұмыс істеу өте оңай, тек бірнеше операторлар қолданылады. Айтпақшы, жиі серво және 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, ТӨМЕН); } }

Сенсор қосылған контактілерді анықтаймыз, содан кейін қозғалысты тексереміз. Онымен жұмыс істеу өте ыңғайлы және оңай, бірақ жалған позитив жағдайлары бар.

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

қорытынды жасау

Жоғарыда Arduino-ға арналған негізгі сенсорлар қарастырылды, олар бірінші болып радио әуесқойлары зерттейді. Көріп отырғаныңыздай, олар өте арзан, олар оңай қосылады және деректерді оқу тек бірнеше жолды алады. Олардан басқа, импульсті өлшеуге арналған көптеген басқа сенсорлар әлі де бар! Оларды Aliexpress-те жиынтықта сатып алу тиімді, сондықтан олар одан да арзанырақ болады. Оны жасау оңай, бастысы робототехниканың үш негізгі ережесін есте сақтау!

Ұсынылған: