How HC-SR04 Ultrasonic Sensor Works & Interface It With Arduino
Ultrasonic Sensors
Ultrasonic Sensors គឺជា sensors 1 ប្រភេទដែលមានតួនាទីកំណត់ចម្ងាយនៃរត្តុណាមួយ ។
វាក៏អាចកំណត់ចម្ងាយបានយ៉ាងល្អក្នុងចន្លោះពី 2cm – 400cm ៕
Ultrasonic Sensors វាមាន Pin 4 :
· Vcc វាគឺជា Pin ដែលនិងត្រូវភ្ជាប់ទៅនិង 5v នៃ Arduino Board
· GND វាគឺជា Pin ដែលនិងត្រូវភ្ជាប់ទៅនិង GND នៃ Arduino Board
· TRIG វាគឺជា Pin ដែលនិងត្រូវភ្ជាប់ទៅនិង Digital Pin ( ជាទូទៅ ៩ ឬ PIN ដ៏ទៃទៀត ) នៃ
Arduino Board
· ECHO វាគឺជា Pin ដែលនិងត្រូវភ្ជាប់ទៅនិង Digital Pin ( ជាទូទៅ ១០ ឬ PIN ដ៏ទៃទៀត ) នៃ
Arduino
Board
របៀបដែលវាដំណើរការមានដូចជា :
ដំបូង Transmitter ( trig pin ) ដែលបញ្ចូនទៅសញ្ញារលកប្រេកង់នៃសម្លេងចេញទៅ
រហូតវាបានប៉ះវត្ថុណាមួយ ៕ រលកសញ្ញានោះក៏ទ្បងត្រទ្បប់មកវិញ ហើយវាត្រូវបានទទួលដោយ
Receiver
( echo pin ) បន្ទាប់មកវាក៏បង្កើតបានជាចម្ងាយពី sensors ទៅកាន់វត្ថុមួយនោះ ៕
យើងអាចគណនារកចម្ងាយបានតាមរូបមន្ត :
ចម្ងាយ ( distance ) = ល្បឿន ( speed
) * រយ:ពេល ( time )
ដោយល្បឿនសម្លេងគឺប្រហែល 0.0343 c/us ( centimeters per microsecond ) រួចចែកវានឹង
2 ( ដោយសាររលកធ្វើដំណើរទៅវត្ថុហើយក៏ត្រទ្បាប់មកវិញ
) ៕
Distance = ( duration *
0.0343 ) / 2 ;
រៀងរាល់ទិន្នន័យនិងត្រូវបានបង្ហាញចេញនៅកន្លែង output បាន ៕
ខាងក្រោមនេះគឺជាការតភ្ជាប់រវាង Ultrasonic sensors ទៅនិង Arduino Uno ៕
#include "NewPing.h"
#define TRIGGER_PIN 9
#define ECHO_PIN 10
// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400
// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
float duration, distance;
void setup()
{
Serial.begin(9600);
}
void loop()
{
// Send ping, get distance in cm
distance = sonar.ping_cm();
// Send results to Serial Monitor
Serial.print("Distance = ");
if (distance >= 400 || distance <= 2)
{
Serial.println("Out of range");
}
else
{
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
Comments
Post a Comment