السلام عليكم
شباب أريد اسهل كود يعطيني قياس زمن بضة مطبقة على أحد مداخل الكونترولر واخراج هذا الزمن على شكل باينري على الخرج فقط
وشكراً
السلام عليكم
شباب أريد اسهل كود يعطيني قياس زمن بضة مطبقة على أحد مداخل الكونترولر واخراج هذا الزمن على شكل باينري على الخرج فقط
وشكراً
كل ما في الامر اخي ان تقوم بتشغيل تايمر Timer و تقوم بوقفه عندما تنزل النبضه للمستوي صفر , هذا هو عرض النبضه بالزمن ...
BEng , Electronics and communications.
Embedded systems engineer.
Graphics Programmer
عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح
اشكرك أخي لكني جربت هذه الطريقة ولم تعطيني المرجوا منها لا أدري ما السبب لذلك سألت عسى أني أجد حلاً
أخي العزيز
إني اريد قياس زمن نبضات الريموت كونترول لتحليل اشاراته والاستفادة منها في مشاريع اخرى
جربت هذه الطريقة لكنها لم تعطيني ما أرجوا منها فكل مرة القياس غير السابق لذلك أردها أن تكون دقيقة أكثر
وشكراً
السلام عليكم
اخي ابو داود
زمن النبضة له تحليل معين وخاصة انك تستعمل optic لقياسها هناك سوف يحدث risetime وfalltime
اي ان النبضة ليست كما تتوقع مربعة الشكل لذالك الوقت يختلف لقياسها.
انت طريقتك خاطئة بفهم الاتصال. الاتصال يعد الوقت مابين النبضات فقط؟ يعني الرموت كونترول يرسل عدد نبضات ثابت لنقول 8 نبضات كل مرة. ولكن الاختلاف الوقت بين النبضات . لنفرض ان النبضة تاخذ 5 مللي ثانية.
لتمثيل 0111010
--------------------------- 0----1----0---1-----1----1----0
_________________||_||____||_||___||___||___||_||
نلاحظه ان زمن( 1) يساوي 75% من زمن الصفر
لذالك انت تحتاج ان تقراء مابين النبضات ويجب ان تقبل النبضة +-10% من زمنها
تم تعديل هذه المشاركة بواسطة pc.2058 في 22 مارس 2007 في 22:16
لو أن هدفك قاصر على تحليل الاشارة ، فلم لا تستخدم الأ وسيللوسكوب Oscilloscope أكيد أفضل :)
In this world I love Islam ,Computer ,Communications ,Electronics and
المسلم كالغيث أينما حل نفع
Don't ever trust machines
السلام عليكم و رحمة الله و بركاته :)
اخي ابو داود :) ماذا لو ازلت ال IR LED من الروموت ووضعت مكانه رابط يذهب الى ال line in للحاسوب (رابط لتسجيل الصوت), واستعنت ببرنامج كاتب للصوت(gold wav مثلا ) لتحليل الاشارة الذاخلة من line in , وتشجيل ما كنت تصبوا اليه على شكل ملف صوتي .wav . ;) :) ؟
رائع فكرة جميلة يا bitofsoul
اشكرك عزيزي pc.2058 :) .
لقد اعتمذت نفس الفكرة في احد الايام لتحليل المعطيات التي تمر ما بين ال gsm و ال carte sim ;) :) .
اقتباسلو أن هدفك قاصر على تحليل الاشارة ، فلم لا تستخدم الأ وسيللوسكوب Oscilloscope أكيد أفضل
الأخ abudawoodd لا يريد تحليل الإشارة بل يريد كود لفهم هذه الإشارة وإخراجها بشكل باينري
للفائدة هذا Oscilloscope لمن لا يملكه:
والذي يملك أفضل منه يعطينا
اقتباساخي ابو داود regular_smile.gif ماذا لو ازلت ال IR LED من الروموت ووضعت مكانه رابط يذهب الى ال line in للحاسوب (رابط لتسجيل الصوت), واستعنت ببرنامج كاتب للصوت(gold wav مثلا ) لتحليل الاشارة الذاخلة من line in , وتشجيل ما كنت تصبوا اليه على شكل ملف صوتي .wav . wink_smile.gif
يمكن مشروعه ليس له أي علاقة بالحاسوب
اقتباسيمكن مشروعه ليس له أي علاقة بالحاسوب
نعم ممكن.
على العموم ,ننتظر الرد , ونشكرك سيد عبد العزيز على ال WINSCOPE.rar :) , يبدو انه يسهل بعظ العمليات.
أشكرك أخي عبد العزيز على هذا البرنامج وشكر لكل الشباب الذين شاركوا في الموضوع
لكن عندي مشكلة مع هذا البرنامج ( لم أعمل عليه من قبل ) ممكن تعلمني كيفية ايصال الاشارة إليه
كما أرجوا من الشباب كود مبسط لفهم الموضوع علما أنني استخدم المتحكمات من نوع PIC
والف شكر للجميع
اود ان اسالك abudawoodd ,هل ظروري استعمال ال PIC لتحديد زمن الاشارة ؟ ام انك تنوي التعرف اكثر على ال PIC ,وطرق استعماله في مثل هذه القياسات ؟
العفو
البرنامج قديم قليلاً كنت أعمل عليه من زمان ، فلازم يكون نزل أحدث منه.
اقتباسلكن عندي مشكلة مع هذا البرنامج ( لم أعمل عليه من قبل ) ممكن تعلمني كيفية ايصال الاشارة إليه
من المأخذ الأحمر الخلفي للكمبيوتر، مكان ما تضع المكرفون
يمكنك عمل كبل (خط وشلد) الشلد: شعري مسلفن وهو السالب ، أما الخط الوسط فيمكنك وصل مكثف عليه ليكون هو مجس الفحص.
ولكن إنتبه للجهود المرتفعة في الدارة المراد قياسها ،( يمكنك عمل دارة خارجية للحماية الكمبيوتر من الجهود العالية العكسية) .
ومن البرنامج تستطيع تشغيله من القائمة Commands
اقتباسهل ظروري استعمال ال PIC لتحديد زمن الاشارة ؟
عبد العزيز اليوسفي كتب:العفوالبرنامج قديم قليلاً كنت أعمل عليه من زمان ، فلازم يكون نزل أحدث منه.
من المأخذ الأحمر الخلفي للكمبيوتر، مكان ما تضع المكرفون
يمكنك عمل كبل (خط وشلد) الشلد: شعري مسلفن وهو السالب ، أما الخط الوسط فيمكنك وصل مكثف عليه ليكون هو مجس الفحص.
ولكن إنتبه للجهود المرتفعة في الدارة المراد قياسها ،( يمكنك عمل دارة خارجية للحماية الكمبيوتر من الجهود العالية العكسية) .
ومن البرنامج تستطيع تشغيله من القائمة Commands
شكراً لكم ياشباب
واقول لكم لا لايقتصر العمل على pic حصراً إن كانت هناك فكرة أسهل ياحبذا لو تفيدونا
اقتباسلو أن هدفك قاصر على تحليل الاشارة ، فلم لا تستخدم الأ وسيللوسكوب Oscilloscope أكيد أفض
؟اقتباسالسلام عليكم و رحمة الله و بركاته regular_smile.gifاخي ابو داود regular_smile.gif ماذا لو ازلت ال IR LED من الروموت ووضعت مكانه رابط يذهب الى ال line in للحاسوب (رابط لتسجيل الصوت), واستعنت ببرنامج كاتب للصوت(gold wav مثلا ) لتحليل الاشارة الذاخلة من line in , وتشجيل ما كنت تصبوا اليه على شكل ملف صوتي .wav . wink_smile.gif regular_smile.gif
اقتباسللفائدة هذا Oscilloscope لمن لا يملكه:الملف المرفق WINSCOPE.rar ( 38.05k )
:)
شكراً لك أخي لكني انتظرمنكم المساعدة بدارة أو كود للكونترولر لقياس زمن النبضة لأقارن الكود الذي تستخدمونه مع الكود الذي استخدمه لأجد نقاط الضعف لدي في هذا المجال
وشكراً للجميع
اقتباسإني اريد قياس زمن نبضات الريموت كونترول لتحليل اشاراته والاستفادة منها في مشاريع اخرى
دعني اخمن اخي ابو داود :) هممممم هل تحاول عمل IR remot emulator اي جهاز يقلد عمل الروموت انطلاقا من ارساله لاشارات تشبه تلك التي يرسلها الروموت؟ لا ؟ :)
إن الذي أريده أخي العزيز هو
استقبال اشارة الريموت لا تقليدها بوسطة الكونترولر والتعامل معها مثل مدورة الطبق الخاصة بالرسيفر
طبعاً لا أريد أن أصنع مدورة طبق إنما أريد أن أتعلم كيف اتعامل مع تلك الإشارة بشكل صحيح وتنفيذ الأمر المطلوب
إن مدورة الصحن تستقبل الاشارة وتخزنها ويمكنها التعامل مع الكثير من الريموتات
لقد قرأت بأن بروتوكولات الريموت عدة أنواع
منها مرمزة بطول النبضة ومنها مرمزة بطول الفراغ بين النبضات
ولقد حاولت أن أصنع جهاز يستقبل الأمر بشكل صحيح دون جدوى كما ذكرت سابقاً القياس غير دقيق لذا أرجوا المساعدة
لأني أريد تعلم هذا الموضوع منذ زمن طويل لكني لم أجد المصدر الذي يساعدني بشكل صحيح
وشكراً لك أخي على التفاعل
تم تعديل هذه المشاركة بواسطة abudawoodd في 30 مارس 2007 في 15:43
اهلا بك اخي ابو داود.
نعم ذاك ما كنت اشير اليه , و فكرتك ذكية و منطقية ,و اظيف ان امر قياس و رؤية النبظات جد سهل .
حسننا, قل لي اخي ابو داود , هل سبق و تعاملت مع برامج تحلل معطيات الصوت ؟ انظر مثلا :
http://www.4shared.com/file/4259679/159728...avekey.html?s=1
bitofsoul كتب:اهلا بك اخي ابو داود.نعم ذاك ما كنت اشير اليه , و فكرتك ذكية و منطقية ,و اظيف ان امر قياس و رؤية النبظات جد سهل .
حسننا, قل لي اخي ابو داود , هل سبق و تعاملت مع برامج تحلل معطيات الصوت ؟ انظر مثلا :
http://www.4shared.com/file/4259679/159728...avekey.html?s=1
أشكرك أخي فعلاً برنامج ممتاز ساعدني في معرفة وتحليل الاشارة
لكن لازلت غير متمكن من ضبط قياس الزمن عند الاستقبال بالميكروكونترولر
أرجوا التركيز على هذا الموضوع من فضلك ( قياس زمن النبضة )
لقد جربت وضع حلقة ( عداد ) ينتهي بانتهاء النبضة مع كل السلسلة لكني فشلت في دقة قياس النبضة
أرجوا مساعدتي بكود بسيط لقياس نبضة واحدة
ولي سؤال أخي لو سمحت
وهو كيف تتعامل أنت مع الريموت أقصد ( الكود الذي تكتبه لقياس زمن النبضات ) للريموت
أرجوا مساعدتي في هذه النقطة ولكم جزيل الشكر
السلام عليكم و رحمة الله و بركاته.
اقتباسلكن لازلت غير متمكن من ضبط قياس الزمن عند الاستقبال بالميكروكونترولر
ء
اقتباسأرجوا مساعدتي بكود بسيط لقياس نبضة واحدة
سوف لن استطيع ان اساعدك بكود عن طريق الميكروكنتر لاني لا اتقن برمجته :( .
اقتباسكيف تتعامل أنت مع الريموت أقصد ( الكود الذي تكتبه لقياس زمن النبضات ) للريموت
كما ذكرت اخي ,فانا لا استعمل كود لقياس زمن النبضة , بل استعمل طريقة الاسيوسكوب (و هي الاسهل ) :) .
فالبرنامج الذي وظعت اعلاه يحدد لي بطريقة مظبوطة زمن النبضة بال ms
انظر مثلا لزمن تلك النبضة بالاحمر على الصورة اسفله :) :
bitofsoul كتب:السلام عليكم و رحمة الله و بركاته.ء
سوف لن استطيع ان اساعدك بكود عن طريق الميكروكنتر لاني لا اتقن برمجته :( .
كما ذكرت اخي ,فانا لا استعمل كود لقياس زمن النبضة , بل استعمل طريقة الاسيوسكوب (و هي الاسهل ) :) .
فالبرنامج الذي وظعت اعلاه يحدد لي بطريقة مظبوطة زمن النبضة بال ms
انظر مثلا لزمن تلك النبضة بالاحمر على الصورة اسفله :) :
أشكرك أخي على هذا التفاعل وجزاك الله خيراً
لماذا أنت تحلل اشارة الريموت إن كنت لا تستخدم الكونترولر هل يمكن صنع دارات من غير كونترولر تتعامل مع الريموت
والف شكر لك من كل قلبي ووفقك الله وجزال كل خير
اقتباسلماذا أنت تحلل اشارة الريموت إن كنت لا تستخدم الكونترولر
احلل الاشارة فقط لاوظح طريقة قياس زمن النبضة , لا لكي ابرمجها ذاخل الكنترولر :D ا
اقتباسهل يمكن صنع دارات من غير كونترولر تتعامل مع الريموت
لا اعرف :( :)
على كل حال أشكرك أخي العزيز على المساعدة
لقد نفعني برنامجك كثيراً وقد استطعت تنفيذ ما اريد
شكراً لك مرة اخرى
السلام عليكم ورحمة الله وبركاته..
من مده ليست قصيرة كتبت جزئ من برنامج يقوم بهذه الوظيفة على ميكروكنترولر من نوع Atmel , ولكن للأسف ضاع الكود مع اخوته
ولكن الفكرة بسيطة , اوضحها بهذا الكود الوهمي :
pseudocode :
WAIT UNTIL INPUT = 0 WAIT UNTIL INPUT = 1 NOW YOU HAVE RISE EDGE SO.. SET TIMER = 0 WAIT UNTIL INPUT = 0 YOU HAVE FALL EDGE SO.. WAIT UNTIL INPUT = 1 YOU HAVE RISE EDGE AGAIN SO .. YOU HAVE FULL CLOCK PERIOD OUTPUT THE CURRENT VALUE OF TIMER
للتوضيح اكثر للمعنى يمكن كتابة الفكرة في لغى السي بهذا الشكل
while(input == 1); while(input == 0); // YOU HAVE RISE EDGE timer = 0; while(input == 1); while(input == 0); // YOU HAVE RISE EDGE output = timer;
وبالنسبة للميكرو من نوع PIC يمكن كتابتها بهذا الشكل
....; setup internal timer WAIT0 BTFSC PORTB, 0 GOTO WAIT0; loop until portb(0) = 0 ; portb(0) = 0 WAIT1 BTFSS PORTB, 0 GOTO WAIT1; loop until portb(0) = 1 ; portb(0) = 1 == rising_edge ....; set timer = 0 WAIT2 BTFSC PORTB, 0 GOTO WAIT2; loop until portb(0) = 0 ; portb(0) = 0 == falling_edge WAIT3 BTFSS PORTB, 0 GOTO WAIT2; loop until portb(0) = 1 ; portb(0) = 1 == rising_edge ; you have full clock time in the timer ....; use the value of the timer now
ولحساب زمن النبضة تضرب قيمة المؤقت في زمن نبضة الميكرو (1us) يعطيك زمن النبضة كاملة
ولكن توجد ملاحظة , أذكر ان مؤقت الـ PIC كان 8 بيت فقط , بينما مؤقت الـ Atmel كان 16 بيت
مم يعني أن اكبر قيمة للمؤقت في الـ PIC هي 255 بينما في Atmel هي 65535
عموما يمكن حلها في مقاطعة المؤقت نفسه اي حلها في الكود باستخدام متغير يعد اكتمال المؤقت ....
طبعا تحتاج لمعرفتك بكيفية التعامل مع المؤقت في الميكرو
هذا الموضوع مغلق.