norr@manorshi.com         +86-519-89185720
1
Жаңалықтар орталығы

Arduino көмегімен ультрадыбыстық сенсорды қалай пайдалануға болады?

Қараулар: 164     Автор: Грейс Басылым уақыты: 26.07.2021 Шығу орны: Сайт

facebook бөлісу түймесі
twitter бөлісу түймесі
сызықты ортақ пайдалану түймесі
wechat бөлісу түймесі
linkedin бөлісу түймесі
pinterest бөлісу түймесі
whatsapp бөлісу түймесі
kakao бөлісу түймесі
snapchat бөлісу түймесі
телеграмма бөлісу түймесі
бөлісу түймесін басыңыз

Ардуиномен ультрадыбыстық сенсорды қалай пайдалануға болады: HC-SR04 нұсқаулығы

The HC-SR04 ультрадыбыстық сенсор - Arduino жобалары үшін ең танымал қашықтықты өлшеу модульдерінің бірі. Ол кедергілерді болдырмайтын роботтарда, тұрақ сенсорларында, деңгейді анықтауда, ақылды қоқыс жәшіктерінде, қашықтық өлшегіштерінде және басқа контактісіз сезгіш қолданбаларда кеңінен қолданылады.

Модуль таратқыш арқылы 40 кГц ультрадыбыстық толқындарды шығарады. Дыбыс толқыны объектімен кездескенде, ол қабылдағышқа кері шағылысады. Эхо уақытын өлшеу және дыбыс жылдамдығын пайдалану арқылы Arduino сенсор мен объект арасындағы қашықтықты есептей алады.

Arduino қашықтықты өлшеуге арналған HC-SR04 ультрадыбыстық сенсор модулі

HC-SR04 Негізгі техникалық параметрлері

Параметр Мән
Әдеттегі жұмыс кернеуі 5В тұрақты ток
Статикалық жұмыс тогы Кейбір модуль нұсқаларында 5мА-дан аз
Жұмыс жиілігі 40 кГц ультрадыбыстық толқын
Анықтау қашықтығы Жалпы диапазон: 2 см-ден 400 см-ге дейін; кейбір пайдаға қарай реттелетін нұсқалар ұзағырақ диапазонды қолдауы мүмкін.
Анықтау бұрышы Әдетте 15 градус ішінде; жоғарырақ кейбір нұсқалар шамамен 30 градусқа жетуі мүмкін.
Дәлдік Қолайлы сынақ жағдайында шамамен 0,3 см-ге дейін
Соқыр аймақ Ең аз өлшеу қашықтығы шамамен 2 см

HC-SR04 пин Сипаттама

HC-SR04 ультрадыбыстық модулінде төрт түйреуіш бар: VCC, TRIG, ECHO және GND. Arduino TRIG істікшесіне қысқа триггер импульсін жібереді, содан кейін ECHO істікшесінен қайтару импульсін оқиды.

HC-SR04 түйреуіш Arduino қосылымы Функция
VCC Ультрадыбыстық модуль үшін қуат көзі.
ТРИГ Сандық пин 9 Триггер енгізу. Ардуино диапазонды бастау үшін 10us импульсін қолданады.
ЭХО Сандық пин 10 Эхо шығысы. Arduino қашықтықты есептеу үшін импульс енін оқиды.
GND GND Жерге қосу.

HC-SR04 ультрадыбыстық сенсор пинут VCC TRIG ECHO GND

HC-SR04 ультрадыбыстық сенсорының жұмыс принципі

HC-SR04 ұшу уақытын өлшеу арқылы жұмыс істейді. Arduino TRIG түйреуішіне кемінде 10 микросекундтық жоғары деңгейлі триггер сигналын жібереді. Содан кейін модуль автоматты түрде сегіз 40 кГц ультрадыбыстық импульстарды жібереді және шағылысқан жаңғырықты күтеді.

Шағылысқан ультрадыбыстық сигнал анықталған кезде ECHO істікшесі жоғары деңгейлі импульсті шығарады. Бұл импульстің ұзақтығы ультрадыбыстық толқынның айналу уақыты болып табылады.

Қашықтық = Жоғары деңгейдегі жаңғырық уақыты × Дыбыс жылдамдығы / 2

Arduino кодында қарапайым жеңілдетілген формула:

См-дегі қашықтық = ұзақтығы × 0,0343 / 2

HC-SR04 ультрадыбыстық модулінің ұшу уақыты жұмыс принципі

HC-SR04 ультрадыбыстық модулінің уақыт диаграммасы

Уақытты анықтау процесі қарапайым: Arduino TRIG мәнін қысқа уақытқа төмендетеді, 10us жоғары импульсті жібереді, содан кейін TRIG мәнін төменге қайтарады. HC-SR04 ультрадыбыстық жарылысты жібереді және шағылысқан сигнал қайтарылғанша немесе өлшеу уақыты біткенше ECHO мәнін жоғары қояды.

Тұрақсыз көрсеткіштерді болдырмау үшін өлшеулер арасында қысқа кідіріс қалдырыңыз. Шамамен 60 мс өлшеу циклі әдетте пайдаланылады, сондықтан алдыңғы ультрадыбыстық жаңғырық келесі триггерге дейін жоғалып кетеді.

Arduino бағдарламалау негіздері: pulseIn функциясы

Arduino pulseIn() функциясы сандық түйреуіштің ЖОҒАРҒЫ немесе ТӨМЕН күйде қалу ұзақтығын өлшеу үшін пайдаланылады. HC-SR04 үшін Arduino pulseIn(echoPin, HIGH) пайдаланады. ECHO істікшесінен жоғары деңгейлі импульс енін оқу үшін

Синтаксис Мағынасы
impulseIn(pin, мән) ЖОҒАРЫ немесе ТӨМЕН импульс ұзақтығын оқиды.
pulseIn(pin, мән, күту уақыты) Микросекундтарда күту уақыты мәні бар импульсті оқиды.

Күту уақытын пайдалану ұсынылады. Ешбір жаңғырық қайтарылмаса, функция күтуді тоқтатып, бағдарламаны тым ұзақ блоктаудың орнына 0 мәнін қайтара алады.

Arduino тақтасы HC-SR04 ультрадыбыстық қашықтық сенсорымен қолданылады

HC-SR04 ультрадыбыстық сенсорын Arduino-ға қалай қосуға болады

Сымдар қарапайым. VCC-ті 5В-қа, GND-ді GND-ге, TRIG-ті Arduino-ның цифрлық шығыс істікшесіне және ECHO-ны Arduino-ның сандық кіріс пиніне қосыңыз. Келесі мысалда Arduino Uno, 9 істікшеде TRIG және 10 істікшеде ECHO қолданылады.

HC-SR04 ультрадыбыстық сенсорына арналған Arduino Uno тақтасының электр схемасы

HC-SR04 ультрадыбыстық сенсор Arduino коды

Келесі әдеттегі Arduino бағдарламасы 10us триггер импульсін жібереді, ECHO импульсінің енін оқиды, қашықтықты сантиметрмен есептейді және нәтижені сериялық мониторда басып шығарады.

const int trigPin = 9; const int echoPin = 10; ұзақ мерзімділік; қалқымалы қашықтықCm; void setup() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   delayMicroseconds(2);   digitalWrite(trigPin, HIGH);   delayMicroseconds(10);   digitalWrite(trigPin, LOW);   ұзақтығы = pulseIn(echoPin, HIGH, 30000);   if (ұзақтығы == 0) { Serial.println('Ауқымнан тыс');   } else { қашықтықCm = ұзақтық * 0,0343 / 2;     Serial.print('Қашықтық: ');     Serial.print(дистанциясм);     Serial.println('см');   } кешігу(60); }

Сериялық мониторда қашықтық мәндерін көрсеңіз, HC-SR04 ультрадыбыстық сенсор және Arduino сымдары дұрыс жұмыс істейді. Содан кейін қашықтық деректерін кедергілерді анықтау, робот қозғалысын басқару, автоматты есіктер, тұрақ туралы еске салғыштар немесе сұйықтық деңгейі жобалары үшін пайдалануға болады.

Arduino HC-SR04 ультрадыбыстық сенсор диапазоны бағдарламасы

HC-SR04 өлшеу дәлдігін қалай жақсартуға болады

  • Өлшенген нысанды ұсынылған қашықтық ауқымында және 2 см соқыр аймақтан тыс жерде ұстаңыз.

  • Жақсырақ ультрадыбыстық шағылысу үшін тегіс және қатты мақсатты бетті пайдаланыңыз.

  • Жұмсақ, бұрышты, кеуекті немесе дыбысты жұтатын материалдарды өлшеуден аулақ болыңыз.

  • Тұрақты 5 В қуат көзін пайдаланыңыз және сымдарды қысқа және қауіпсіз ұстаңыз.

  • Ешбір жаңғырық қайтарылмаған кезде ұзақ бұғаттауды болдырмау үшін pulseIn() қызметіне күту уақытын қосыңыз.

  • Шуды азайту үшін бірнеше көрсеткіштерді орташа немесе медианалық сүзгіден өткізіңіз.

  • Жоғары дәлдік үшін температураның орнын толтырыңыз, себебі дыбыс жылдамдығы ауа температурасына байланысты өзгереді.

Arduino ультрадыбыстық сенсор жобаларының жалпы қолданбалары

Қолданба HC-SR04 қалай пайдаланылады
Кедергілерді болдырмау роботы Маңайдағы нысандарды анықтайды және роботқа бағытты өзгертуге көмектеседі.
Тұрақ қашықтығы сенсоры Көлік пен кедергі арасындағы қашықтықты өлшейді.
Сұйықтық деңгейін анықтау Сенсордан сұйықтық бетіне дейінгі қашықтықты жанасусыз өлшейді.
Ақылды қоқыс жәшігі Маңайдағы қолды немесе нысанды анықтайды және қақпақты автоматты түрде ашуды іске қосады.

Түйіндеме

Arduino көмегімен HC-SR04 ультрадыбыстық сенсорын пайдалану үшін VCC-ті 5V-ке, GND-ді GND-ге, TRIG-ті сандық шығыс істікшесіне және ECHO-ны сандық кіріс істікшесіне қосыңыз. 10us триггер импульсін жіберіңіз, pulseIn() көмегімен эхо ұзақтығын оқыңыз және ұшу уақыты формуласымен қашықтықты есептеңіз.

HC-SR04 арзан, пайдалану оңай және көптеген Arduino қашықтықты өлшеу жобаларына жарамды. Жақсы нәтиже алу үшін мақсатты бетке, өлшеу бұрышына, соқыр аймаққа, тұрақты қуатқа, күту уақытын өңдеуге және температура әсерлеріне назар аударыңыз.

HC-SR04 Arduino ультрадыбыстық сенсоры туралы жиі қойылатын сұрақтар

HC-SR04 ультрадыбыстық сенсор Arduino-мен қалай жұмыс істейді?

Arduino TRIG істікшесіне 10us импульсін жібереді. HC-SR04 сегіз 40 кГц ультрадыбыстық импульстарды шығарады және шағылысқан дыбыс қайтарылғанша ECHO істікшесін жоғары қояды. Arduino бұл импульс уақытын өлшейді және қашықтықты есептейді.

HC-SR04 Arduino жобалары үшін қашықтық формуласы қандай?

Формула қашықтық = ұзақтық × дыбыс жылдамдығы / 2. Сантиметрлерде жалпы Arduino формуласы қашықтықCm = ұзақтық × 0,0343 / 2, мұнда ұзақтық микросекундтармен өлшенеді.

Неліктен ультрадыбыстық сенсор нәтижесін 2-ге бөлеміз?

Өлшенген жаңғырық уақыты - сенсордан объектіге және сенсорға кері бару уақыты. 2-ге бөлу сенсор мен объект арасындағы бір жақты қашықтықты береді.

TRIG және ECHO үшін қандай Arduino түйреуіштерін пайдалануым керек?

Сіз Arduino сандық түйреуіштерінің көпшілігін пайдалана аласыз. Көптеген мысалдарда TRIG 9 сандық істікшеліге, ал ECHO 10 сандық істікшеге қосылған. Код сымдарыңызда қолданылатын істіктерге сәйкес болуы керек.

Неліктен менің HC-SR04 ультрадыбыстық сенсорым нөлдік немесе кездейсоқ мәндерді қайтарады?

Жалпы себептерге сымдардың босауы, тұрақсыз 5 В қуаты, қате TRIG немесе ECHO істік нөмірлері, диапазонда нысанның болмауы, бұрыштық мақсатты беттер, жұмсақ материалдар, блокталған сенсор бастары немесе pulseIn() функциясында күту уақытының болмауы жатады.

HC-SR04 ультрадыбыстық сенсорының соқыр аймағы қандай?

Соқыр аймақ - модуль сенімді түрде өлшей алмайтын ең аз қашықтық. HC-SR04 үшін соқыр аймақ әдетте шамамен 2 см құрайды. Бұдан жақынырақ нысандар тұрақсыз көрсеткіштерді тудыруы мүмкін.

HC-SR04 Arduino көмегімен су деңгейін өлшей алады ма?

Иә, сенсор ылғалдан қорғалған және сұйықтық бетінен жоғары орнатылған болса, HC-SR04 су деңгейінің жанаспайтын қарапайым жобалары үшін пайдаланылуы мүмкін. Ылғалды, сыртқы немесе өнеркәсіптік резервуарлар үшін су өткізбейтін ультрадыбыстық сенсор ұсынылады.

Arduino ультрадыбыстық сенсор көрсеткіштерін қалай тұрақты етуге болады?

Тұрақты қуат көзін пайдаланыңыз, сенсорды нысанаға перпендикуляр ұстаңыз, жұмсақ немесе бұрышты беттерден аулақ болыңыз, импульстің күту уақытын қосыңыз, бірнеше көрсеткіштерді алыңыз, медиандық сүзуді пайдаланыңыз және өлшемдер арасында шамамен 60 мс қалдырыңыз.

Мазмұны