قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

Al-Majd
:: مهندس ::
تاريخ التسجيل: Oct 2009
المشاركات: 8
نشاط [ Al-Majd ]
قوة السمعة:0
قديم 13-03-2010, 06:24 PM المشاركة 1   
افتراضي طلب مساعدة في ال pic Twitter FaceBook Google+



تحياتي للجميع ..

بصراحة أنا اريد تنفيذ مشرووع للتحكم بمستوى الماء الموجود في خزان ماء .. واريد استخدام ال ultrasonic واحتاج بالتأكيد تفعيل التايمر .. بحيث اريد حساب زمن استغراق الاشارة في الذهاب والاياب ثم استخدام هذه القيمة لحساب المسافة ..
ارجو من الجميع المساعدة في اعلامي كيفية تفعيل التايمر بهذه الطريقة على لغة المايكروبيسك وشكرا

اعلانات

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 13-03-2010, 06:58 PM المشاركة 2   
افتراضي


تحياتي للجميع ..

بصراحة أنا اريد تنفيذ مشرووع للتحكم بمستوى الماء الموجود في خزان ماء .. واريد استخدام ال ultrasonic واحتاج بالتأكيد تفعيل التايمر .. بحيث اريد حساب زمن استغراق الاشارة في الذهاب والاياب ثم استخدام هذه القيمة لحساب المسافة ..
ارجو من الجميع المساعدة في اعلامي كيفية تفعيل التايمر بهذه الطريقة على لغة المايكروبيسك وشكرا
السلام عليكم.
T0E=1
اخى هل تنوى استخدام سنسور جاهز مثل SR04 و SRO8 ام تريد عمل واحد بنفسك؟

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Al-Majd
:: مهندس ::
تاريخ التسجيل: Oct 2009
المشاركات: 8
نشاط [ Al-Majd ]
قوة السمعة:0
قديم 13-03-2010, 08:08 PM المشاركة 3   
افتراضي


بصراحة اخي .. ليس اهتمامي الان نوع الحساس المستخدم الان .. لانني الان في صدد تجهيز البرنامج اما بالنسبة للحساس .. فعلى الاغلب ساقوم بتجميعه وهو يتكون من مرسل ومستقبل ..


شكرا على الرد .. وانتظر البرنامج


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 14-03-2010, 05:29 AM المشاركة 4   
افتراضي


اخى اولا انا علاقتى بالبيك بيزيك ضعيفة لكن وجدت هذا البرانامج جاهزا
مع العلم ان البرنامج مكتوب بالبروتون
وهذا هو الكود كاملا
كود:
' Include "PROTON_4.INC" ' Use the PROTON Development board with a 4MHz xtal Device = 16F871 ' Fake a smaller device for a small routine WARNINGS = OFF ' Disable warning messages Symbol ECHO = PORTB.0 ' Echo signals from comparator Symbol TIMER1 = TMR1L.WORD ' Create a 16-bit variable out of TMR1L/TMR1H Symbol TMR1ON = T1CON.0 ' TIMER1 Enable/Disable Symbol TMR1IF = PIR1.0 ' TIMER1 overflow flag Dim PING_LOOP as Byte ' PING Loop counter Dim PULSE_LENGTH as Word ' TOF (Time Of Flight) value '--------------------------------------------------------------------------------- ' Program starts here Delayms 500 ' Wait for PICmicro to stabilise INTCON = 0 ' Make sure all interrupts are OFF T1CON = %00000001 ' Enable Timer1 with a prescaler of 1:1 TRISB = %00000001 ' Set ECHO pin as input, all others as outputs Cls ' Clear the LCD Goto MAIN_PROGRAM_LOOP ' Jump over the PING subroutine '--------------------------------------------------------------------------------- ' The PING routine generates a 40khz burst of 8 cycles. PING: PING_LOOP = 8 ' Number of cycles in ping PING1: PORTB = %00010000 ' 1st half of cycle Delayus 10 ' Create a delay of 10uS PORTB = %00100000 ' 2nd half of cycle Delayus 9 ' Create a delay of 9uS Djnz PING_LOOP,PING1 ' Special mnemonic to form a fast loop Return '--------------------------------------------------------------------------------- ' The main program loop starts here MAIN_PROGRAM_LOOP: While 1 = 1 ' Create an infinite loop TMR1ON = 1 ' Enable TIMER1 Delayms 100 ' Delay 100ms between samples TMR1IF = 0 ' Clear TIMER1 overflow Gosub PING ' Transmit a 40KHz pulse TIMER1 = 0 ' Reset TIMER1 before entering the loop Repeat ' Loop until TIMER1 overflows If ECHO = 0 Then ' Capture TIMER1 if a LOW on ECHO pin detected TMR1ON = 0 ' Disable TIMER1 at this point PULSE_LENGTH = TIMER1 ' Store the value of TIMER1 Break ' Exit the loop Endif PULSE_LENGTH = 0 ' If we reached here then Out of Range Until TMR1IF = 1 ' Timeout if TIMER1 overflows If PULSE_LENGTH = 0 Then ' Did we reach the end of the loop ? Print at 1,1,"OUT OF RANGE " ' Yes. So Display text if out of range Else ' Otherwise... ' Display distance in inches Print at 1,1,"DIST = ",DEC PULSE_LENGTH / 146,34," " Endif Wend
لاحظ ان البرنامج يعرض المسافة بالبوصة
لكن اخى هل تتوقع ان يعكس الماء الصوتَ ؟
بالتوفيق


Al-Majd
:: مهندس ::
تاريخ التسجيل: Oct 2009
المشاركات: 8
نشاط [ Al-Majd ]
قوة السمعة:0
قديم 14-03-2010, 06:03 PM المشاركة 5   
افتراضي


شكرا لك يا بش مهندس على الكوود ..
بصراحة ليلة امس بقيت سهران الى ان توصلت الى الحل .. والان في طور التجريب بالكود .. اما بالنسبة للحساس .. فالمفترض انه يعكس .. وان شاء الله اذا نجحت الفكرة سأخبرك ان شاء الله ..

اما بالنسبة للكود فاكرر شكري لك وان شاء الله استفيد منه في التصحيح وشكرا


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 14-03-2010, 06:34 PM المشاركة 6   
افتراضي


العفو اخوى
للعلم فقط الصوت له سرعة فى الماء وبالتالى لن يعكس والله اعلم
لكن انت جرب واخبرنا بالنتائج

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:17 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025