นางสาว กัญญารัตน์ สังขพันธ์ 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 จะไม่ติดเลยทั้งคู่
วิดีโอประกอบ
ทุกอย่างดูดี ใช้ได้ ^ ^ แต่ในส่วนของรูปภาพวงจรจาก Fritzing สีของสายไฟที่ต่อกับ Vcc ให้เป็นสีแดง และกราวน์ให้เป็นสีดำ และเส้นอื่น ๆ ไม่ควรใช้ 2 สีนี้..
ตอบลบ