const int trigPin = 9; //กำหนดตัวเเปร trigPin ที่ขา 9
const int echoPin = 10; //กำหนดตัวเเปร echoPin ที่ขา 10
long duration;
int distance, Pdistance; //กำหนดตัวเเปร distance, Pdistance
void setup() {
pinMode(trigPin, OUTPUT); // กำหนดtrigPin เป็น output
pinMode(echoPin, INPUT); // กำหนดechoPin เป็น input
Serial.begin(9600); // ตั้งค่าความเร็วการรับส่งข้อมูล 9600 บิต/วินาที
}
void loop() {
Pdistance=distance; // กำหนดให้Pdistance=distance;
Calc();
distance= duration*0.034;
if (Pdistance==distance || Pdistance==distance+1 || Pdistance==distance-1 )
{ //ถ้าPdistance==distance หรือ Pdistance==distance+1 หรือ Pdistance==distance-1
Serial.print("Measured Distance: "); //พิมพ์ข้อมูล"Measured Distance: "
Serial.println(distance/2); //ตัวเเปรที่รับค่ามาจาก distance/2
}
delay(500); //หน่วงเวลา 0.5 วินาที
}
void Calc() //ฟังก์ชั่น Calc
{
duration=0;//ตั้งค่าให้duration=0
Trigger_US();
while (digitalRead(echoPin)==HIGH); // ถ้าdigitalRead(echoPin)==HIGH)
delay(2); // ดีเรย์ 0.001 วินาที
Trigger_US(); //ฟังก์ชั่น Trigger_US
duration = pulseIn(echoPin, HIGH);// ให้ duration = pulseIn(echoPin, HIGH)
}
void Trigger_US()
{
digitalWrite(trigPin, HIGH);//ส่งข้อมูล HIGH ไปที่ขา trigPin
delayMicroseconds(10);// ดีเรย์ 0.01 วินาที
digitalWrite(trigPin, LOW);//ส่งข้อมูล low ไปที่ขา trigPin
}
Materials Required:
- Arduino (2Nos) – Any model
- HCSR04 Module (2Nos)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น