ใบงานที่.4 การใช้งานเซอร์วัดระยะทาง HC-SR04
ผู้จัดทำ
1.นาย รุจ พรชัยประสิทธิ์ 1 สทค 1 6031280017
2.นาย ธีรพงษ์ เฉลยพงษ์ 1 สทค 2 6031280034
อุปกรณ์ที่ใช้
1.LED 6 ตัว
2.ตัวต้านทาน 220R 6 ตัว
3.สายไฟ 11 เส้น
4.บอร์ด Arduino
5.HC-SR04
5.HC-SR04
6.โฟโต้บอร์ด
7.สาย UPLOAD
รูปวงจร
CODE
const int trigPin = 9;
const int echoPin = 10;
int LED1=7;
int LED2=6;
int LED3=5;
int LED4=4;
int LED5=3;
int LED6=2;
float duration, distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode (LED1,OUTPUT);
pinMode (LED2,OUTPUT);
pinMode (LED3,OUTPUT);
pinMode (LED4,OUTPUT);
pinMode (LED5,OUTPUT);
pinMode (LED6,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.println(distance);
delay(100);
if(distance <= 30)
{
digitalWrite (LED1,HIGH);
digitalWrite (LED2,HIGH);
}
if(distance > 30)
{
digitalWrite (LED1,LOW);
digitalWrite (LED2,LOW);
}
if(distance <= 20)
{
digitalWrite (LED3,HIGH);
digitalWrite (LED4,HIGH);
}
if(distance > 20)
{
digitalWrite (LED3,LOW);
digitalWrite (LED4,LOW);
}
if(distance <= 10)
{
digitalWrite (LED5,HIGH);
digitalWrite (LED6,HIGH);
}
if(distance > 10)
{
digitalWrite (LED5,LOW);
digitalWrite (LED6,LOW);
}
if(distance <= 6)
{
digitalWrite (LED1,HIGH);
digitalWrite (LED2,HIGH);
digitalWrite (LED3,HIGH);
digitalWrite (LED4,HIGH);
digitalWrite (LED5,HIGH);
digitalWrite (LED6,HIGH);
delay(300);
digitalWrite (LED1,LOW);
digitalWrite (LED2,LOW);
digitalWrite (LED3,LOW);
digitalWrite (LED4,LOW);
digitalWrite (LED5,LOW);
digitalWrite (LED6,LOW);
delay(300);
}
delay(300);
}
VDO
.
คำอธิบาย
ถ้าระยะทางตั้งแต่ 21-30 ซม. LED สีเขียวติด 2 ดวง
ถ้าระยะทางตั้งแต่ 11-20 ซม. LED สีเหลืองติด 2 ดวง(สีเขียว ยังคงติด)
ถ้าระยะทางตั้งแต่ 6-10 ซม. LED สีแดงติด 2 ดวง(สีเขียวและสีเหลือง ยังคงติด)
ถ้าระยะ น้อยกว่า 6 ให้ LE กระพริบทั้ง 6 ดวง (ติด 0.3 วินาที ดับ 0.3 วินาที)
ความคิดเห็น
แสดงความคิดเห็น