HC-SR04: ทั้งหมดเกี่ยวกับเซ็นเซอร์อัลตราโซนิก

เซ็นเซอร์ HC-SR04

บางครั้งก็มีความจำเป็น วัดระยะทาง และสำหรับสิ่งนั้นคุณมีเซ็นเซอร์หลายตัว. เราได้ทุ่มเทบทความเพื่อพูดคุยเกี่ยวกับไฟล์ เซ็นเซอร์ระยะที่มีความแม่นยำสูงเช่น VL52L0X. เซ็นเซอร์นี้อยู่ในประเภท ToF และขึ้นอยู่กับการวัดที่แม่นยำมากด้วยเลเซอร์ แต่ถ้าความแม่นยำไม่ใช่สิ่งสำคัญสำหรับคุณและคุณต้องการบางสิ่งที่ช่วยให้คุณสามารถวัดระยะทางได้ในราคาที่ต่ำความเป็นไปได้อีกอย่างที่ ที่คุณมีอยู่ที่ปลายนิ้วของคุณคือ HC-SR04.

ในกรณีของ เซ็นเซอร์ระยะ HC-SR04 ระยะทางวัดโดยอัลตราซาวนด์. ระบบนี้คล้ายกับวิธีการทางแสงของ VL52L0X นั่นคือมันถูกปล่อยออกมามีการตีกลับและได้รับ แต่ในกรณีนี้แทนที่จะเป็นเลเซอร์หรือ IR มันเป็นอัลตราซาวนด์ หากคุณหลงใหลเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์หุ่นยนต์หรือช่างทำมือสมัครเล่นคุณสามารถใช้มันสำหรับโครงการ DIY มากมายเช่นระบบตรวจจับสิ่งกีดขวางสำหรับหุ่นยนต์เซ็นเซอร์ตรวจจับการแสดงตนเป็นต้น

HC-SR04 คืออะไร

เห็นได้ชัดอย่างที่ฉันได้แสดงความคิดเห็นไปแล้วในย่อหน้าก่อนหน้านี้ HC-SR04 เป็นเซนเซอร์วัดระยะที่มีความแม่นยำต่ำซึ่งใช้อัลตราซาวนด์. ด้วยวิธีนี้ช่วยให้สามารถวัดระยะทางด้วยวิธีที่ง่ายและรวดเร็วแม้ว่าโดยหลักการแล้วจะไม่ใช้สำหรับสิ่งนั้นก็ตาม ส่วนใหญ่มักใช้เป็นตัวแปลงสัญญาณเพื่อตรวจจับสิ่งกีดขวางและหลีกเลี่ยงผ่านกลไกอื่น ๆ ที่เกี่ยวข้องกับการตอบสนองของเซ็นเซอร์

ลักษณะของ HC-SR04 มีความโดดเด่นและจดจำได้ง่าย. นอกจากนี้ยังเป็นสินค้ายอดนิยมใน Arduino starter kits และจำเป็นสำหรับโครงการต่างๆมากมาย สามารถระบุได้ง่ายเนื่องจากมี "ตา" สองดวงซึ่งเป็นอุปกรณ์อัลตราซาวนด์ที่โมดูลนี้รวมเข้าด้วยกัน หนึ่งในนั้นคือตัวปล่อยอัลตราซาวนด์และอีกตัวรับ ทำงานที่ความถี่ 40 Khz ดังนั้นมนุษย์จึงไม่ได้ยิน

หลักการเซ็นเซอร์อัลตราโซนิก

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

ESP8266
บทความที่เกี่ยวข้อง:
ESP8266: โมดูล WIFI สำหรับ Arduino

ใน HC-SR04 ตัวปล่อยจะปล่อยอัลตร้าซาวด์และเมื่อพวกมันกระเด็นออกจากวัตถุหรือสิ่งกีดขวางที่ขวางทางที่เครื่องรับจะจับได้ วงจรจะทำการคำนวณที่จำเป็น ของเสียงสะท้อนนั้นเพื่อกำหนดระยะทาง สิ่งนี้อาจคุ้นเคยกับคุณหากคุณรู้จักระบบที่สัตว์บางชนิดเช่นโลมาปลาวาฬหรือค้างคาวใช้เพื่อค้นหาสิ่งกีดขวางเหยื่อ ฯลฯ

โดยการนับเวลาตั้งแต่ช่วงที่ส่งพัลส์ไปจนถึงการตอบสนองจะสามารถกำหนดเวลาและระยะทางได้อย่างแม่นยำ จำไว้ [Space = เวลาความเร็ว] แต่ในกรณีของ HC-SR04 คุณต้องหารปริมาณนี้ด้วย / 2 เนื่องจากเวลาได้รับการวัดจากเมื่ออัลตราซาวนด์ออกมาและเดินทางผ่านอวกาศจนกว่าจะชนสิ่งกีดขวางและทางกลับจึงจะได้ประมาณ ครึ่งหนึ่งของสิ่งนี้ ...

Pinout และเอกสารข้อมูล

คุณรู้อยู่แล้วว่าหากต้องการดูข้อมูลทั้งหมดของแบบจำลองที่คุณได้มานั้นสิ่งที่ดีที่สุดคือ ค้นหาแผ่นข้อมูล คอนกรีตของผู้ผลิต ตัวอย่างเช่นนี่คือไฟล์ แผ่นข้อมูล Sparkfunแต่ยังมีอีกมากมายใน PDF อย่างไรก็ตามนี่คือข้อมูลทางเทคนิคที่สำคัญที่สุดของ HC-SR04:

  • pinout: 4 พินสำหรับไฟ (Vcc), ทริกเกอร์ (Trigger), ตัวรับ (Echo) และกราวด์ (GND) ทริกเกอร์ระบุว่าควรเปิดใช้งานเซ็นเซอร์เมื่อใด (เมื่ออัลตราซาวนด์ถูกเปิดใช้งาน) ดังนั้นจึงเป็นไปได้ที่จะทราบเวลาที่ผ่านไปเมื่อเครื่องรับได้รับสัญญาณ
  • การให้อาหาร: 5 โวลต์
  • ความถี่อัลตร้าซาวด์: 40 Khz หูของมนุษย์สามารถได้ยินตั้งแต่ 20Hz ถึง 20Khz เท่านั้น ทุกอย่างที่ต่ำกว่า 20Hz (อินฟราซาวนด์) และสูงกว่า 20Khz (อัลตราซาวนด์) จะไม่สามารถมองเห็นได้
  • การบริโภค (สแตนด์บาย): <2mA
  • การบริโภคทำงาน: 15mA
  • มุมที่มีประสิทธิภาพ: <15ºขึ้นอยู่กับมุมของวัตถุคุณอาจได้ผลลัพธ์ที่ดีขึ้นหรือแย่ลง
  • ระยะทางที่วัดได้: ตั้งแต่ 2 ซม. ถึง 400 ซม. แม้ว่าจาก 250 ซม. ความละเอียดจะไม่ดีมาก
  • ความละเอียดปานกลาง: ความแตกต่างระหว่าง 0.3 ซม. ระหว่างระยะทางจริงและการวัดดังนั้นแม้ว่าจะไม่ได้รับการพิจารณาว่ามีความแม่นยำสูงเหมือนเลเซอร์ แต่การวัดก็ค่อนข้างเป็นที่ยอมรับสำหรับการใช้งานส่วนใหญ่
  • ราคา: จากประมาณ€ 0,65

บูรณาการกับ Arduino

HC-SR04 กับ Arduino

ไปยัง การเชื่อมต่อกับ Arduino ไม่ใช่เรื่องง่ายกว่านี้. คุณต้องรับผิดชอบในการเชื่อมต่อ GND กับเอาต์พุตที่สอดคล้องกันของ Arduino ของคุณที่ทำเครื่องหมายไว้เช่นนี้ Vcc กับแหล่งจ่ายไฟ Arduino 5v และอีกสองพินของ HC-SR04 พร้อมอินพุต / เอาต์พุตที่เลือกสำหรับโครงการของคุณ คุณจะเห็นว่ามันเรียบง่ายในโครงร่าง Fritzing ด้านบน ...

คุณต้องพิจารณาอย่างหนึ่งว่า tigger ต้องได้รับพัลส์ไฟฟ้าอย่างน้อย 10 ไมโครวินาทีเพื่อให้เปิดใช้งานได้อย่างถูกต้อง ก่อนหน้านี้คุณต้องตรวจสอบให้แน่ใจว่าอยู่ในค่า LOW

ว่า รหัสสำหรับ 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. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   โฮเซ dijo

    ฉันพบว่าคำอธิบายมีประโยชน์และเรียบง่าย