การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ

การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ

โดย bankjittapol » 16/11/2019 4:42 pm

การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับวัดถุต่างๆ
กล่าวคร่าวๆ Ultrasonic Sensor คือ เซ็นเซอร์ตรวจจับวัตถุต่างๆ โดยการส่งคลื่นความถี่เสียงไป แล้วสะท้อนกลับมาที่ตัวเซ็นเซอร์ ตัวเซ็นเซอร์จะคำนวณหาระยะห่างระหว่างวัตถุกับ เซ็นเซอร์ ซึ่งจะใช้ Arduino ในการควบคุมสั่งการตัวเซ็นเซอร์ ซึ่ง Arduino นั่นก็คือ microcontroller ใช้สำหรับ ใส่คำสั่งเข้าไปเพื่อควบคุมอะไรก็ตามที่ต้องการได้ เช่น เซ็นเซอร์ มอเตอร์ เซอร์โว รีเลย์ เป็นต้น

อุปกรณ์ที่ใช้
1. Ultrasonic Sensor HC-SR04
2. Arduino Uno

ตัวอย่างการต่อวงจร
รูปภาพ

การต่อวงจร
1. ต่อขา VCC เข้ากับ ไฟ 5V ที่บอร์ด
2. ต่อขา Trig เข้ากับ pin 7 ซึ่ง Trig เป็นขาอินพุตรับสัญญาณพัลส์ เพื่อกระตุ้นการสร้างคลื่นอัลตราโซนิกความถี่ ออกสู่อากาศจากตัวส่ง
3. ต่อขา Echo เข้ากับ pin 6 ซึ่ง Echo เป็นขาเอาต์พุตสำหรับส่งสัญญาณพัลส์ ไปยังตัว arduino เพื่อตรวจจับความกว้างของสัญญาณพัลส์ และคำนวณเป็นระยะทาง
4. ต่อขา GND เข้ากับ GND (ground)

โค้ด: เลือกทั้งหมด


int Trig_PIN =  7 ;
int Echo_PIN =  6 ;

void setup() {
  pinMode(Trig_PIN, OUTPUT);
  pinMode(Echo_PIN, INPUT);
 

  Serial.begin(9600);
}

void loop() {
 
  digitalWrite(Trig_PIN, LOW);
  delayMicroseconds(5);
  digitalWrite(Trig_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig_PIN, LOW);
  unsigned int PulseWidth = pulseIn(Echo_PIN, HIGH);
  unsigned int distance = PulseWidth * 0.0173681;

  Serial.print("Distance is ");
  Serial.print(distance);
  Serial.println(" cm.");
  delay(100);
}
ความหมายของ คำสั่ง
pinMode คือการกำหนด pin ว่าจะเป็น input หรือ output
digitalWrite คือ คำสั่งใช้งานไฟ 5V นั่นคือ 1 หรือ HIGH คือเปิด 0 หรือ LOW คือ ปิด
delayMicroseconds คือ คำสั่งดีเลย์ หน่วยเป็น micro second
unsigned int คือ กำหนดให้ตัวแปรมีค่าเป็น จำนวนเต็มบวกเท่านั้น
Serial.print คือ คำสั่งแสดงผลใน Serial monitor
delay คือ คำสั่งดีเลย์ หน่วยเป็น millisecond

ผลลัพธ์
รูปภาพ

สามารถศึกษาเพิ่มเติมได้ที่นี่
Arduino อาดูโน่ หรือ อาดูยอีโน่ คืออะไร
Internet of Thing อินเทอร์เน็ต ออฟ ธิง คืออะไร
Sensor คืออะไร
Ultrasonic Sensor คืออะไร
IOT - Internet of things





อ้างอิง
https://www.ioxhop.com/article/56/เปรียบเทียบโมดูลวัดระยะด้วยคลื่นอัตตร้าโซนิครุ่นต่าง-ๆ-พร้อมวิธีใช้งาน
http://www.es.co.th/schemetic/pdf/NX-SFR05.pdf
http://sittinfo.blogspot.com/2018/05/ultra-sonic.html

ข้างบน