งานที่ 17

 ESP8266 NodeMCU พร้อม HC-SR04 Ultrasonic Sensor พร้อม Arduino IDE

คู่มือนี้แสดงวิธีใช้อัลตราโซนิกเซนเซอร์ HC-SR04 กับบอร์ด ESP8266 NodeMCU โดยใช้แกน Arduino เซ็นเซอร์อัลตราโซนิกใช้โซนาร์เพื่อกำหนดระยะห่างจากวัตถุ เราจะแสดงวิธีเชื่อมต่อเซ็นเซอร์กับ ESP8266 และให้ตัวอย่างสเก็ตช์หลายแบบเพื่อกำหนดระยะห่างจากวัตถุโดยใช้ HC-SR04

ESP8266 NodeMCU พร้อม HC-SR04 Ultrasonic Sensor พร้อม Arduino IDE

บทช่วยสอนนี้ครอบคลุมหัวข้อต่อไปนี้:

ขอแนะนำอัลตราโซนิกเซนเซอร์ HC-SR04

เซ็นเซอร์อัลตราโซนิก HC-SR04 ใช้โซนาร์เพื่อกำหนดระยะห่างจากวัตถุ เซ็นเซอร์นี้อ่านได้ตั้งแต่ 2 ซม. ถึง 400 ซม. (0.8 นิ้วถึง 157 นิ้ว) ด้วยความแม่นยำ 0.3 ซม. (0.1 นิ้ว) ซึ่งเหมาะสำหรับโครงการงานอดิเรกส่วนใหญ่ นอกจากนี้ โมดูลเฉพาะนี้ยังมาพร้อมกับโมดูลตัวส่งและตัวรับแบบอัลตราโซนิก

ภาพต่อไปนี้แสดงเซ็นเซอร์อัลตราโซนิก HC-SR04

HC-SR04 อัลตราโซนิกเซนเซอร์โมดูลส่วนประกอบการวัดระยะทางด้านหน้า

รูปภาพถัดไป:อีกด้านหนึ่งของเซ็นเซอร์

HC-SR04 อัลตราโซนิกเซนเซอร์โมดูลส่วนประกอบการวัดระยะทางกลับ

หาซื้อได้ที่ไหน HC-SR04 Ultrasonic Sensor?

คุณสามารถตรวจสอบเซ็นเซอร์ Ultrasonic Sensor HC-SR04 บน Maker Advisor เพื่อค้นหาราคาที่ดีที่สุด:

ข้อมูลทางเทคนิคของเซนเซอร์อัลตราโซนิก HC-SR04

ตารางต่อไปนี้แสดงคุณสมบัติหลักและข้อกำหนดของเซ็นเซอร์อัลตราโซนิก HC-SR04 สำหรับข้อมูลเพิ่มเติม คุณควรศึกษาเอกสารข้อมูลของเซ็นเซอร์

พาวเวอร์ซัพพลาย5V DC
การทำงานปัจจุบัน15 mA
ความถี่ในการทำงาน40 kHz
ช่วงสูงสุด4 เมตร
ช่วงต่ำสุด2 ซม.
วัดมุม15º
ปณิธาน0.3 ซม.
สัญญาณอินพุตทริกเกอร์10uS TTL ชีพจร
ก้องเอาท์พุตสัญญาณชีพจร TTL สัดส่วนกับช่วงระยะทาง
ขนาด45mm x 20mm x 15mm

HC-SR04 อัลตราโซนิกเซนเซอร์ Pinout

นี่คือพินเอาต์ของอัลตราโซนิกเซนเซอร์ HC-SR04

VCCให้พลังงานแก่เซ็นเซอร์ (5V)
หนุนทริกเกอร์อินพุต Pin
ก้องEcho เอาต์พุต Pin
GNDGND ทั่วไป

อัลตราโซนิกเซนเซอร์ HC-SR04 ทำงานอย่างไร

เซ็นเซอร์อัลตราโซนิกใช้โซนาร์เพื่อกำหนดระยะห่างจากวัตถุ นี่คือวิธีการทำงาน:

  1. เครื่องส่งอัลตราซาวนด์ (ขาหนีบ) ปล่อยเสียงความถี่สูง (40 kHz)
  2. เสียงเดินทางผ่านอากาศ หากพบวัตถุ มันจะเด้งกลับไปที่โมดูล
  3. เครื่องรับอัลตราซาวนด์ (เอคโคพิน) รับเสียงสะท้อน (เอคโค่)
HC-SR04 Ultrasonic Sensor ทำงานอย่างไร

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

distance to an object = ((speed of sound in the air)*time)/2
  • ความเร็วของเสียงในอากาศ 20ºC (68ºF) = 343m/s

อะไหล่ที่จำเป็น

ESP8266 NodeMCU Board HC-SR04 โมดูลอัลตราโซนิกเซนเซอร์ Arduino การสาธิต

ในการทำให้บทช่วยสอนนี้สมบูรณ์ คุณต้องมีชิ้นส่วนต่อไปนี้:

คุณสามารถใช้ลิงก์ก่อนหน้าหรือไปที่MakerAdvisor.com/toolsโดยตรงเพื่อค้นหาชิ้นส่วนทั้งหมดสำหรับโครงการของคุณในราคาที่ดีที่สุด!

แผนผัง – ESP8266 NodeMCU พร้อม HC-SR04 Ultrasonic Sensor

ต่อสายเซ็นเซอร์อัลตราโซนิก HC-SR04 เข้ากับ ESP8266 ตามที่แสดงในแผนผังต่อไปนี้ เรากำลังเชื่อมต่อ Trig pin กับGPIO 5 และหมุดก้องไปที่ GPIO 18แต่คุณสามารถใช้พินอื่นๆ ที่เหมาะสมได้

ESP8266 NodeMCU Wiring Circuit Ultrasonic Sensor Diagram
อัลตราโซนิกเซนเซอร์ESP8266
VCCวิน
หนุนGPIO 12 (D6)
ก้องGPIO14 (D5)
GNDGND

กำลังเตรียม Arduino IDE

เราจะตั้งโปรแกรมบอร์ด ESP8266 โดยใช้ Arduino IDE ดังนั้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งโปรแกรมเสริม ESP8266 แล้ว ทำตามบทช่วยสอนถัดไป:

หากคุณต้องการใช้ VS Code กับส่วนขยาย PlatformIO ให้ทำตามบทช่วยสอนถัดไปแทนเพื่อเรียนรู้วิธีตั้งโปรแกรม ESP8266:

รหัส – ระยะทางไปยังวัตถุโดยใช้เซ็นเซอร์อัลตราโซนิก HC-SR04 และ ESP8266

ภาพสเก็ตช์ต่อไปนี้เป็นตัวอย่างง่ายๆ ของวิธีที่คุณจะได้รับระยะห่างระหว่างเซ็นเซอร์กับวัตถุโดยใช้บอร์ด ESP8266 ที่มีแกน Arduino

/*********
  Rui Santos
  Complete project details at https://RandomNerdTutorials.com/esp8266-nodemcu-hc-sr04-ultrasonic-arduino/
  
  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files.
  
  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.
*********/

const int trigPin = 12;
const int echoPin = 14;

//define sound velocity in cm/uS
#define SOUND_VELOCITY 0.034
#define CM_TO_INCH 0.393701

long duration;
float distanceCm;
float distanceInch;

void setup() {
  Serial.begin(115200); // Starts the serial communication
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
}

void loop() {
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);
  
  // Calculate the distance
  distanceCm = duration * SOUND_VELOCITY/2;
  
  // Convert to inches
  distanceInch = distanceCm * CM_TO_INCH;
  
  // Prints the distance on the Serial Monitor
  Serial.print("Distance (cm): ");
  Serial.println(distanceCm);
  Serial.print("Distance (inch): ");
  Serial.println(distanceInch);
  
  delay(1000);
}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ESP8266 ควบคุมเว็ป(NodeMCU ESP8266 เชื่อมต่อ DHT11 เซ็นเซอร์วัดอุณหภูมิและความชื้น แสดงค่าผ่าน wifi web server)