ผู้จัดทำ
นาย คมสันต์ รั่วลี 1 สทค 1 6031280004
นาย ชัยวัฒน์ มาลาเอี่ยม 1 สทค 1 6031280010
อุปกรณ์ที่ใช้
1. ตัวต้านทาน 220R 1ตัว
2. สายไฟ 8 เส้น
3. บอร์ด Arduino
4. สาย USB
5. โฟโต้บอร์ด
6. HC - SR04
6. HC - SR04
7. Buzzer
| ||||
ลำโพงขนาดเล็กที่ใช้ต่อกับไมโครคอนโทรลเลอร์
| ||||
![]() | ลำโพงแบบ Magnetic-diaphragm ขนาดเล็ก | |||
- ให้เสียงดัง แต่มีความต้านทานต่ำ ต้องมีทรานซิสเตอร์ช่วยขับอีกทีหนึ่ง | ||||
![]() | ||||
แบบ diaphragm โลหะ
| ||||
![]() | ||||
ข้างในประกอบด้วย diaphragm, ขดลวด, และแม่เหล็กถาวร
| ||||
- ลำโพงแบบนี้จะมีขนาดเล็ก ให้ระดับเสียงสูงได้ดี แต่ระดับเสียงต่ำไม่ค่อยดีนัก | ||||
![]() | ||||
แบบ diaphragm พลาสติค
| ||||
- ลำโพงแบบนี้จะให้ระดับเสียงต่ำได้ดีขึ้น | ||||
![]() | ลำโพงแบบเปียโซ (Piezo) | |||
- มีความต้านทานสูงสามารถต่อกับไมโครคอนโทรลเลอร์ได้โดยตรง | ||||
- แผ่นลำโพงแบบเปียโซ มีคุณสมบัติเมื่อป้อนแรงดันไฟฟ้าจะทำให้เกิดการบิดงอไปมาทำให้เกิดเสียงขึ้น | ||||
- คุณสมบัติของเสียงขึ้นอยู่กับขนาดของแผ่น Piezo และกล่องกำทอน (resonance box) | ||||
![]() | ||||
แผ่น diaphragm ของลำโพงแบบเปียโซ
| ||||
![]() | ||||
ลำโพงแบบเปียโซเมื่ออยู่ในกล่องกำทอน (resonance box)
| ||||
![]() | ||||
ลำโพงแบบเปียโซเมื่ออยู่ในกล่องกำทอน (resonance box) อีกลักษณะหนึ่ง
| ||||
บัซเซอร์ (Buzzer ) | ||||
- คือลำโพงแบบแม่เหล็กหรือ แบบเปียโซที่มีวงจรกำเนิดความถี่ (oscillator ) อยู่ภายในตัว | ||||
เมื่อป้อนแรงดันสามารถกำเนิดเสียงได้ด้วยตัวเอง แต่ไม่สามารถเปลี่ยนความถี่ของเสียงได้ | ||||
![]() | ||||
Buzzer แบบ diaphragm -แม่เหล็ก
| ||||
![]() | ||||
Buzzer แบบ diaphragm -Peizo
|
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.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);
}
}
ดาวโหลด Code : คลิก!
-------------------------------------------------------------------------------------
คำอธิบาย
-ถ้า ระยะวัตถุ ตั้งแต่ 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 (นิ้ว)
รูปภาพ
ดาวโหลด : คลิก!
-------------------------------------------------------------------------------------
วีดีโอ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น