norr@manorshi.com         +86-519-89185720
1
មជ្ឈមណ្ឌលព័ត៌មាន

របៀបប្រើឧបករណ៍ចាប់សញ្ញា ultrasonic ជាមួយ Arduino?

មើល៖ 164     អ្នកនិពន្ធ៖ Grace ពេលវេលាបោះពុម្ព៖ 2021-07-26 ប្រភពដើម៖ គេហទំព័រ

ប៊ូតុងចែករំលែក facebook
ប៊ូតុងចែករំលែក twitter
ប៊ូតុងចែករំលែកបន្ទាត់
ប៊ូតុងចែករំលែក wechat
linkedin ប៊ូតុងចែករំលែក
ប៊ូតុងចែករំលែក pinterest
ប៊ូតុងចែករំលែក whatsapp
ប៊ូតុងចែករំលែក kakao
ប៊ូតុងចែករំលែក Snapchat
ប៊ូតុងចែករំលែកតេឡេក្រាម
ចែករំលែកប៊ូតុងចែករំលែកនេះ។

របៀបប្រើឧបករណ៍ចាប់សញ្ញា Ultrasonic ជាមួយ Arduino៖ ការណែនាំ HC-SR04

នេះ។ ឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 គឺជាម៉ូឌុលវាស់ចម្ងាយដ៏ពេញនិយមបំផុតមួយសម្រាប់គម្រោង Arduino ។ វា​ត្រូវ​បាន​គេ​ប្រើ​យ៉ាង​ទូលំទូលាយ​នៅ​ក្នុង​មនុស្សយន្ត​បញ្ចៀស​ឧបសគ្គ ឧបករណ៍​ចាប់​សញ្ញា​កន្លែង​ចត​រថយន្ត ការ​រក​ឃើញ​កម្រិត ធុង​សំរាម​ឆ្លាតវៃ ឧបករណ៍​វាស់​ចម្ងាយ និង​កម្មវិធី​ចាប់​សញ្ញា​មិន​ទាក់ទង​ផ្សេង​ទៀត។

ម៉ូឌុលបញ្ចេញរលក ultrasonic 40kHz តាមរយៈឧបករណ៍បញ្ជូន។ នៅពេលដែលរលកសំឡេងជួបនឹងវត្ថុមួយ វាឆ្លុះបញ្ចាំងត្រឡប់ទៅអ្នកទទួលវិញ។ ដោយ​ការ​វាស់​ស្ទង់​ម៉ោង​អេកូ និង​ប្រើ​ល្បឿន​សំឡេង Arduino អាច​គណនា​ចម្ងាយ​រវាង​ឧបករណ៍​ចាប់​សញ្ញា និង​វត្ថុ។

ម៉ូឌុលឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 សម្រាប់ការវាស់ចម្ងាយ Arduino

HC-SR04 ប៉ារ៉ាម៉ែត្របច្ចេកទេសចម្បង

ប៉ារ៉ាម៉ែត្រ តម្លៃ
វ៉ុលធ្វើការធម្មតា។ 5V DC
ចរន្តដំណើរការឋិតិវន្ត តិចជាង 5mA នៅលើកំណែម៉ូឌុលមួយចំនួន
ប្រេកង់ប្រតិបត្តិការ រលក ultrasonic 40kHz
ចម្ងាយរាវរក ជួរធម្មតា: 2cm ទៅ 400cm; កំណែដែលបានកែសម្រួលមួយចំនួនអាចគាំទ្រជួរវែងជាងនេះ។
មុំរាវរក ជាធម្មតានៅក្នុង 15 ដឺក្រេ; កំណែមួយចំនួនដែលមានការកើនឡើងខ្ពស់អាចឡើងដល់ 30 ដឺក្រេ។
ភាពជាក់លាក់ រហូតដល់ប្រហែល 0.3cm ក្រោមលក្ខខណ្ឌសាកល្បងសមស្រប
តំបន់ពិការភ្នែក ចម្ងាយវាស់អប្បបរមាប្រហែល 2 សង់ទីម៉ែត្រ

ការពិពណ៌នាអំពីម្ជុល HC-SR04

ម៉ូឌុល ultrasonic HC-SR04 មានម្ជុលចំនួនបួន៖ VCC, TRIG, អេកូ និង GND ។ Arduino បញ្ជូនជីពចរខ្លីទៅម្ជុល TRIG បន្ទាប់មកអានជីពចរត្រឡប់មកវិញពីម្ជុលអេកូ។

HC-SR04 ម្ជុល ការតភ្ជាប់ Arduino មុខងារ
វី.ស៊ី.ស៊ី 5V ការផ្គត់ផ្គង់ថាមពលសម្រាប់ម៉ូឌុល ultrasonic ។
ទ្រីក ម្ជុលឌីជីថល ៩ ការបញ្ចូលគន្លឹះ។ Arduino ប្រើជីពចរ 10us ដើម្បីចាប់ផ្តើមជួរ។
អេកូ ម្ជុលឌីជីថល ១០ ទិន្នផលអេកូ។ Arduino អានទទឹងជីពចរដើម្បីគណនាចម្ងាយ។
GND GND ការតភ្ជាប់ដី។

ឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 pinout VCC TRIG ECHO GND

គោលការណ៍ការងាររបស់ឧបករណ៍ចាប់សញ្ញា Ultrasonic HC-SR04

HC-SR04 ដំណើរការដោយការវាស់វែងពេលវេលានៃការហោះហើរ។ Arduino បញ្ជូនសញ្ញាកេះកម្រិតខ្ពស់យ៉ាងហោចណាស់ 10 មីក្រូវិនាទីទៅម្ជុល TRIG ។ បន្ទាប់មក ម៉ូឌុលបញ្ជូនជីពចរ ultrasonic 40kHz ចំនួនប្រាំបីដោយស្វ័យប្រវត្តិ ហើយរង់ចាំអេកូដែលឆ្លុះបញ្ចាំង។

នៅពេលដែលសញ្ញា ultrasonic ដែលឆ្លុះបញ្ចាំងត្រូវបានរកឃើញ ម្ជុលអេកូនឹងបញ្ចេញជីពចរកម្រិតខ្ពស់។ រយៈពេលនៃជីពចរនេះគឺជាពេលវេលាធ្វើដំណើរទៅមកនៃរលក ultrasonic ។

ចម្ងាយ = អេកូពេលវេលាកម្រិតខ្ពស់ × ល្បឿនសំឡេង / ២

នៅក្នុងកូដ Arduino រូបមន្តសាមញ្ញធម្មតាគឺ៖

ចម្ងាយគិតជាសង់ទីម៉ែត្រ = រយៈពេល × 0.0343 / 2

ពេលវេលាម៉ូឌុល ultrasonic HC-SR04 នៃគោលការណ៍ធ្វើការហោះហើរ

ដ្យាក្រាមកំណត់ពេលវេលាម៉ូឌុលអ៊ុលត្រាសោន HC-SR04

ដំណើរការកំណត់ពេលវេលាគឺសាមញ្ញ៖ Arduino រក្សា TRIG ទាបដោយសង្ខេប បញ្ជូនជីពចរខ្ពស់ 10us បន្ទាប់មកត្រឡប់ TRIG ទៅទាប។ HC-SR04 បញ្ជូនការផ្ទុះ ultrasonic និងកំណត់អេកូខ្ពស់រហូតដល់សញ្ញាដែលឆ្លុះបញ្ចាំងត្រឡប់មកវិញ ឬអស់ពេលរង្វាស់។

ដើម្បីជៀសវាងការអានមិនស្ថិតស្ថេរ សូមទុកការពន្យាពេលខ្លីរវាងការវាស់វែង។ វដ្តរង្វាស់ប្រហែល 60ms ត្រូវបានគេប្រើជាទូទៅ ដូច្នេះអេកូអ៊ុលត្រាសោនពីមុនមានពេលបាត់មុនពេលកេះបន្ទាប់។

មូលដ្ឋានគ្រឹះនៃការសរសេរកម្មវិធី Arduino៖ មុខងារ pulseIn

មុខងារ Arduino pulseIn() ត្រូវ​បាន​ប្រើ​ដើម្បី​វាស់​វែង​រយៈពេល​ដែល​ម្ជុល​ឌីជីថល​នៅ​ខ្ពស់​ឬ​ទាប។ សម្រាប់ HC-SR04 Arduino ប្រើ pulseIn(echoPin, HIGH) ដើម្បីអានទទឹងជីពចរកម្រិតខ្ពស់ពីម្ជុលអេកូ។

វាក្យសម្ពន្ធ អត្ថន័យ
PulseIn(pin, តម្លៃ) អានរយៈពេលនៃជីពចរខ្ពស់ ឬទាប។
PulseIn(pin, តម្លៃ, អស់ពេល) អានជីពចរជាមួយនឹងតម្លៃអស់ពេលគិតជាមីក្រូវិនាទី។

ការប្រើការអស់ពេលត្រូវបានណែនាំ។ ប្រសិនបើមិនមានអេកូត្រលប់មកវិញទេ មុខងារអាចបញ្ឈប់ការរង់ចាំ ហើយត្រឡប់ 0 ជំនួសឱ្យការទប់ស្កាត់កម្មវិធីយូរពេក។

បន្ទះ Arduino ប្រើជាមួយឧបករណ៍ចាប់សញ្ញាចម្ងាយ ultrasonic HC-SR04

របៀបភ្ជាប់ HC-SR04 Ultrasonic Sensor ទៅ Arduino

ខ្សែភ្លើងគឺត្រង់។ ភ្ជាប់ VCC ទៅ 5V, GND ទៅ GND, TRIG ទៅកាន់ pin ទិន្នផលឌីជីថល Arduino និង ECHO ទៅ pin input ឌីជីថល Arduino ។ ឧទាហរណ៍ខាងក្រោមប្រើ Arduino Uno, TRIG នៅលើ pin 9 និង ECHO នៅលើ pin 10។

ដ្យាក្រាមខ្សែភ្លើង Arduino Uno សម្រាប់ឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04

HC-SR04 កូដឧបករណ៍ចាប់សញ្ញា Ultrasonic Arduino

កម្មវិធី Arduino ធម្មតាខាងក្រោមបញ្ជូនជីពចរ 10us អានទទឹងជីពចរអេកូ គណនាចម្ងាយគិតជាសង់ទីម៉ែត្រ និងបោះពុម្ពលទ្ធផលនៅក្នុង Serial Monitor ។

const int trigPin = 9; const int echoPin = 10; រយៈពេលវែង; ចម្ងាយអណ្តែតCm; ការដំឡើងចាត់ទុកជាមោឃៈ () { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW);   ពន្យារពេលមីក្រូវិនាទី (2);   digitalWrite(trigPin, HIGH);   ពន្យារពេលមីក្រូវិនាទី (10);   digitalWrite(trigPin, LOW);   រយៈពេល = pulseIn(echoPin, HIGH, 30000);   ប្រសិនបើ (រយៈពេល == 0) { Serial.println('ក្រៅជួរ');   } else { distanceCm = រយៈពេល * 0.0343 / 2;     Serial.print('ចម្ងាយ៖ ');     Serial.print(ចម្ងាយCm);     Serial.println('cm');   } ការពន្យាពេល (60); }

ប្រសិនបើអ្នកឃើញតម្លៃចម្ងាយនៅក្នុង Serial Monitor នោះឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 និងខ្សែភ្លើង Arduino កំពុងដំណើរការត្រឹមត្រូវ។ បន្ទាប់មកអ្នកអាចប្រើទិន្នន័យពីចម្ងាយសម្រាប់ការរកឃើញឧបសគ្គ ការគ្រប់គ្រងចលនារបស់មនុស្សយន្ត ទ្វារស្វ័យប្រវត្តិ ការរំលឹកកន្លែងចតរថយន្ត ឬគម្រោងកម្រិតរាវ។

កម្មវិធីជួរឧបករណ៍ចាប់សញ្ញា ultrasonic Arduino HC-SR04

វិធីកែលម្អភាពត្រឹមត្រូវនៃការវាស់វែង HC-SR04

  • រក្សាវត្ថុដែលបានវាស់នៅក្នុងជួរចម្ងាយដែលបានណែនាំ និងនៅខាងក្រៅតំបន់ពិការភ្នែក 2 សង់ទីម៉ែត្រ។

  • ប្រើផ្ទៃគោលដៅរាបស្មើ និងរឹងសម្រាប់ការឆ្លុះបញ្ចាំង ultrasonic កាន់តែប្រសើរ។

  • ជៀសវាងការវាស់សម្ភារៈទន់ មុំ រន្ធ ឬស្រូបសំឡេង។

  • ប្រើការផ្គត់ផ្គង់ថាមពល 5V ដែលមានស្ថេរភាព និងរក្សាខ្សែឱ្យខ្លី និងមានសុវត្ថិភាព។

  • បន្ថែមការអស់ពេលទៅ pulseIn() ដើម្បីការពារការទប់ស្កាត់រយៈពេលយូរនៅពេលដែលមិនមានអេកូត្រឡប់មកវិញ។

  • តម្រងមធ្យម ឬមធ្យម - ការអានជាច្រើនដើម្បីកាត់បន្ថយសំលេងរំខាន។

  • សម្រាប់ភាពត្រឹមត្រូវខ្ពស់ ទូទាត់សងសម្រាប់សីតុណ្ហភាព ព្រោះល្បឿនសំឡេងប្រែប្រួលជាមួយនឹងសីតុណ្ហភាពខ្យល់។

កម្មវិធីទូទៅនៃគម្រោងឧបករណ៍ចាប់សញ្ញា Arduino Ultrasonic

ការដាក់ពាក្យ របៀបដែល HC-SR04 ត្រូវបានប្រើ
មនុស្សយន្តបញ្ចៀសឧបសគ្គ រកឃើញវត្ថុនៅក្បែរ និងជួយមនុស្សយន្តផ្លាស់ប្តូរទិសដៅ។
ឧបករណ៍ចាប់សញ្ញាចម្ងាយចតរថយន្ត វាស់ចម្ងាយរវាងយានជំនិះ និងឧបសគ្គ។
ការរកឃើញកម្រិតរាវ វាស់ចម្ងាយពីឧបករណ៍ចាប់សញ្ញាទៅផ្ទៃរាវដោយគ្មានទំនាក់ទំនង។
ធុងសំរាមឆ្លាតវៃ រកឃើញដៃ ឬវត្ថុនៅក្បែរនោះ ហើយបើកគម្របដោយស្វ័យប្រវត្តិ។

សង្ខេប

ដើម្បីប្រើឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 ជាមួយ Arduino សូមភ្ជាប់ VCC ទៅ 5V, GND ទៅ GND, TRIG ទៅម្ជុលបញ្ចេញឌីជីថល និងអេកូទៅម្ជុលបញ្ចូលឌីជីថល។ ផ្ញើជីពចរគន្លឹះ 10us អានរយៈពេលអេកូជាមួយ pulseIn() និងគណនាចម្ងាយជាមួយរូបមន្តពេលវេលានៃការហោះហើរ។

HC-SR04 មានតម្លៃថោក ងាយស្រួលប្រើ និងសមរម្យសម្រាប់គម្រោងវាស់ចម្ងាយ Arduino ជាច្រើន។ ដើម្បីទទួលបានលទ្ធផលល្អបំផុត សូមយកចិត្តទុកដាក់លើផ្ទៃគោលដៅ មុំវាស់ តំបន់ពិការភ្នែក ថាមពលមានស្ថេរភាព ការគ្រប់គ្រងអស់ពេល និងឥទ្ធិពលសីតុណ្ហភាព។

សំណួរដែលគេសួរញឹកញាប់អំពី HC-SR04 Arduino Ultrasonic Sensor

តើឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 ដំណើរការជាមួយ Arduino យ៉ាងដូចម្តេច?

Arduino បញ្ជូនជីពចរ 10us ទៅម្ជុល TRIG ។ HC-SR04 បញ្ចេញជីពចរ ultrasonic ចំនួនប្រាំបី 40kHz ហើយកំណត់ម្ជុលអេកូខ្ពស់រហូតដល់សំឡេងដែលឆ្លុះបញ្ចាំងត្រឡប់មកវិញ។ Arduino វាស់ពេលវេលាជីពចរនេះ និងគណនាចម្ងាយ។

តើរូបមន្តចម្ងាយសម្រាប់គម្រោង HC-SR04 Arduino គឺជាអ្វី?

រូបមន្តគឺចម្ងាយ = រយៈពេល × ល្បឿនសំឡេង / 2. គិតជាសង់ទីម៉ែត្រ រូបមន្ត Arduino ទូទៅគឺ distanceCm = រយៈពេល × 0.0343 / 2 ដែលរយៈពេលត្រូវបានវាស់ជាមីក្រូវិនាទី។

ហេតុអ្វីបានជាយើងបែងចែកលទ្ធផលឧបករណ៍ចាប់សញ្ញា ultrasonic ដោយ 2?

ពេលវេលាអេកូដែលបានវាស់វែងគឺជាពេលវេលាធ្វើដំណើរទៅមកពីឧបករណ៍ចាប់សញ្ញាទៅវត្ថុ និងត្រឡប់ទៅឧបករណ៍ចាប់សញ្ញាវិញ។ ការបែងចែកដោយ 2 ផ្តល់ចំងាយមួយផ្លូវរវាងឧបករណ៏ និងវត្ថុ។

តើម្ជុល Arduino មួយណាដែលខ្ញុំគួរប្រើសម្រាប់ TRIG និងអេកូ?

អ្នកអាចប្រើម្ជុលឌីជីថល Arduino ភាគច្រើន។ នៅក្នុងឧទាហរណ៍ជាច្រើន TRIG ត្រូវបានភ្ជាប់ទៅលេខ 9 ឌីជីថល ហើយអេកូត្រូវបានភ្ជាប់ទៅលេខ 10 ឌីជីថល។ លេខកូដត្រូវតែផ្គូផ្គងម្ជុលដែលប្រើក្នុងខ្សែរបស់អ្នក។

ហេតុអ្វីបានជាឧបករណ៍ចាប់សញ្ញា ultrasonic HC-SR04 របស់ខ្ញុំត្រឡប់តម្លៃសូន្យ ឬចៃដន្យ?

មូលហេតុទូទៅរួមមាន ខ្សែរលុង ថាមពល 5V មិនស្ថិតស្ថេរ លេខ TRIG ខុស ឬលេខម្ជុលអេកូ គ្មានវត្ថុក្នុងជួរ ផ្ទៃគោលដៅមុំ សម្ភារៈទន់ ក្បាលឧបករណ៍ចាប់សញ្ញាត្រូវបានរារាំង ឬអស់ពេលនៅក្នុងមុខងារ pulseIn()។

តើតំបន់ពិការភ្នែកនៃឧបករណ៏ ultrasonic HC-SR04 គឺជាអ្វី?

តំបន់ពិការភ្នែកគឺជាចម្ងាយអប្បបរមាដែលម៉ូឌុលមិនអាចវាស់បានដែលអាចទុកចិត្តបាន។ សម្រាប់ HC-SR04 តំបន់ពិការភ្នែកជាធម្មតាមានប្រហែល 2 សង់ទីម៉ែត្រ។ វត្ថុដែលនៅជិតជាងនេះអាចបង្កើតការអានមិនស្ថិតស្ថេរ។

តើ HC-SR04 អាចវាស់កម្រិតទឹកជាមួយ Arduino បានទេ?

បាទ/ចាស៎ HC-SR04 អាចត្រូវបានប្រើសម្រាប់គម្រោងកម្រិតទឹកធម្មតាដែលមិនប៉ះពាល់ ប្រសិនបើឧបករណ៍ចាប់សញ្ញាត្រូវបានការពារពីសំណើម និងបានម៉ោនពីលើផ្ទៃរាវ។ សម្រាប់ធុងសើម ខាងក្រៅ ឬធុងឧស្សាហកម្ម ឧបករណ៍ចាប់សញ្ញា ultrasonic មិនជ្រាបទឹកត្រូវបានណែនាំ។

តើខ្ញុំអាចធ្វើឱ្យការអានឧបករណ៍ចាប់សញ្ញា ultrasonic Arduino មានស្ថេរភាពជាងមុនដោយរបៀបណា?

ប្រើការផ្គត់ផ្គង់ថាមពលដែលមានស្ថេរភាព រក្សាឧបករណ៍ចាប់សញ្ញាឱ្យកាត់កែងទៅនឹងគោលដៅ ជៀសវាងផ្ទៃទន់ ឬមុំ បន្ថែមជីពចរក្នុងពេលវេលាអស់ ធ្វើការអានច្រើន ប្រើការច្រោះមធ្យម និងអនុញ្ញាតប្រហែល 60ms រវាងការវាស់វែង។

តារាងមាតិកា