เจ้าของร้านค้านี้ ไม่ได้เข้าสู่ระบบเป็นระยะเวลา 26 วัน แล้ว

Ultrasonic Sensor Module (อัลตราโซนิก)

Ultrasonic Sensor Module (อัลตราโซนิก)
รหัสสินค้า SKU-00029
หมวดหมู่ Sensor ( เซ็นเซอร์ )
ราคา 149.00 บาท
สถานะสินค้า พร้อมส่ง
ลงสินค้า 23 ก.พ. 2557
อัพเดทล่าสุด 2 มี.ค. 2557
คงเหลือ ไม่จำกัด
จำนวน
ชิ้น
หยิบลงตะกร้า
บัตรประชาชน
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay

 Ultrasonic Sensor Module (อัลตราโซนิก)

หลักการทำงานของโมดูลวัดระยะห่างด้วยคลื่นอัลตร้าโซนิค

โมดูล HC-SR04 เป็นอุปกรณ์อิเล็กทรอนิกส์ราคาถูก สำหรับวัดระยะห่างด้วยคลื่นอัลตราโซนิค (ใช้คลื่นเสียงความถี่ ประมาณ 40kHz) มีสองส่วนหลักคือ ตัวส่งคลื่นที่ทำหน้าที่สร้างคลื่นเสียงออกไปในการวัดระยะแต่ละครั้ง ("Ping") แล้วเมื่อไปกระทบวัตถุหรือสิ่งกีดขวาง คลื่นเสียงถูกสะท้อนกลับมายังตัวรับแล้วประมวลผลด้วยวงจรอิเล็กทรอนิกส์ภายในโมดูล ถ้าจับเวลาในการเดินทางของคลื่นเสียงในทิศทางไปและกลับ และถ้าทราบความเร็วเสียงในอากาศ ก็จะสามารถคำนวณระยะห่างจากวัตถุกีดขวางได้

 

 
รูปภาพอุปกรณ์ HC-SR04

โมดูล HC-SR04 ทำงานที่แรงดันประมาณ +5V (4.5V ถึง +5.5V) โดยป้อนให้ขา VCC และ GND โมดูลนี้ มีขาสัญญาณดิจิทัล TRIG (อินพุต) และ ECHO (เอาต์พุต) ที่นำไปเชื่อมต่อกับไมโครคอนโทรลเลอร์ได้ อย่างเช่น Arduino ในการวัดระยะห่างแต่ละครั้ง จะต้องสร้างสัญญาณแบบ Pulse ที่มีความกว้าง (Pulse Width) อย่างน้อย 10 usec ป้อนให้ขา TRIG และหลังจากนั้นให้วัดความกว้างของสัญญาณช่วง HIGH จากขา ECHO ถ้าวัตถุอยู่ใกล้ ความกว้างของสัญญาณ Pulse ที่ได้ก็จะน้อย แต่ถ้าวัตถุอยู่ไกลออกไป ก็จะได้ค่าความกว้างของสัญญาณ Pulse ที่มากขึ้น

การเลือกใช้งานโมดูลประเภทนี้ มีประเด็นที่สำคัญ เช่น ช่วงระยะห่างของการวัด ความกว้างของมุมเมื่อคลื่นเสียงเดินทางออกไปจากตัวส่ง (เรียกว่า Beam Angle) นอกจากนั้น การสะท้อนกลับของคลื่นเสียงที่วัตถุกีดขวาง ขนาดและรูปทรงของวัตถุ และการสะท้อนกลับของเสียงจากหลายทิศทาง หรือต่างระยะกัน ก็มีผลต่อความถูกต้องหรือความผิดพลาดในการวัดค่าระยะห่างได้เช่นกัน

ข้อมูลเชิงเทคนิคของโมดูล HC-SR04

  • ใช้แรงดันประมาณ +5V
  • กินกระแสประมาณ 15mA
  • ช่วงการวัดระยะทาง (measurement range): ประมาณ 4cm ถึง 4m
  • ความกว้างเชิงมุมในการวัด (measuring angle): 15 องศา
  • ความกว้างของสัญญาณ Pulse สำหรับ Trigger: 10 usec
  • ระดับแรงดันลอจิกสำหรัขา TRIG และ ECHO: 5V TTL

ศึกษาข้อมูลเพิ่มเติมได้จากเอกสารต่อไปนี้ 
Datasheet: http://elecfreaks.com/store/download/HC-SR04.pdf

พฤติกรรมการทำงานของโค้ด Arduino Sketch

โค้ดตัวอย่างนี้ จะทำให้ Arduino ส่งสัญญาณ Pulse ความกว้างอย่างน้อย 10 usec ออกไปที่ขาเอาต์พุต TRIG จากนั้นจึงวัดความกว้างของสัญญาณ Pulse ที่เป็นอินพุตจากขา ECHO โดยใช้คำสั่ง pulseIn() ซึ่งเป็นคำสั่งของ Arduino และจะได้ค่าเป็นจำนวนเต็ม (หน่วยเป็นไมโครวินาที) จากนั้นนำค่าที่ได้มาคำนวณเป็นระยะทาง (หน่วยเป็นมิลลิเมตร) ในกรณีที่ได้ค่ามากกว่า 4000 (เกิน 4m หรือ 400cm) จะทำการวัดค่าใหม่ จนกว่าจะได้ค่าระยะห่างไม่เกิน 4000 เมื่อได้ค่าที่ถูกต้อง จะแสดงค่าทาง Serial แล้วเว้นระยะเวลาประมาณ 300 msec (0.3 วินาที) แล้วทำขั้นตอนซ้ำ

Arduino Sketch

//////////////////////////////////////////////////////////////////
// Author: RSP @ ESL (Embedded System Lab), KMUTNB
// Date: 16-Jul-2013
// Target Board: Arduino Uno (ATmega328P, 5V, 16MHz)
// Arduino IDE: version 1.0.5
// HC-SR04 Ultrasonic module (using VCC=5V)

#define ECHO_PIN  3  // Echo Pin (Input) -- from the ECHO pin of HC-SR04
#define TRIG_PIN  5  // Trigger Pin (Output) -- to the TRIG pin of HC-SR04

void setup() {
  pinMode( TRIG_PIN, OUTPUT );  
  pinMode( ECHO_PIN, INPUT );  
  digitalWrite( TRIG_PIN, LOW ); // output LOW to the TRIG pin
  Serial.begin( 115200 ); // initialize serial, use baudrate=115200
}

void loop() {
  unsigned long duration_usec;
  unsigned long distance_mm;
  // v = 340 m/s = (340 * 100)/10^6 cm/usec = 34/1000 cm/usec
  // 2*d = v*t => d = v*t/2 = (17*t)/1000 cm = (17*t)/100 mm.  
  while (1) {
    duration_usec = ping();
    distance_mm = (17*duration_usec)/100; 
    if ( distance_mm > 4000 ) { // out of range (beyond 4 meters)
       // Serial.println( "Out of range!" );
       continue;
    }
    Serial.print( "Distance: " );
    Serial.print( distance_mm / 10 );
    Serial.print( '.' );
    Serial.print( distance_mm % 10 );
    Serial.println( " cm" );
    break;
  }
  delay(300);
}

unsigned long ping() {
  // send a pulse (at least 10 usec long) to the TRIG pin
  digitalWrite( TRIG_PIN, HIGH ); 
  delayMicroseconds( 12 ); 
  digitalWrite( TRIG_PIN, LOW ); 
  // measure the ECHO pulse width (in microseconds)
  unsigned long duration_usec = pulseIn( ECHO_PIN, HIGH );
  return duration_usec;
}

http://www.ee.kmutnb.ac.th/eerobot/esl/learning/index.php?article=hc-sr04-ultrasonic

วิธีการชำระเงิน

ธนาคารกรุงเทพ จำกัด (มหาชน) สาขาศูนย์การค้าเซียร์ รังสิต ออมทรัพย์
  • ค่าธรรมเนียม 3.9% + 11 THB
  • การชำระผ่าน PayPal คุณไม่จำเป็นต้องแจ้งชำระเงิน เนื่องจากระบบจะจัดการให้คุณทันที ที่คุณชำระเงินเสร็จสมบูรณ์

MEMBER

STATISTICS

หน้าที่เข้าชม124,129 ครั้ง
ผู้ชมทั้งหมด51,783 ครั้ง
เปิดร้าน11 ธ.ค. 2556
ร้านค้าอัพเดท10 ส.ค. 2568

CONTACT US

0934502217
พูดคุย-สอบถาม