ใบงานที่ 4 การใช้งานเซนเซอร์วัดระยะทาง HC-SR04
นางสาวกิตติญากร ขาวใบไม้ 6031280024
นางสาวกิตติมา อุดมปัญญาศิริกุล 6031280025
ปวส.1/2 คอมพิวเตอร์ซอฟต์แวร์
HC-SR04
เป็นโมดูลวัดระยะทางที่ใช้หลักการสะท้อนของคลื่นอัลตร้าโซนิก ราคาประหยัด โดยตัว HC-SR04 มีแหล่งกำเนิดคลื่นอัลตร้าโซนิกส่งไปสะท้อนกับวัตถุที่อยู่ข้างหน้ากลับมายังตัวรับสัญญาณ โดยระยะทางที่วัดได้จะสัมพันธ์กับระยะเวลาที่คลื่นอัลตร้าโซนิกเคลื่อนที่ไปกระทบวัตถุและสะท้อนกลับมายังตัวรับ เมื่อรู้ระยะเวลาที่คลื่นอัลตร้าโซนิกสะท้อนกลับมา จึงนำมาคำนวณหาเป็นระยะทางระหว่างโมดูล HC-SR04 กับวัตถุได้ โดยโมดูล HC-SR04 วัดระยะทางในช่วง 2 ถึง 500 ซม. (5 เมตร) มีความละเอียดอยู่ที่ 0.3 ซม. ใช้ไฟเลี้ยง +5V
โมดูล HC-SR04 พร้อมกับสาย JST3AC-8 จำนวน 2 เส้น เพี่อเชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์
ใบงานที่ 4 การใช้งานเซนเซอร์วัดระยะทาง HC-SR04
อุปกรณ์
https://drive.google.com/open?id=1dWPu0b_EBzEnetIiHuwde5SnGM_1vWka
นางสาวกิตติมา อุดมปัญญาศิริกุล 6031280025
ปวส.1/2 คอมพิวเตอร์ซอฟต์แวร์
HC-SR04
เป็นโมดูลวัดระยะทางที่ใช้หลักการสะท้อนของคลื่นอัลตร้าโซนิก ราคาประหยัด โดยตัว HC-SR04 มีแหล่งกำเนิดคลื่นอัลตร้าโซนิกส่งไปสะท้อนกับวัตถุที่อยู่ข้างหน้ากลับมายังตัวรับสัญญาณ โดยระยะทางที่วัดได้จะสัมพันธ์กับระยะเวลาที่คลื่นอัลตร้าโซนิกเคลื่อนที่ไปกระทบวัตถุและสะท้อนกลับมายังตัวรับ เมื่อรู้ระยะเวลาที่คลื่นอัลตร้าโซนิกสะท้อนกลับมา จึงนำมาคำนวณหาเป็นระยะทางระหว่างโมดูล HC-SR04 กับวัตถุได้ โดยโมดูล HC-SR04 วัดระยะทางในช่วง 2 ถึง 500 ซม. (5 เมตร) มีความละเอียดอยู่ที่ 0.3 ซม. ใช้ไฟเลี้ยง +5V
โมดูล HC-SR04 พร้อมกับสาย JST3AC-8 จำนวน 2 เส้น เพี่อเชื่อมต่อกับบอร์ดไมโครคอนโทรลเลอร์
ใบงานที่ 4 การใช้งานเซนเซอร์วัดระยะทาง HC-SR04
- - ถ้า ระยะทางตั้งแต่ 21 – 30 ซม. Led สีเขียวติด 2 ดวง
- - ถ้า ระยะทางตั้งแต่ 11 – 20 Led สีเหลืองติด 2 ดวง (สีเขียว ยังคงติด)
- - ถ้า ระยะทางตั้งแต่ 6 - 10 Led สีแดงติด 2 ดวง (สีเขียว และ เหลือง ยังคงติด)
- - ถ้า ระยะทาง น้อยกว่า 6 ให้ Led กระพริบทั้ง 6 ดวง (ติด 0.3 วินาที ดับ 0.3 วินาที)
- - ถ้าเงื่อนไขนอกจากนี้ให้ Led ดับทั้งหมด
- บน serial monitor ให้แสดงระยะทางหน่วยเป็น ซม.
อุปกรณ์
- โปรโตบอร์ด
- บอร์ดArduino Uno R3
- สายไฟผู้ผู้
- สายอัพโหลด
- ตัวต้านทาน
- HC-SR04
- หลอดไฟ LED
รูปวงจร
https://drive.google.com/open?id=1dWPu0b_EBzEnetIiHuwde5SnGM_1vWka
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
const int trigPin = 9;
const int echoPin = 10;
float duration, distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (led4,OUTPUT);
pinMode (led5,OUTPUT);
pinMode (led6,OUTPUT);
}
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);
Serial.println(" cm");
delay(100);
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);
}
if (distance <= 10) {
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
}
else {
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
}
if (distance <= 20) {
digitalWrite(led4,HIGH);
digitalWrite(led3,HIGH);
}
else {
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
}
if (distance <= 30) {
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
}
delay(500);
}
วิดีโอ
ความคิดเห็น
แสดงความคิดเห็น