ใบงานที่ 4

  ใบงานที่4 HC-SRO4 Ultrasonic Sensor

ผู้จัดทำ
         นาย กฤษณะ     รักธรรม        001
         นาย สราวุธ       ชอบเพื่อน     021


หลักการทำงาน

HC-SR04 เป็นเซนเซอร์โมดูลสำหรับตรวจจับวัตถุและวัดระยะทางแบบไม่สัมผัส [1-2] โดยใช้คลื่นอัลตราโซนิก ซึ่งเป็นคลื่นเสียงความถี่สูงเกินกว่าการได้ยินของมนุษย์ วัดระยะได้ตั้งแต่ 2 – 400 เซนติเมตร หรือ 1 – 156 นิ้ว สามารถต่อใช้งานกับไมโครคอนโทรลเลอร์ได้ง่าย ใช้พลังงานต่ำ เหมาะกับการนำไปประยุกต์ใช้งานด้านระบบควบคุมอัตโนมัติ หรืองานด้านหุ่นยนต์ หลักการทำงาน จะเหมือนกันกับการตรวจจับวัตถุด้วยเสียงของค้างคาว ตามรูปที่ 1 โดยจะประกอบไปด้วยตัว รับ-ส่ง อัลตราโซนิก ตัวส่งจะส่งคลื่นความถี่ 40 kHz ออกไปในอากาศด้วยความเร็วประมาณ 346 เมตรต่อวินาที และตัวรับจะคอยรับสัญญาณที่สะท้อนกลับจากวัตถุ เมื่อทราบความเร็วในการเคลื่อนที่ของคลื่น, เวลาที่ใช้ในการเดินทางไป-กลับ (t) ก็จะสามารถคำนวณหาระยะห่างของวัตถุ (S) ได้จาก
 S = 346 × 0.5t                                    (1)
รูปที่ 1 หลักการตรวจจับและวัดระยะห่างระหว่างวัตถุด้วยคลื่นเสียง












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

รูป





วีดีโอ




  Code





const int trigPin = 9;
const int echoPin = 10;
int buzzer = 5;
int LED1 = 2;
float duration, distance;


void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(LED1, OUTPUT);
  pinMode(buzzer, OUTPUT);
  Serial.begin(9600);
}

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("ระยะวัตถุ : ");
  Serial.print(distance);
  Serial.println(" ซม.");
  Serial.print("ระยะวัตถุ : ");
  Serial.print(distance * 0.39370);
  Serial.println(" นิ้ว ");
  delay(500);

  if (distance < 30 && distance >= 21)
  {  
    digitalWrite(buzzer,HIGH);
    digitalWrite(LED1,HIGH);
    delay(1000);
    digitalWrite(buzzer,LOW);
    digitalWrite(LED1,LOW); 
    delay(1000);
  }
  else if(distance <=21 && distance >= 11)
  {  
    digitalWrite(buzzer,HIGH);
    digitalWrite(LED1,HIGH);
    delay(500);
    digitalWrite(buzzer,LOW);
    digitalWrite(LED1,LOW); 
    delay(500); 
  }
  
  else if(distance <=11 && distance >= 6)
  {  
    digitalWrite(buzzer,HIGH);
    digitalWrite(LED1,HIGH);
    delay(200);
    digitalWrite(buzzer,LOW);
    digitalWrite(LED1,LOW); 
    delay(200); 
  }
else if(distance <=5)
  {  
    digitalWrite(buzzer,HIGH);
    digitalWrite(LED1,HIGH);
  }
  }
                                                                   

                                                                   ดาวโหลด




ความคิดเห็น

บทความที่ได้รับความนิยม