#define ECHO 11 // กำหนดชือ ECHO แทนขา 11
#define TRIG 10 // กำหนดชื่อ TRIG แทนขา 10
#define t 100 // กำหนด t แทนค่าเวลาของการหน่วง ที่ 0.1 วินาที (msec)
void setup()
{ // เริ่มฟังก์ชั่น setup คำสั่งในส่วนี้ จะทำแค่ครั้งเดียว
Serial.begin(9600); // กำหนดอัตราเร็วในการสื่อสารข้อมูลของพอร์ตอนุกรม
pinMode(ECHO, INPUT); // ตั้งค่าให้ ECHO ( pin 11) เป็น ขาอินพุท
pinMode(TRIG, OUTPUT); // ตั้งค่าให้ TRIG ( pin 10) เป็น ขาเอาต์พุต
} // จบฟังก์ชั่น setup
void loop()
{ /* เริ่มฟังก์ชั่น loop คำสั่งในส่วนนี้ จำทำวนซ้ำ
จนเงื่อนไขเป็นจริง */
digitalWrite(ECHO, LOW); // ส่งค่า 0 ( LOW ) ไปที่่ขา 11 ของ Ultrasonic sensor
delayMicroseconds(10); // หน่วงเวลา 10 ไมโครวินาที
digitalWrite(TRIG, HIGH); // ส่งค่า 1 ( HIGH ) ไปที่่ขา 10 ของ Ultrasonic sensor
delayMicroseconds(10); // หน่วงเวลา 10 ไมโครวินาที
digitalWrite(TRIG, LOW); // ส่งค่า 0 ( LOW ) ไปที่่ขา 10 ของ Ultrasonic sensor
int Echopulse = pulseIn(ECHO, HIGH);
float cm = Echopulse/(29.41*2);
Serial.print(Echopulse);
Serial.print("microsec or cm ="); // แสดงข้อความในวงเล็กทางจอภาพ
Serial.println(cm); // นำค่าจากตัวแปร cm มาแสดงผล analogRead(AO) แสดงทางจอภาพ */
delay(t); // หน่วงเวลา 0.1 วินาที (msec)
} // จบฟังก์ชั่น loop
/* ผลการทำงานของโปรแกรม
ไมโครคอนโทรลเลอร์ส่งสัญญาณพัลส์ 10 ไมโครวินาทีไปยังขา Trig ของเซนเซอร์
จากนั้นอ่านค่าสัญญาณพัลส์จากขา Echo เพื่อคำนวณหาระยะทาง หน่วยเป็นเซนติเมตร
แล้วแสดงผลบนจอภาพทั้งเวลาในการเดินทางของคลื่น และระยะทางที่วัดได้ */