الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

آلية التفاهم بين المرسل و المستقبل

مغلقرائج
بدأه رامي العيساوي في 5 ديسمبر 2005 · 81 رد · 23,622 مشاهدة · في أرشيف المواضيع المهمة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اريد ان اعرف كيف يتم تبادل المعلومات بين المرسل و المستقبل!!

يعني مثلا بدارة بسيطة لسيارة صغيرة اكبس زر للامام تتحرك السيارة للامام

1- ماذا يرسل المستقبل هل يرسل اشارة صورتية معينة

2- كيف يفهم المستقبل ماذا يريد المرسل و يشغل المحرك المطلوب

و شكرا

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#2

الأشاره المرسله تكون مشفره (رقميه) ويتم توليدها عن طريق ميكرو كنترولر مثلا ثم ارسالها

بعد الاستقبال يتم اعادة فك التشفير وتنفيذ الأمر

مثال

عند الضغط على زر الحركه للأمام: يقوم الميكروكنترولر بتوليد اشاره (1001)مثلا

عند الضغط على زر الحركه للخلف:يقووم الميكروكنترولر بتوليد اشاره (1011)مثلا

يتم ارسال الأشاره

يتم استقبال الأشاره

يقوم الميكروكنترولر بفهم الاشاره (1001)مثلا

يحرك السياره للأمام

Moore’s Law

– “Number of transistors in chips doubles every 18 
months”.
–  Every 10 years, processors are 100 times more 
powerful.

Gilder’s Law

– “Bandwidth grows at least three times faster than 
computer power”.
– Assuming bandwidth doubles every 12 months; 
every 10 years, it is 1000 times better.
#3

يولييييي...

طيب شلون بقدر اعمل هل الشغلة انا عندي مكيرو كنترولر PIC16F84

و عندي دارة ارسال اريد ان اركب دارتي على مأخذ السماعة اشيل السماعة و احط دارتي بدالها

فهمت علي شلون!!

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#4

يا رامي الفكرة هي ان الموجات ذات الذبذبات المرتفعة تنتقل عبر الفضاء و الاثير و بالتالي فيتم استغلال هذا الخاصية و تحميل اشارة التحكم عليها و هذه العملية تسمى modulation اي الخلط، وهناك انواع عديدة من الخلط منها AM و FM و PSK و FSK و PM وهناك غيرها، اذا اردت ان تفهم ابسطها فتصور مثلا ان 1 في النظام الثنائي هو ارسال 100 ميجا هيرتز و الصفر لا ترسل شيئ مثلا او العكس. بالنسبة لل FM فيمكن مثلا 100 ميجا هيرتز تعني 1 و 100.01 ميجاهيرتز تعني صفر و بالتالي يتم التحكم بالذبذبة بشكل دقيق من المرسل لارسال اشارات مختلفة من واحدات و اصفار و يتم استقبالها و معالجتها في الطرف الاخر و هذه هي الفكرة.

تم تعديل هذه المشاركة بواسطة عماد الخليل في 5 ديسمبر 2005 في 22:55

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#5

طيب انا رح اوضح المطلوب بشكل اكبر.. و يهمني تنفيذه باقل فهم ممكن لا اريد التوسع بالموضوع...

لدي جهاز سيناو اكيد الكل يعرفه و هذا يوصل مداه مثلا لـ 4 كيلو متر على الاقل

يوجد لكلا الطرفين سماعة و ميكروفون لنسمي الطرف الاول (ب) و الطرف الثاني (ت)

في الطرف "ب" يوجد ميكرفون لنقل الصوت و الكلام طبعا الميكرفون يوجد له سلكان لنقل الصوت سوف اقتلع الميكرفون من الطرف "ب" و اوصل مكانه الدارة "د ب "

و في الطرف "ت" يوجد سماعة لتصدر الصوت القادم و طبعا السماعة يوجد لها سلكان لنقل الصوت سوف اقتلع السماعة من الطرف "ت" و اوصل مكانة الدارة " د ت "

الآن اريد من الدارة " د ب" (الموصولة بسلكين فقط مكان الميكروفون في الطرف "ب" ) ان تعطي كهرباء او ماشابه الى هذا الماخذ فيتم ارسال الاشارة هذه الى الهواء

و اريد من الدارة " د ت " ( الموصولة بسلكين فقط مكان السماعة في الطرف " ت" ) ان تستقبل ما ياتي من الهواء و تنفذ الامر المعين بالاشارة المستقبلة

ارجو مساعدتي و توضيح طريق العمل مثلا ماذا احتاج لعمل للدارة " د ب " ...

بانتظار ردوكم

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#6

يتطلب هذا معرفة ما اذا كانت الدائرتاان اللتان تتكلم عنهما تعملان على تردد واحد ام على ترددين؟

Moore’s Law

– “Number of transistors in chips doubles every 18 
months”.
–  Every 10 years, processors are 100 times more 
powerful.

Gilder’s Law

– “Bandwidth grows at least three times faster than 
computer power”.
– Assuming bandwidth doubles every 12 months; 
every 10 years, it is 1000 times better.
#7

السيناو مثلا لاسللكي و لكن مداه بعيد و على الاغلب يوجد لديه تردد واحد

يعني انت تقصد انه تردد للارسال من ه" ب " الى " ت "

غير تردد الارسال من " ت " الى " ب"

طيب ماذا يحدث اذا كانو تردد مختلف نحن لا يهمنا هو يستقبل و هو يرسل لوحده نحن فقط نتعامل مع ماخذ الميكروفون و السماعة

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#8

لا , لا تحتاج الدائره للعمل على ترددين , فهي مرسل في طرف ومستقبل في طرف آخر, فقط لا غير , صح ؟

الفكره بسيطه وبدائيه كمان

بم ان الدائره في الأساس تعمل على نقل الصوت , اذاً نحترم الدائره ونتبع قوانينها , الاشارة التي سوف نقوم بنقلها ستكون في مدى تردد الصوت البشري , يعني نقدر نقول 3.5 khz جميل قوي لتمثيل 1 و 2.5 khz لتمثيل 0

وفي المستقبل تحتاج لعمل frequency-meter لقياس التردد المرسل , والتعرف على الصفر والواحد , طبعا طالما ارسلنا الصفر و أرسلنا الواحد نستطيع ارسال بايت كامل أو ملف حتى , لا يهم

#9

نعم لنقل بانني فقط اريد نقل الاوامر من المرسل الى المستقبل فقط...

ماهي الدارة التي يجب علي علملها و اوصلها بـ الميكروفون بتاع المرسل لكي تولد 3.5 كيلو هرتز كما قلت

؟؟؟

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#10

دائرة ايه يا رامي , ده حتعمله في الميكروكنترولر نفسه , برنامج بسيط , يعمل تقسيم لتردد المؤقت , بحيث تحصل على التردد المطلوب ومنه تقوم بارسال صفر فواحد بهذا التردد

مثلا انت لو عملت شيء بهذا الشكل

loop:
bsf PORTB, 0
nop
nop
nop
nop
bsf PORTB, 0
nop
nop
goto loop

هذا الكود يخرج موجه مستمره لدوره طولها 10 نبضات يعني 10 ميكروثانيه , يعني ترددها 100 كيلو

طبعا ممكن تستخدم المؤقت بدل دوارات ال nop

الخلاصه انك مش محتاج لدوائر خارجيه , كله في الميكروكنترولر , كله برمجه

#11

رائع جدا .. انا اكره عمل الدوائر ...

طيب اجتني فكرة و اريد رايك..

بما ان المركز الاول "ب" و هي قاعدة السيناو ثابتة استطيع وصلها بكمبوتر محمول ..

و انا اعرف كيف ارسل اشارات عن طريق منفذ LPT بواسطة الجافا... و كما تعرف انا افضل الجافا اكثر

فهل النبضة التي ارسلها بواسطة منفذ الطابعة صالحة للاستعمال لهذا الغرض ام انها تحتاج لتحويل او ما شابه!!!

=========================================================

بالنسبة للمستقبل المتحرك " ت" اجباري مايكرو كنترولر فكيف سيكون الكود بتاعه ليفسر الاشارات القادمة من الجهاز الاول " ب"

بانتظار الردود :)

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#12

رامي انتبه في سيارات تابعة للمخابرات تجوب الشوارع و تكشف الإرسالة الخاص بالسيناو

أنا حذرتك ها :)

لا جد القصة

#13

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

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#14

سيد asm4all ممكن توضح كود البرنامج أو فكرته أكتر؟

04_08_05_05_25_08_1123201508Stoon.JPGIn this world I love Islam ,Computer ,Communications ,Electronics and

المسلم كالغيث أينما حل نفع

Don't ever trust machines

#15

آسف اتأخرت , بس النت كان فاصل طوال اليوم ويادوب جاي حالا

ندخل في الموضوع

بقى و انت يا رامي بتقول عاوز تستخدم جافا وتستخدم منفذ الطابعه لهذا الغرض - وماله :D - لكن قوللي أدق مؤقت تستخدمه في الجافا يعطيك نبضة كل كام من الثانية , يعني في الفيبي مثلا بتحصل على نبضه كل ملي ثانيه يعني أكبر تردد تعمل عليه هو 1 كيلو

أضف انك لا تضمن الدقه في الوقت في عملية الاخراج من منفذ الطابعة

ريح دماغك واستخدم ميكروكنترولر يعطيق دقه بالميجا , يعني الكيلو يعتبر دلع :lol:

طيب كيف نقوم بهذه الوظيفه , توليد التردد اوضحته في المشاركه السابقه

وهذا مثال لاصدار نغمة بتردد واحد كيلو

	processor	PIC16F84A
	INCLUDE  <P16F84A.INC>
	__CONFIG	3FF1
Count	EQU  0ch
Mode	EQU  0dh

	ORG  00h

	BSF  STATUS,RP0; Access Control Registers
	MOVLW  B'11111111'
	MOVWF  PORTB	; Set Port_B As Input
	MOVLW  B'00000000'
	MOVWF  PORTA	; Set Port_A As OutPut
	BCF  STATUS,RP0; Access Data Registers
START
	BTFSC  PORTB,0	; If(PB0 == 1) goto CHKMODE;
	GOTO  CHKMODE
	MOVLW  1	; W = 1
	XORWF  Mode,F	; Mode = W XOR Mode (Change Mode Status)
	BTFSS  PORTB,0	; If(PB0 == 0) goto CHKMODE;
	GOTO  $-1
CHKMODE
	BTFSS  Mode,0	; If(Mode == 1) goto START;
	CALL  OUT
	GOTO  START
OUT
	MOVLW  4	; W = 4
	XORWF  PORTA,F	; Port_A = Port_A XOR W
	MOVLW  D'200'	; W = 200
	MOVWF  Count	; Count = 200
LOP
	NOP
	DECFSZ  Count,F	; If((Count -= 1) == 0) return;
	GOTO  LOP
	RETURN
;***********************************  End The Program ******************************
	END

200 * 5 = 1000

1000000 / 1000 = 1000 Hz

لو غيرت قيمة Count ألى 50تحصل على

50 * 5 = 250

1000000 / 250 = 4000 Hz

اربعة كيلو

ولو خليتها 100

يبقى تحصل على 2 كيلو وهكذا

باقي عملية التعرف على التردد في الطرف المستقبل

ولهذا تحتاج لمثال , كان في كود كنت سبق وكتبته كعداد للتردد سوف ابحث عنه في الجهاز , واذا لم اجده ساعاود كتابته مره اخرى ان شاء الله

ولكن مؤقتاً , الفكرة أنك بتستقبل صفر دائما , وعند استقبالك 1 تبدأ في عد النبضات , طبعا ليس بالنبضه , يمكن عدهم باعشر نبضات او بالخمسين نبضه حسب راحتك , وهذا كله وانت في انتظار استلام الصفر , وعند تسلمه ترى ناتج العد , فاما ان يكون العدد الخاص بالقيمة صفر و ليكن 500 نبضه يعني تردد 2 كيلو , او 250 نبضه يعني تردد 4 كيلو ليمثل واحد

البرنامج سهل ولا توجد به صعوبة

عموما سوف ابحث لك عن البرنامج القديم

#16

احمد (Asm4all) الفكرة صحيحة لكن لا يمكن ارسال square wave بهذا الشكل لانه سيحصل تشويه كبير للاشارة لانها ستمر عبر مكثفات وهو ما يمثل فلتر لها، و لهذا فهناك حل بنفس الاسلوب و لكن تحتاج لدائرة بعد تكوين الذبذبة لتحولها من square الى sinusoidal قبل تغذية المرسل و نفس الشيئ تحتاج بعد الاستقبال دائرة لتحويل sinusoidal الى sqaure. هناك ايضا طريقة اخرى وهي انتاج ذبذبتين من 555 مثلا تكونان اساس الحالتين 1 و 0 يتم اختيار احدى الذبذبتين بواسطة الميكروكنترولر او الحاسب. كذلك يمكن انتاج اشارة sinusoidal مباشرة من الميكروكنترولر و لكن باستخدام 8 او 16 بت و باضافة مقاومات خارجية و دائرة مكبر opamp.

39_22.gif

تزود من التقوى فإنك لا تدري *** إذا جن ليل هل تعيش إلى الفجر

فكم من فتى أمسى وأصبح ضاحكاً *** وقد نسجت أكفانه وهو لا يدري

لقراءة القرآن الكريم و سماعه و تفسيره ........

ماذا يعني انني مسلم سني؟

قصة غريبة

ConflictResolution.gif

#17

انا ايه اللي خلاني أتكلم في الموجات والترددات وغيره و انا عارف ان الموجات المربعه فيها هارمونيكس بتردد عالي مش حينفع نحملها على 100 ميجا ده لو شغالين FM , كويس انك موجود يا كبير (عماد الخليل) عشان إخراج الموضوع :D , انا فكري انها حتوصل مفلطحه بعض الشيء بحيث تظل يمكن التعرف عليها , لكن كده لازم نقلل الهارمونيكس باننا نغير الموجه المربعه لمجموعة موجات جيبيه بسيطه التردد , يا ريت أي توضيح نظري يا كبير :D

وفي طريقه تانيه , نستخدم DTMF للاتصال , بس خلينا في الاولى دلوقتي

#18

شكرا جزيلا لكم ... و انا مولي هذا الموضوع اهتمام بالغ و حاطه بدماغي عشان انفذه ان شاء الله ...

لذا لدي بعض الاسئلة انت تقول ان اف ام احسن و لكن السيناو يستقبل ترددات الصوت البشري.. اريد ان اعرف مجال تردد الصوت البشري؟

و ماهي هذه الطريقة التي تقول عنها يا استاذي عماد ؟؟؟ اللي تقول فيها " انتاج ذبذبتين من 555 مثلا تكونان اساس الحالتين 1 و 0 " هل هي اسهل او ماهي ميزاتها ؟؟

بانتظار البرنامج الثاني يا احمد و ابشرك بانني فهمت البرنامج الاول بعض الشئ!!

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#19

:(

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#20

ما تزعلش يا رامي , والله كنت مشغول شوية بس لكن مش ناسي , ان شاء الله حاخلصهولك الليله بس أشوف الرسايل :D

#21

انا قلت قبل مابدأ فيه أشوف يمكن نلاقي حاجه جاهزه على النت , بدل ما اعيد كتابته مره تانيه (وهي مش حاجه جديده) , والحمد لله لقيت برنامج أحسن 500 مره من اللي كنت حاعيد كتابته :lol: , بيقيس من 1 الى 50,000,000 هيرتز

بينما البرنامج اللي كنت كاتبه كان بيقيس من 0.1 الى 100,000 هيرتز مظبوط بدون أي تخريف , بعد كده بيخرف على كيفك :lol:

الكود عليه تعليق

#22

يعني بالنهاية انا يوجد لدي حالة من التخربط و التلخبط...

للارسال استخدم الكود الاول بتاعك ...

للاستقبال استخدم الكود الجديد من الانترنت

هل هذا صحيح!!!

و من ثم ماذا من اجل التشوهات التي صرح عنها الاخ عماد!!

مال الحل الامثل و الاسهل لتلافيها!!

ماهي القطع التي سوف تلزمني سوى المايكرو كنترولر ...

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#23

هو يقول انه لازم PIC16C84

هل استطيع استخدام PIC16F84

قرأت المقدمة مالت الكود ... و حسيت ان الموضوع صعب جدا و مستحيل التحقيق !!

:(

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#24

يا رامي , اولا يمكن استخدام PIC16F84 أو PIC16F84A بدل PIC16C84 تماما فهما أحدث منه وبمواصفات أعلى في الذاكرة , لكن اسلوب البرمجه واحد والتوصيل واحد

ثانيا : كل من الكود الأول والثاني أمثلة فقط وليست الحل النهائي

الأول يصدر صوت مستمر بتردد ثابت , تستطيع أن تاخذ الفكرة لترسل ترددين لتميز بين الصفر والواحد و طبعا لن يكون الارسال مستمر كماهنا وانما بامر من البرنامج يعني لارسال

10110100

ترسلها بالترددات بهذا الشكل

0-4-0-2-0-4-0-4-0-2-0-4-0-2-0-2-0

صفر يعني لا توجد بيانات

4 أي انك ترسل 1

2 اي انك ترسل صفر

وهناك في المستقبل و تحتاج للتعرف على التردد الذي تستلمه من الخارج لتتعرف هل هو 0 أو 1 أم لا توجد اشاره

الكود الثاني يشرح كيفية التعرف على قيمة التردد , ويعرض قيمته , طبعا ليس هذا البرنامج هو الحل ولكن عن طريق التعرف على التردد المستلم تعرف هل يمثل صفر او واحد ( تحتاج بناء البرنامج ليقوم بهذه العمليه أي تحديد ان التردد 4 كيلو يمثل 1 و التردد 2 كيلو يمثل 0 وغير هذا لا يعتبر بيانات )

بعد هذه المرحله تتحكم في الهدف حسب البيانات المستلمة

للتأكيد كلا البرنامجين لا يمثلان حل بل فقط شرح للفكره

وتبقى مشكلة التشويش قائمة , فهذا الحل يعمل بامتياز لو التوصيل سلكيا أو تعمل على ترددات عالية أو تم تحويلها الى sinusoidal

#25

ترددات السيناو كبيرة جدا كما اعرف !! و مداها كبير جدا ايضا!! ( 4 - 10 ) كم

يعني الدارة تستلم تردادت الصوت البشري و تنقل "سليكا "و تحول الى ترددات عالية

و نفس الشئ بالنسبة للمستقبل !! اذن اين التشويش سوف يحدث!!!

هل يمكنك ان تنفذ لي هذه العملية و بمقابل مادي معين !! ( فقط حدد مبلغ بالينار :) )

بانتظار الرد

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

هذا الموضوع مغلق.

مواضيع مشابهة