จัดทำโดย
นายนนทกร คำลาย เลขที่ 8 กลุ่ม E5
วัสดุอุปกรณ์
1.บอร์ดทดลอง Arduino UNO R3 1 บอร์ด
2.สาย USB 1 เส้น
3.สายไฟ 13 เส้น
4.โฟโต้บอร์ด 1 แผง
5.ตัวต้านทาน 220โอหม์ 6 ตัว
6.หลอด LED 6 หลอด
7.Ultrasonic sensor 1 บอร์ด
8.buzzer 1 ตัว
รูปวงจร
Code
8.buzzer 1 ตัว
รูปวงจร
Code
int const trigPin = 11;
int const echoPin = 10;
int const buzzPin = 9;
int const ledPinA = 3;
int const ledPinB = 4;
int const ledPinC = 5;
int const ledPinD = 6;
int const ledPinE = 7;
int const ledPinF = 8;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzPin, OUTPUT);
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(ledPinC, OUTPUT);
pinMode(ledPinD, OUTPUT);
pinMode(ledPinE, OUTPUT);
pinMode(ledPinF, OUTPUT);
}
void loop()
{
int duration, distance;
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
// Distance
is half the duration devided by 29.1 (from datasheet)
distance =
(duration/2) / 29.1;
// if distance less than 0.5
meter and more than 0 (0 or less means over range)
if (distance <= 50 && distance >= 30)
{
// Buzz
digitalWrite(buzzPin, HIGH);
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
delay(500);
digitalWrite(buzzPin, LOW);
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
delay(500);
} else {
// Don't buzz
digitalWrite(buzzPin, LOW);
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
}
if (distance <= 29
&& distance >= 15) {
// Buzz
digitalWrite(buzzPin, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
delay(200);
digitalWrite(buzzPin, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
delay(200);
} else {
// Don't buzz
digitalWrite(buzzPin, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
}
if (distance <= 14 && distance >= 0) {
// Buzz
digitalWrite(buzzPin, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
} else {
// Don't buzz
digitalWrite(buzzPin, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
}
// Waiting
60 ms won't hurt any one
delay(60);
}

