ใบงานที่ 4 การใช้งานเซนเซอร์วัดระยะทาง HC-SR04

นางสาวกิตติญากร ขาวใบไม้ 6031280024
นางสาวกิตติมา อุดมปัญญาศิริกุล 6031280025
ปวส.1/2 คอมพิวเตอร์ซอฟต์แวร์

HC-SR04

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


โมดูล HC-SR04 พร้อมกับสาย JST3AC-8 จำนวน 2 เส้น เพี่อเชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์

ใบงานที่ 4 การใช้งานเซนเซอร์วัดระยะทาง HC-SR04
  • - ถ้า ระยะทางตั้งแต่ 21 – 30 ซม. Led สีเขียวติด 2 ดวง
  • - ถ้า ระยะทางตั้งแต่ 11 – 20 Led สีเหลืองติด 2 ดวง (สีเขียว ยังคงติด)
  • - ถ้า ระยะทางตั้งแต่ 6 -  10  Led สีแดงติด 2 ดวง  (สีเขียว และ เหลือง ยังคงติด)
  • - ถ้า ระยะทาง น้อยกว่า 6 ให้ Led กระพริบทั้ง 6 ดวง (ติด 0.3 วินาที ดับ 0.3 วินาที)
  • - ถ้าเงื่อนไขนอกจากนี้ให้ Led ดับทั้งหมด
  • บน serial monitor ให้แสดงระยะทางหน่วยเป็น ซม.

อุปกรณ์

  1. โปรโตบอร์ด
  2. บอร์ดArduino Uno R3
  3. สายไฟผู้ผู้
  4. สายอัพโหลด
  5. ตัวต้านทาน
  6. HC-SR04
  7. หลอดไฟ LED
รูปวงจร

https://drive.google.com/open?id=1dWPu0b_EBzEnetIiHuwde5SnGM_1vWka

int led1 = 2;

int led2 = 3;

int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
const int trigPin = 9;
const int echoPin = 10;

float duration, distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  pinMode (led1,OUTPUT);
  pinMode (led2,OUTPUT);
  pinMode (led3,OUTPUT);
  pinMode (led4,OUTPUT);
  pinMode (led5,OUTPUT);
  pinMode (led6,OUTPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = (duration*.0343)/2;
  Serial.print("Distance: ");
  Serial.println(distance);
  Serial.println(" cm");
  delay(100);
  if (distance < 6) {  
  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,HIGH);
  digitalWrite(led4,HIGH);
  digitalWrite(led5,HIGH);
  digitalWrite(led6,HIGH);
  delay(300);
  digitalWrite(led1,LOW);
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);
  digitalWrite(led4,LOW);
  digitalWrite(led5,LOW);
  digitalWrite(led6,LOW);
  delay(300);
}
 if (distance <= 10) { 
  digitalWrite(led5,HIGH);
  digitalWrite(led6,HIGH);
}
else {
    digitalWrite(led1,LOW);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
  }
 if (distance <= 20) {
  digitalWrite(led4,HIGH);
  digitalWrite(led3,HIGH);
}
 else {
    digitalWrite(led5,LOW);
    digitalWrite(led6,LOW);
  }
 if (distance <= 30) {
  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
}
  delay(500);
}

วิดีโอ

ความคิดเห็น

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

เทคนิคการอินเตอร์เฟส (Interfacing Techich)

ใบงานที่ 1 ไฟวิ่ง 8 ดวง