HC-SR04: УЗИ сенсор жөнүндө

HC-SR04 сенсору

Кээде керек болуп калат Аралыктарды өлчөө жана ал үчүн бир нече сенсор бар. Биз буга чейин а жөнүндө сүйлөшүү үчүн макала арнадык VL52L0X сыяктуу жогорку тактыктагы аралык сенсору. Бул сенсор ToF тибинде болгон жана лазердин жардамы менен өтө так өлчөөлөргө негизделген. Бирок сиз үчүн тактык анчалык деле маанилүү болбосо жана сиз аралыкты арзан баада өлчөөгө мүмкүнчүлүк берген нерсени кааласаңыз, анда дагы бир мүмкүнчүлүк сиздин колуңузда HC-SR04 бар.

учурда HC-SR04 аралык сенсору, аралык УЗИ менен өлчөнөт. Тутум VL52L0X оптикалык ыкмасына окшош. Башкача айтканда, ал чыгарылат, секирүү бар жана ал кабыл алынат, бирок бул учурда лазер же ИК болуунун ордуна, бул УЗИ. Эгер сиз электроника, робототехника же үйрөнчүк өндүрүүчүгө жакын болсоңуз, анда аны роботтор үчүн тоскоолдуктарды аныктоо тутумдары, катышуу сенсорлору жана башка көптөгөн DIY долбоорлору үчүн колдоно аласыз.

HC-SR04 деген эмне?

Ооба, бул мурунку абзацтарда айтып өткөндөй эле, HC-SR04 - УЗИге негизделген аралыктын аз тактыгы бар сенсор. Анын жардамы менен ал аралыкты жөнөкөй жана тез өлчөөгө мүмкүнчүлүк берет, бирок негизинен ал үчүн колдонулбайт. Көбүнчө, ал сенсордун жообу менен байланышкан башка механизмдер аркылуу тоскоолдуктарды аныктоо жана аларды болтурбоо үчүн өзгөрткүч катары колдонулат.

Көрүнүшү HC-SR04 абдан айырмаланат жана оңой таанылат. Мындан тышкары, бул Arduino стартер комплекттеринде абдан популярдуу жана көптөгөн долбоорлор үчүн зарыл нерсе. Бул оңой эле аныкталат, анткени анын эки "көзү" бар, бул чындыгында бул модуль интеграцияланган УЗИ шаймандары. Алардын бири УЗИ эмитенти, экинчиси кабыл алгыч. Ал 40 Кц жыштыкта ​​иштейт, андыктан адамдарга угулбайт.

Ultrasonic Sensor Principles

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

Окшош макала:
ESP8266: Arduino үчүн WIFI модулу

HC-SR04те эмитент УЗИ чыгарат жана алар кандайдыр бир нерседен же тоскоолдуктан секиргенде, аларды кабыл алгыч басып алат. The схема керектүү эсептөөлөрдү жүргүзөт аралыкты аныктоо үчүн ошол жаңырыктын. Айрым дельфиндер, киттер же жарганаттар сыяктуу жаныбарлар тоскоолдуктарды, олжолорду жана башкаларды табуу үчүн кандай система колдоноорун билсеңиз, бул сизге тааныш болушу мүмкүн.

Импульс жиберилгенден бери жооп келгенге чейин убакытты эсептөө менен убакытты жана ошондуктан аралыкты так аныктоого болот. Эсиңде болсун [Space = ылдамдык убактысы] бирок HC-SR04 учурда, сиз бул өлчөмдү / 2ге бөлүшүңүз керек, анткени УЗИ чыгып, космосто өткөндөн баштап, тоскоолдукка жеткенге чейин жана артка кайтканга чейин убакыт өлчөнөт, ошондуктан болжол менен мунун жарымы ...

Чектөө жана берилмелер жадыбалы

Сиз алган моделдин толук маалыматтарын көрүү үчүн эң жакшы нерсе экендигин мурунтан эле билесиз маалымат баракчасын табуу өндүрүүчүнүн бетон. Мисалы, бул жерде Sparkfun маалымат жадыбалы, бирок PDFте дагы көптөгөн нерселер бар. Бирок, бул жерде HC-SR04 маанилүү техникалык маалыматтары:

  • Кадап чыгып: Кубаттуулук (Vcc), триггер (Trigger), кабыл алуучу (Echo) жана жер (GND) үчүн 4 казык. Триггер сенсор качан иштетилиши керектигин көрсөтөт (УЗИ башталганда), ошентип алуучу сигнал алганда өткөн убакытты билүүгө болот.
  • тамактандыруу: 5 V
  • УЗИ жыштыгы: 40 Khz, адамдын кулагы 20Hzден 20Khz чейин гана уга алат. 20 Гцтен төмөн (инфра-УЗИ) жана 20 КГцтен жогору (УЗИ) баардыгы сезилбейт.
  • Керектөө (күтүү): <2mA
  • Керектөө иштеп жатат: 15мА
  • Натыйжалуу бурч: <15º, объектилеринин бурчтарына жараша, сиз жакшы же жаман натыйжаларга ээ болушу мүмкүн.
  • Өлчөнгөн аралык: 2см ден 400см чейин, бирок 250 см ден жакшы эмес.
  • Орточо чечим: Иш жүзүндөгү аралык менен өлчөөнүн ортосундагы 0.3 см өзгөрүү, андыктан лазер сыяктуу жогорку деңгээлде так эсептелбегенине карабастан, өлчөөлөр көпчүлүк колдонмолор үчүн алгылыктуу.
  • баа: болжол менен 0,65 евродон

Arduino менен интеграциялоо

Arduino менен HC-SR04

Para аны Arduino менен туташтыруу оңой эмес. Сиз GNDди Arduino 5v электр энергиясы менен жана HC-SR04 башка эки сайгыч менен проектиңиз үчүн тандалган кириш / чыгымдар менен тиешелүү Arduino өндүрүшүнө туташтыруу үчүн жооптуу болушуңуз керек. Бул жөнөкөй экендигин жогорку Фритинг схемасында көрө аласыз ...

Жолборс жакшы иштеши үчүн, жок дегенде 10 микросекундалык электрдик импульсту алышы керек деп бир гана ойлонуш керек. Буга чейин анын ТӨМӨН маанисинде экенине ынануу керек.

карата абал боюнча коду Arduino IDE, эч кандай китепкананы же ушул сыяктуу башка компоненттерди колдонуунун кажети жок. Аралыкты эсептөө үчүн формуланы гана түзүңүз ... Ал эми, албетте, сиз HC-SR04 сенсорун өлчөөгө жооп кылып, бир нерсе жасоону кааласаңыз, анда сизге керектүү кодду кошушуңуз керек болот. Мисалы, жөн эле өлчөө пультунда көрсөтүүнүн ордуна, сервомоторлорду тоскоолдукту болтурбоо үчүн белгилүү бир аралыкка тигил же бул багытта жылдырсаңыз болот, же кыймылдаткыч токтоп калса, жакындыгын байкаганда сигнализация ж.б. .

 Программалоо жөнүндө көбүрөөк маалымат: Arduino боюнча колдонмо (Акысыз PDF)

Мисалы, сиз муну көрө аласыз база катары колдонула турган негизги код:

//Define las constantes para los pines donde hayas conectado el pin Echo y Trigger
const int EchoPin = 8;
const int TriggerPin = 9;
 
void setup() {
   Serial.begin(9600);
   pinMode(TriggerPin, OUTPUT);
   pinMode(EchoPin, INPUT);
}

//Aquí la muestra de las mediciones
void loop() {
   int cm = ping(TriggerPin, EchoPin);
   Serial.print("Distancia medida: ");
   Serial.println(cm);
   delay(1000);
}

//Cálculo para la distancia
int ping(int TriggerPin, int EchoPin) {
   long duration, distanceCm;
   
   digitalWrite(TriggerPin, LOW);  //para generar un pulso limpio ponemos a LOW 4us
   delayMicroseconds(4);
   digitalWrite(TriggerPin, HIGH);  //generamos Trigger (disparo) de 10us
   delayMicroseconds(10);
   digitalWrite(TriggerPin, LOW);
   
   duration = pulseIn(EchoPin, HIGH);  //medimos el tiempo entre pulsos, en microsegundos
   
   distanceCm = duration * 10 / 292/ 2;   //convertimos a distancia, en cm
   return distanceCm;
}

 


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий, өзүңүз калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Хосе ал мындай деди:

    Түшүндүрмө абдан пайдалуу жана жөнөкөй болду.