- Използвани компоненти
- Ултразвуков сензорен модул
- Схема и обяснение на ултразвуков сензор Arduino
- Код за ултразвуков сензор Arduino за измерване на разстояние
Ултразвуковите сензори са чудесни инструменти за измерване на разстояние и откриване на обекти без никакъв действителен контакт с физическия свят. Използва се в няколко приложения, като например за измерване на нивото на течността, проверка на близостта и още по-популярно в автомобилите, за да подпомогне системите за самостоятелно паркиране или срещу сблъсък. Преди това ние също така изградихме много проекти за ултразвуков сензор, като детектиране на нивото на водата, ултразвуков радар и др. Това е ефективен начин за точно измерване на малки разстояния. В този проект използвахме ултразвуковия сензор HC-SR04 с Arduino за определяне на разстоянието на препятствие от сензора. Основният принцип на ултразвуковото измерване на разстоянието се основава на ECHO. Когато звуковите вълни се предават в околната среда, вълните се връщат обратно към изхода като ECHO след удряне по препятствието. Така че трябва само да изчислим времето за пътуване и на двата звука означава изходящо време и време за връщане към изхода след удара по препятствието. Тъй като скоростта на звука ни е известна, след известно изчисление можем да изчислим разстоянието. Ще използваме същата техника за този проект за измерване на разстоянието на Arduino, така че нека да започнем.
Използвани компоненти
- Arduino Uno или Pro Mini
- Ултразвуков сензорен модул
- 16x2 LCD
- Мащаб
- Дъска за хляб
- 9 волта батерия
- Свързващи проводници
Ултразвуков сензорен модул
Има много видове Arduino датчици за разстояние, но в този проект ние използвахме HC-SR04 за измерване на разстоянието в диапазон от 2cm-400cm с точност до 3mm. Сензорният модул се състои от ултразвуков предавател, приемник и контролна верига. Принципът на работа на ултразвуковия сензор е както следва:
- Сигнал от високо ниво се изпраща за 10us с помощта на Trigger.
- Модулът изпраща осем 40 KHz сигнала автоматично и след това разпознава дали импулсът е получен или не.
- Ако сигналът е получен, той е през високо ниво. Времето с голяма продължителност е времевата разлика между изпращането и приемането на сигнала.
Разстояние = (Време x Скорост на звука във въздуха (340 m / s)) / 2
Диаграма на времето
Модулът работи върху природния феномен на ECHO на звука. Изпраща се импулс за около 10us, за да задейства модула. След което модулът автоматично изпраща 8 цикъла от 40 KHz ултразвуков сигнал и проверява ехото му. Сигналът след удар с препятствие се връща обратно и се улавя от приемника. По този начин разстоянието на препятствието от сензора просто се изчислява по формулата, дадена като
Разстояние = (време х скорост) / 2.
Тук сме разделили произведението на скоростта и времето на 2, защото времето е общото време, необходимо за достигане на препятствието и връщане обратно. По този начин времето за достигане на препятствие е само половината от общото време.
Схема и обяснение на ултразвуков сензор Arduino
Схемата на ардуино и ултразвуков сензор е показана по-горе за измерване на разстоянието. Във верижни връзки щифтовете на спусъка и ехото на ултразвуковия сензор са директно свързани към щифтове 18 (A4) и 19 (A5) на arduino. LCD 16x2 е свързан с arduino в 4-битов режим. Контролният пин RS, RW и En са директно свързани към arduino пин 2, GND и 3. А пинът за данни D4-D7 е свързан към 4, 5, 6 и 7 на arduino.
На първо място трябва да задействаме ултразвуковия сензорен модул за предаване на сигнал чрез arduino и след това да изчакаме получаването на ECHO. Arduino отчита времето между задействането и получената ECHO. Знаем, че скоростта на звука е около 340 м / сек. така че можем да изчислим разстоянието с помощта на дадената формула:
Разстояние = (време за пътуване / 2) * скорост на звука
Където скоростта на звука е около 340 м в секунда.
16x2 LCD се използва за показване на разстояние.
Открийте повече за работата на проекта за измерване на разстояние в този урок: Измерване на разстояние с помощта на ултразвуков сензор и AVR микроконтролер.
Код за ултразвуков сензор Arduino за измерване на разстояние
Пълният код за този ултразвуков проект за измерване на разстоянието е даден в долната част на тази страница. В кода четем времето с помощта на pulseIn (pin). След това извършете изчисления и изведете резултата на 16x2 LCD с помощта на подходящи функции.