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

แรงเคลื่อนแม่เหล็กของขดลวดทั้งสองเป็นแบบอนุกรม ดังนั้นการเป็นแม่เหล็กของแกนเหล็กจึงเพิ่มขึ้นมากกว่าของขดลวดเพียงชุดเดียว
อุปกรณ์ที่ใช้
1.โฟโต้บอร์ด
2.บอร์ด Arduino
3.หลอด LED 1 ดวง
4.HC-SR04
5.Buzzer
6.ตัวต้านทาน
7.สายแพผู้-ผู้
8.สายอัปโหลด
รูปวงจร
Download คลิก
คำอธิบาย Code
Code
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.39270);
Serial.println("นิ้ว");
delay(500);
if(distance >= 31)//ระยะวัตถุ ตั้งแต่ 31 ซม.
{
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
}
if(distance <= 30 && distance >= 21)//ระยะวัตถุ ตั้งแต่ 21-30 ซม.
{
digitalWrite (LED1,HIGH);
digitalWrite (buzzer,HIGH);
delay (1000);
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
delay (1000);
}
else
{
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
}
if(distance <= 20 && distance >= 11)//ระยะวัตถุ ตั้งแต่ 11-20 ซม.
{
digitalWrite (LED1,HIGH);
digitalWrite (buzzer,HIGH);
delay (500);
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
delay (500);
}
else
{
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
}
if(distance <= 10 && distance >= 6)//ระยะวัตถุ ตั้งแต่ 6-10 ซม.
{
digitalWrite (LED1,HIGH);
digitalWrite (buzzer,HIGH);
delay (200);
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
delay (200);
}
else
{
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
}
if(distance < 6)//ระยะวัตถุ ตั้งแต่ 5 ซม.
{
digitalWrite (LED1,HIGH);
digitalWrite (buzzer,HIGH);
}
else
{
digitalWrite (LED1,LOW);
digitalWrite (buzzer,LOW);
}
}
Download คลิก
วิดีโอ
ความคิดเห็น
แสดงความคิดเห็น