الحسابات الخاصة بعمل حساس الموجات فوق الصوتية: يقوم الحساس بارسال موجات فوق صوتية و عند اصطدامها بحائل ترتد مرة اخرى فيمكن للاردوينو حساب الوقت الذى استغرقته الموجات للذهاب و العودة لذلك لابد من القسمة على 2 لاننا نريد حساب المسافة و هذا يعتمد على وقت الذهاب فقط. سرعه الصوت في الهواء في الحالة العادية تقريبا 340 متر لكل ثانية فيكون الوقت المستهلك لعبور 1 سم هو : 100 للتحويل من متر الى سم , و 10^6 للتحويل من ثانية الى مايكروثانية . كود: #define trigPin 3 #define echoPin 9 void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); } void loop() { float duration, distance; float speed; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); speed = 331.4 ; distance = (duration / 2) * (speed / 10000); if (distance >= 4000 || distance <= 2){ Serial.println("Out of range"); delay(500); } else { Serial.println(distance); Serial.println(" cm"); delay(500); } delay(500); }