تحتاج هذه مكتبه الى
1- الى تعريف مداخل ومخارج
كود:
sbit HCSR04_Trigger at RC7_bit;
sbit HCSR04_Echo at RC6_bit;
sbit HCSR04_Trigger_Direction at TRISC7_bit;
sbit HCSR04_Echo_Direction at TRISC6_bit;
البورت يمكن تغيره
2- تحتاج الى تهيئه في بدايه البرنامج
كود:
HCSR04_Init( char frequncy ,char prescaler )
هنا نكتب frequncy او تردد الساعه الي يعمل عليه البيك
وكذلك معامل التقسيم
هذه ثوابت مهمه بالنسبه للتايمر1 لان هذه مكتبه تستخدم تايمر1 ولكن بدون أنتربت
مثال
في مثال في مشاركه سابق أستخدمت كرستاله 8 ميكا وخليت معامل التقسيم =2
اما كيف تستخدم
عليك بتعريف متغير من نوع float او long
كود:
distance= HCSR04_Read()
اذن HCSR04_Read مهمتها قراءه مسافه واعادتها الى البرنامج علما القراءه هي بوحدات "mm" لكي يتنسنى لنا حصول على الفارزه واكثر دقه في القراءه
في مثال تجدني ضربت النتيحه في 10 لكي أحول وحدات الى cm
ملاحظه مهمه //
في منول للحساس يذكر اذا كان زمن اكثر من 36ms معناه لايوجد جسم او ان الاشاره لم تعد الى حساس وهنا كتبت بالمكتبه اذا كانت النتيجه
HCSR04_Read=0xFFFF طبعا هذا رقم عشوائي وبتالي يكون هذا flag للدلاله على عدم رجوع الاشاره
عدا هذه قيمه معناها اشاره رجعت وعليك بقراءتها او الاستفاده من قيمه حسب مايتطلب مشروع ذلك
تحياتي الطيبه للجميع