ในบทความนี้เราจะมาสอนเกี่ยวกับ การใช้งาน Sensor อัลตราโซนิก HC-SR4 ในการวัดระยะทางกัน โดยใช้ Nodemcu V.3 พัฒนาด้วยโปรแกรม Arduino IDE หลักการทำงานของ Sensor อัลตราโซนิก .
อัลตราโซนิก ก็คือคลื่นเสียงชนิดหนึ่งย่านความถี่ หนึ่ง ปกติ หูของมนุษย์จะได้ยินควาามถี่ ระหว่าง 20 เฮิรตซ์ -20 กิโลเฮิรตซ์ หากความถี่ต่ำ หรือสูงกว่านี้ เราก็จะไม่ได้ยิน ช่วงประมาณ 18กิโลเฮิรตซ์ขึ้นไป เราจะเรียกความถี่ช่วงนั้นว่า คลื่นอันตร้าโซนิค เราสามารถนำคลื่นนี้ไปใช้งานได้หลากหลายเช่นการไล่แมว หมา หนู หรือใช้แรงสั่นในการล้างอุปกรณ์ ออกนอกเรื่องมากันเยอะแล้ว เข้าเรืองเลยแล้วกันครับ
หลักการทำงานของ Sensor อัลตราโซนิก นำมาใช้วัดระยะทางโดยตัว Sensor จะส่งเสียงออกแล้วแล้วสะท้อนวัตถุกลับมาจากนั้นจะมาคำนวนระยะเวลาที่เสียงเดินทางกลับมา กลายเป็นระยะทางที่วัดได้
อุปกรณ์มีดังต่อไปนี้ ราคาไม่เกิน 500 บาท
การต่ออุปกรณ์สามารถต่อได้ดังนี้

มาถึงส่วนของ Code กันเลย
| #include <LiquidCrystal_I2C.h> |
| LiquidCrystal_I2C lcd(0x27, 16, 2); //Module IIC/I2C Interface บางรุ่นอาจจะใช้ 0x3f |
|
|
| #define trigPin D5 |
| #define echoPin D6 |
|
|
| void setup() { |
| Serial.begin (9600); |
| pinMode(trigPin, OUTPUT); |
| pinMode(echoPin, INPUT); |
| lcd.begin(); |
| lcd.backlight(); |
| lcd.home(); |
| lcd.print("Distance "); |
| } |
|
|
| void loop() { |
| long duration, distance; |
| digitalWrite(trigPin, LOW); // Added this line |
| delayMicroseconds(2); // Added this line |
| digitalWrite(trigPin, HIGH); |
| delayMicroseconds(10); // Added this line |
| digitalWrite(trigPin, LOW); |
| duration = pulseIn(echoPin, HIGH); |
| distance = (duration/2) / 29.1; |
|
|
| lcd.setCursor(0, 1); |
| if (distance >= 200 || distance <= 0){ |
| Serial.println("Out of range"); |
| lcd.print("Out of range"); |
| } else { |
| Serial.print(distance); |
| Serial.println(" cm"); |
| lcd.print(distance); |
| lcd.print(" CM "); |
| } |
| delay(500); |
| } |
|
|
แล้วเรายังสามารถพัฒนาโปรเจคนี้จนสามารถดูค่าต่างๆผ่านทาง โทรศัพท์ได้อีกด้วย
เป็นยังไงกันบ้างครับ สำหรับ Mini โปรเจคง่ายๆ
ความคิดเห็น
แสดงความคิดเห็น