วันอังคารที่ 27 มีนาคม พ.ศ. 2561

ใบงานที่ 5 HC-SR04 with Buzzer

นางสาว กัญญารัตน์  สังขพันธ์ 1สทค.2 6031280023

นาย  จารุเดช  สังข์ประไพ 1สทค.2 6031280027

Buzzer

 Buzzer (บัซเซอร์) คือ ลำโพงแบบแม่เหล็กหรือ แบบเปียโซที่มีวงจรกำเนิดความถี่ (oscillator ) อยู่ภายในตัว ใช้ไฟเลี้ยง 3.3 - 5V สามารถสร้างเสียงเตือนหรือส่งสัญญาณที่เป็นรูปแบบต่างๆได้


โครงสร้างภายใน

โครงสร้างภายในประกอบด้วยแท่งเหล็กรูปตัวยู (U-Shaped) พันขดลวดรอบๆ แท่งเหล็กนี้ต่ออนุกรมกับหน้าสัมผัสซึ่งเปิดปิดได้โดยการเคลื่อนที่ของก้านอามาเจอร์การใช้งานต้องต่อกระดิ่งไฟฟ้าอนุกรมกับสวิทช์กดปุ่ม (Push Button) และแหล่งจ่ายไฟฟ้า เช่น แบตเตอรี่ เมื่อกดสวิตช์กระแสไฟฟ้าจะผ่านหน้าสัมผัสและขดลวด ทำให้เกิดการดึงดูดอามาเจอร์ให้เคลื่อนที่มาเคาะกระดิ่งทำให้เกิดเสียงดัง ในขณะที่อามาเจอร์เคลื่อนที่ก็จะตัดวงจรไฟฟ้าออกไปด้วย ดังนั้นเมื่อก้านอามาเจอร์เคาะกระดิ่ง แล้วก็จะดีดไปตำแหน่งเดิมทันที่ และต่อวงจรไฟฟ้าอีกครั้ง เมื่อใดที่ปล่อยมือจากสวิตช์กระบวนการที่เกิดขึ้นก็จะหยุดลง




การนำ Buzzer และ เซนเซอร์ HC-SR04 มาใช้งาน

อุปกรณ์

1. ลำโพง Buzzer 1 ตัว




2. HC-SR04 1 ตัว




3. บอร์ด Arduino 1 บอร์ด




4. สายไฟผู้-ผู้




5. โปรโตรบอร์ด 1 บอร์ด




6. ตัวต้านทาน 220 Ω 1 ตัว




7. LED 1 ตัว




รูปวงจร


Download Frizing file ที่นี่

Code Program Arduino

const int trigPin = 9;
const int echoPin = 10;
int led1=2;
int buzzer=3;
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("Distance: ");
  Serial.print(distance);
  Serial.print(" cm ");
  Serial.println();
  Serial.print(distance* 0.39370);
  Serial.println(" inch ");
  delay(20);
  
  if (distance <=30 && distance >=21)
  {
  digitalWrite (buzzer,HIGH);
  digitalWrite (led1,HIGH);
  delay(1000);
  digitalWrite (buzzer,LOW);
  digitalWrite (led1,LOW);
  delay(1000);
  }
  if (distance<=20 && distance >=11)
  {
  digitalWrite (buzzer,HIGH);
  digitalWrite (led1,HIGH);
  delay(500);
  digitalWrite (buzzer,LOW);
  digitalWrite (led1,LOW);
  delay(500);
  }
  else
  {
    digitalWrite (led1,LOW);
    digitalWrite (buzzer,LOW);
  }
   if (distance<=10 && distance >=6)
   {
  digitalWrite (buzzer,HIGH);
  digitalWrite (led1,HIGH);
  delay(200);
  digitalWrite (buzzer,LOW);
  digitalWrite (led1,LOW);
  delay(200);
  }
  else
  {
  digitalWrite (buzzer,LOW);
  digitalWrite (led1,LOW);
  }
  if (distance <=5)
   {
  digitalWrite (buzzer,HIGH);
  digitalWrite (led1,HIGH);
   }
  else
  {
  digitalWrite (buzzer,LOW);
  digitalWrite (led1,LOW);
  }
   if (distance>=31)
   {
   digitalWrite (buzzer,LOW);
   
   digitalWrite (led1,LOW);
  
   }
   }

Download Arduino Code ที่นี่

อธิบายวงจร

เป็นการนำเซนเซอร์ตรวจจับระยะ HC-SR04 มาใช้งาน กับ Buzzer โดยเมื่อวัตถุเข้ามาในระยะที่กำหนด คือตั้งแต่ 6 ซม.ลงมา LED และ Buzzer จะติดค้างไว้ตลอด และเมื่อเพิ่มระยะห่างของวัตถุตั้งแต่ 6 ซม. ขึ้นไป LED และ Buzzer จะติดครั้งละ 0.2 วินาที หากเพิ่มระยะไปอีกเป็นระยะตั้งแต่ 11-20 ซม. LED และ Buzzer จะติดครั้งละ 0.5 วินาที และเมื่อเพิ่มระยะเป็นระยะตั้งแต่ 21-30 ซม. LED และ Buzzer จะติดครั้งละ 1 วินาที สุดท้ายหากนำวัตถุห่างจากระยะเซนเซอร์ตั้งแต่ 31 ซม. ขึ้นไป LED และ Buzzer จะไม่ติดเลยทั้งคู่


วิดีโอประกอบ










1 ความคิดเห็น:

  1. ทุกอย่างดูดี ใช้ได้ ^ ^ แต่ในส่วนของรูปภาพวงจรจาก Fritzing สีของสายไฟที่ต่อกับ Vcc ให้เป็นสีแดง และกราวน์ให้เป็นสีดำ และเส้นอื่น ๆ ไม่ควรใช้ 2 สีนี้..

    ตอบลบ