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


Buzzer บลัซเซอร์ คืออะไร

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

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


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

ทั้งนี้ให้ Serial Monitor แสดงค่าระยะทาง หน่วยเป็น cm และ inch (นิ้ว)

อุปกรณ์

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



Code


int led1 = 2;
const int trigPin = 9;
const int echoPin = 10;
const int buzzer = 8;

float duration, distance;

void setup() {
  pinMode(buzzer, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  pinMode (led1,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("ระยะทาง: ");
  Serial.print(distance);
  Serial.println(" ซม.");
  Serial.print("ระยะทาง: ");
  Serial.print(distance*.039370);
  Serial.println(" นิ้ว");
  delay(500);
  tone(buzzer, 5000);
  
 if (distance <= 30 && distance >=20) { 
  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 <=6 && distance >= 10) {
   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);
}
else{
   digitalWrite(buzzer,LOW);
   digitalWrite(led1,LOW);
}
}

วิดีโอ


ความคิดเห็น

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

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

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

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