أول مرة هنا ؟ تفحص قواعد المشاركة و معلومات أخرى عن عرب overflow!
x

أريد أن أحسب مدة زمنية بإستعمال arduino ماهي الطريقة المثلى ???

+2 صوت
454 مشاهدات

2 إجابة

+1 صوت

في function اسمها millis() ال function دي بتعد الوقت من الاول الاردوينو ماتشتغل بال milliseconds
وفي function تانية اسمها micros() زيها بس بالميكرو
ممكن تقرى عنهم اكتر هنا
http://arduino.cc/en/reference/millis
http://arduino.cc/en/Reference/Micros
ازي تستخدمها في انك تحسب وقت, انك تاخد قيمة الوقت قبل العملية اللي عايز تعملها وبعدها وتطرحهم من بعض (مش بعدها بس عشان كده هيكون الوقت من اول البرنامج ما بدأ)
مثلا

unsigned long z1 =millis();
function()
unsigned long z2=millis();
unsigned long time = z2-z1;
0 صوت

في طريقة سهلة وهي عبر استخدام الدالة millis كما في المرجع التالي
http://arduino.cc/en/reference/millis

اما الطريقة الثانية عبر استخدام ال RTC - Real time clock وميزيتها انك تقدر تحسب الزمن على المدى الطويل وبدقة عالية (بس مكلفة من الناحية المالية) - تقدر تراجع المقال دا علشان تعرفها أكتر
http://playground.arduino.cc/Main/DS1302

اما الطريقة الثالثة وهي مفيدة جداً للازمنة الصغيرة وهي اﻷكثر دقة وبتم عن طريق استخدام ال Timers (دي تعتبر من اصول برمجة ال AVR بشكل عام وليس اردوينو بشكل خاص)

https://www.youtube.com/watch?v=cAui6116XKc

...