จุดประสงค์
- นักเรียนสามารถต่อวงจรในการวัดระยะทางด้วย Ultrasonic HC-SR04 Buzzer และ LED ได้
- นักเรียนสามารถเขียนโปรแกรมเพื่อรับข้อมูลจาก Ultrasonic HC-SR04 จนควบคุม LED และ Buzzer ได้
- นักเรียนสามารถนำความรู้ที่ได้ไปใช้ในการแก้ปัญหาในชีวิตประจำวันได้
อุปกรณ์ระบบวัดระยะทางด้วย Ultrasonic HC-SR04 แล้วส่งสัญญาณเตือนด้วย LED และ Buzzer
บอร์ดทดลอง Breadboard
Protoboard หรือ Breadboard คือบอร์ดทดลอง สำหรับต่อวงจรไฟฟ้าและอิเล็กทรอนิกส์ต่างๆโดยไม่ต้องบัดกรีวงจร ซึ่งมีประโยชน์มากทั้งสำหรับผู้เริ่มต้นและผู้ที่ต้องการทดลองต่อวงจรใหม่ๆ โดย Protoboard นั้นมีหลายขนาดด้วยกัน ตั้งแต่ 170 รู , 830 รู จนถึง 1,660 รูเลยทีเดียว
LED
LED หรือ ไดโอดเปล่งแสง (Light Emitting Diode) คืออุปกรณ์ไฟฟ้าแบบ Passive ที่เมื่อมีกระแสไหลผ่านแล้วจะเปล่งแสงออกมา ด้วยการที่เป็นไดโอด จึงยอมให้กระแสไหลผ่านทางเดียวคือจากขั้ว + ไปยังขั้ว – ถ้าต่อกลับทิศ ไฟจะไม่ติด (เป็นคุณสมบัติของไดโอด)
Arduino Uno R3
Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Sourceคือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย
Resistor ตัวต้านทาน
มีหน้าที่ในการจำกัดปริมาณแรงดันและกระแสไฟฟ้าในวงจร เพื่อให้ LOAD อื่นๆที่ต่อเข้ากับมันได้รับแรงดันและกระแสที่เหมาะสม
ถ้าต้องการสร้kงเสียงเตือนแบบง่าย ๆ Active Buzzer เป็นตัวสร้างเสียงที่ง่ายที่สุด เพียงแค่จ่ายไฟ 3.3 – 5VDC ไปที่ Active Buzzer ก็สร้างเสียงร้องได้
HC-SR04 เป็นโมดูลสำหรับใช้หาระยะห่างของวัดถุกับตัวเซ็นเซอร์ อาศัยการทำงานของคลื่นเสียงที่ความถี่ 40kHz (40,000Hz) ซึ่งจัดอยู่ในย่าน Ultrasonic (ความถี่สูงกว่าที่หูมนุษย์จะสามารถได้ยิน) โมดูลตัวนี้เป็นโมดูลยอดนิยมอีกตัวที่นำไปใช้ในโปรเจคหาระยะห่างของวัตถุ ไม่บรรทัดดิจิตอล หรือใช้ในโครงงานหุ่นยนต์ต่าง ๆ
คุณสมบัติของโมดูล
แรงดันที่ใช้ในการทำงาน | 5V |
กระแสไฟฟ้าที่ใช้ | 15mA |
คลื่นความถี่ในการทำงาน | 40kHz |
ระยะสูงสุดที่สามารถวัดได้ | 4 m (400 cm) |
ระยะต่ำสุดที่สามารถวัดได้ | 0.02 m (2 cm) |
ความแม่นยำ | ±3mm |
องศาในการวัด | 15 องศา |
Trigger Input Signal | 10us TTL Pulse |
คำสั่งในการควบคุม ระบบวัดระยะทางด้วย Ultrasonic HC-SR04 แล้วส่งสัญญาณเตือนด้วย LED และ Buzzer
double fnc_ultrasonic_distance(int _t, int _e){ //ฟังก์ชันในการคำนวณระยะทาง
unsigned long dur=0;
digitalWrite(_t, LOW);
delayMicroseconds(5);
digitalWrite(_t, HIGH);
delayMicroseconds(10);
digitalWrite(_t, LOW);
dur = pulseIn(_e, HIGH, 18000);
if(dur==0)return 999.0;
return (dur/57);
}
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, INPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
Serial.flush();
while(Serial.available()>0)Serial.read();
}
void loop()
{
if ((fnc_ultrasonic_distance(2,3) < 30)) {
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(300);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(300);
}
Serial.println(fnc_ultrasonic_distance(2,3));
delay(500);
}