Arduino tutorial 7: ปฏิบัติการ Ultrasonic HC-SR04 sensor

สวัสดีครับ พลพรรค Arduino Kids ทุกคน ห่างหายกันไปนาน วันนี้ พึ่งมีเวลากลับมาทักทายกันนะครับ

วันนี้  admin นำ Project ดีๆ ที่น่าสนใจมาให้ทุกคนได้ลองทำเหมือนเดิมครับ นั่นก็คือ เจ้า Sensor วัดระยะทางนั่นเองครับ หลายคนคงเคยเห็นในชีวิตประจำวันกันไปแล้ว ไม่ว่าจะเป็น Sensor ที่จอดรถในห้างสรรพสินค้าต่างๆ เวลาเราถอยรถเข้าจอดตามที่จอดรถ หรือ Sensor วัดระยะการถอยหลังของรถ ราคาแพงหลายๆ คันที่จะสามารถบอกระยะปลอดภัยในการป้องกันการถอยชนผนัง หรือเสา วันนี้ admin เลยนำหลักการดังกล่าว มาสอนให้ Arduino Kids ทุกคนได้ทราบถึงหลักการและวิธีประกอบพื้นฐานเพื่อนำไปใช้เป็นแนวทางในการประยุกต์ใช้กับอุปกรณ์อื่นๆ นะครับ

ว่าแล้วเราก็เริ่มกันเลยดีกว่านะครับ เรามาทำความรู้จักกับพระเอกของเราในวันนี้กันก่อนเลยแล้วกันนะครับ นั่นก็คือ เจ้า Ultrasonic HC-SR04 กันก่อนเลยนะครับ

HC-SR04 เป็นโมดูลวัดระยะทางที่ใช้หลักการสะท้อนของคลื่นอัลตร้าโซนิก ราคาประหยัด โดยตัว HC-SR04 มีแหล่งกำเนิดคลื่นอัลตร้าโซนิกส่งไปสะท้อนกับวัตถุที่อยู่ข้างหน้ากลับมายังตัวรับสัญญาณ โดยระยะทางที่วัดได้จะสัมพันธ์กับระยะเวลาที่คลื่นอัลตร้าโซนิกเคลื่อนที่ไปกระทบวัตถุและสะท้อนกลับมายังตัวรับ เมื่อรู้ระยะเวลาที่คลื่นอัลตร้าโซนิกสะท้อนกลับมา จึงนำมาคำนวณหาเป็นระยะทางระหว่างโมดูล HC-SR04 กับวัตถุได้ โดยโมดูล HC-SR04 วัดระยะทางในช่วง 2 ถึง 500 ซม. (5 เมตร) มีความละเอียดอยู่ที่ 0.3 ซม. ใช้ไฟเลี้ยง +5V

แล้วเมื่อเรานำเจ้า HC-SR04 มาต่อกับ Arduino board ตัวจิ๋วของเราจะเป็นอย่างไร เรามาลองทำกันเลยนะครับ

อุปกรณ์ที่ใช้ประกอบไปด้วย

  1. Arduino UNO R3 board
  2. Breadboard
  3. Ultrasonic HC-SR04 sensor
  4. LED
  5. Resistor 220 ohm
  6. jumper wires (x 6)

เมื่อได้อุปกรณ์ครบแล้วเราก็มาเริ่มต่อวงจรกันเลยนะครับ

อันดับแรก เราจะทำการต่อวงจรของหลอดไฟ LED ไว้ก่อนนะครับ เพื่อแสดงสัญญาณการเข้าเมื่อเข้าใกล้วัตถุ เพื่อเป็นการเตือนป้องกันการชนหรือกระแทก

ขั้นตอนที่ 1 LED

นำหลอดไฟ LED เสียบลงไปใน Breadboard

ขั้นตอนที่ 2 LED

นำ resistor 220 ohm เชื่อมต่อกับขั้วบวก + (ANODE) ของหลอด LED พร้อมทั้งต่อสายไฟสีแดง ต่อเข้ากับ resistor และ สายไฟสีดำ ต่อเข้ากับ ขาขั้วลบ – (CATHODE) ของหลอดไฟ LED ตามรูปนะครับ

ขั้นตอนที่ 3 LED

นำสายไฟทั้งสองเส้นเชื่อมต่อกับ Arduino UNO R3 board โดยนำสายไฟสีแดง เชื่อมต่อไปที่ Digital pin เบอร์ 13 และ สายไฟสีดำ เชื่อมต่อไปที่ GND ตรวจเช็คได้ตามรูปเลยนะครับ

พอเราทำการต่อวงจรของหลอด LED เสร็จแล้ว เราก็มาต่อวงจรของระบบ sensor วัดระยะทางกันบ้างนะครับ

ขั้นตอนที่ 1 HC-SR04

นำ HC-SR04 เสียบลงไปใน Breadboard

ขั้นตอนที่ 2 HC-SR04

เชื่อมต่อสายไฟ 4 เส้นเข้ากับ HC-SR04 ตามลำดับ ดังต่อไปนี้

สายไฟสีแดงแดง เชื่อมต่อกับ pin VCC

สายไฟสีน้ำเงิน เชื่อมต่อกับ pin Trig

สายไฟสีส้ม เชื่อมต่อกับ pin Echo

สายไฟสีดำ เชื่อมต่อกับ GND

ขั้นตอนที่ 3 HC-SR04

นำสายไฟจาก HC-SR04 ไปเชื่อมต่อกับ Arduino UNO R3 ดังต่อไปนี้

สายไฟสีแดง จาก VCC นำไปเชื่อมต่อกับ 5V

สายไฟสีน้ำเงิน จาก Trig นำไปเชื่อมต่อกับ Digital pin เบอร์ 9

สายไฟสีส้ม จาก Echo นำไปเชื่อมต่อกับ Digital pin เบอร์ 8

สายไฟสีดำ จาก GND นำไปเชื่อมต่อกับ GND

ตรวจเช็คได้ตามรูปเลยนะครับ

เมื่อทำการเชื่อมต่อเสร็จสิ้นแล้ว เราจะมาจัดการในส่วนของ Code กันนะครับ ซึ่ง Code ที่ใช้อยู่ด้านล่างนี้แล้วนะครับ สามารถ copy ไปลองศึกษาและทำกันได้เลยนะครับ

Code

// defines pins numbers
const int trigPin = 9;
const int echoPin = 8;
const int ledPin = 13;

// defines variables
long duration;
int distance;
int safetyDistance;

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

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);

// Calculating the distance
distance= duration*0.034/2;

safetyDistance = distance;
if (safetyDistance <= 5){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}

// Prints the distance on the Serial Monitor
Serial.print(“Distance:”);
Serial.println(distance);
}

เป็นอย่างไรกันบ้างครับ ไม่ยากเลยใช่ไหมครับ ลองฝึกแก้ไข Code และนำไปปรับใช้กับอุปกรณ์อื่นๆ ได้นะครับ ยังงัยวันนี้ admin ของตัวและหัวใจไปก่อนนะครับ คราวหน้ามี Project อะไรดีๆ มาฝาก จะนำมาให้ลองเล่นกันอีกนะครับ บับบายยยยยยยยยยยยย

One thought on “Arduino tutorial 7: ปฏิบัติการ Ultrasonic HC-SR04 sensor

Leave a Reply