محول تناظري رقمي بسيط ورخيص: 5 خطوات
محول تناظري رقمي بسيط ورخيص: 5 خطوات
Anonim

منذ أن كانت ADC باهظة الثمن ونادرة ، يأتي حل برمجيات الأجهزة للحصول على البيانات لأجهزة الكمبيوتر. استنادًا إلى منفذ جويستيك القديم المتوافق مع IBM ، فإن تقنية تشغيل جهاز هزاز متعدد أحادي ومحول طاقة مقاوم (مقاوم حراري ، خلية ضوئية ، مقياس إجهاد ، إلخ) ثم حساب عدد الدورات التي يمر بها قبل أن يرتفع ناتج الهزاز المتعدد. سهل التنفيذ على معظم منصات أجهزة الكمبيوتر وفي معظم اللغات. يتم عرض ملفات عينة VisualBasic و Qbasic.

الخطوة 1: منفذ جويستيك

لسنوات عديدة ، كانت العديد من أجهزة الكمبيوتر المنزلية المتوافقة مع IBM مزودة بمنفذ جويستيك يحتوي على محاور X ، ومحور Y ، وأزرار A & B. يمكن الوصول إلى موصل DB-15 الصغير على العنوان 200h & 201h. كان ذراع التحكم نفسه عبارة عن مقياسين فرق جهد وزرين فقط. داخل اللوحة الأم لجهاز الكمبيوتر ، تم وضع اثنين من الهزازات الأحادية القابلة لإعادة التشغيل (RMM اختصارًا) مع المكثفات الثابتة ودبابيس IN / OUT. تم تعيين ثابت وقت RC بواسطة مقاييس الجهد والمكثفات. لبدء تحويل الإشارة ، يمكنك إجراء WRITE لعنوان المنفذ 200h ثم البدء في العد حتى تحصل على مرتفع قليلاً عن طريق إجراء قراءة لعنوان المنفذ 200h. يمكن تنفيذ ذلك بأي لغة (أساسي ، باسكال ، ج).

الخطوة 2: منفذ جويستيك في VB

هذا نموذج من الكود الذي استخدمته لاختبار عصا التحكم الخاصة بي غير المرغوب فيه: Private Sub Timer1_Timer () Dim V، H As Integer Out & H201، & HFF For H = 1 To 3000 If (Inp (& H201) And & H1) / & H1 = 0 ثم الخروج من أجل التالي H Horizontal. Text = H Out & H201، & HFF For V = 1 إلى 3000 If (Inp (& H201) And & H2) / & H2 = 0 ثم اخرج لـ V Vertical التالي. text = V If (Inp (& H201) و & H10) / & H10 = 0 ثم Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 ثم Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 ثم Shape1. FillColor = & HC0C0C0 If (Inp (& H201) و & H20) / & H20 = 1 ثم Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub لا يعمل البرنامج إلا إذا كان لديك عصا تحكم حقيقية متصلة بجهاز الكمبيوتر. سيظهر مربعا النص الأفقي والعمودي قيمة مرتبطة بحركات X و Y لعصاك. كما سيتحرك مربع داخل مربع أكبر ليمثل تحركاتك. سيؤدي الضغط على الزرين A و B إلى قراءة الدوائر الرمادية. نموذج ملف EXE المترجمة ، التعليمات البرمجية المصدر ومكتبة INPOUT32. DLL موجودة في ملف. RAR.

الخطوة 3: قم بتنفيذه باستخدام المنفذ المتوازي تحت DOS

74 LS 123 هو ما استخدمته للحصول على نفس نظام منفذ عصا التحكم. لديها اثنين من RMM. في ملف PDF ، يمكنك رؤية ورقة البيانات ودائرة بسيطة لإرفاقها بالمنفذ المتوازي. أنا من محبي Qbasic (لأنها متوفرة على نطاق واسع) لذلك تمت كتابة الكود فيها. الإجراء هو نفسه الموجود في نموذج VB: LPTdata = & H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9، 1) - (630، 170)، B، & H3333VIEW (10، 2) - (629، 169) WINDOW (0، YMAXX) - (620، 0) MAXX = 620DIM D (MAXX) بينما INKEY $ = "" OUT LPTcontrol & H1 OUT LPTcontrol & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 ثم اخرج للموقع التالي Y 23 ، 1 اطبع باستخدام "####" ؛ Y LINE (0، 0) - (MAXX، YMAXX)، 0، BF لـ I = 1 إلى خط MAXX (I، D (I - 1)) - (I، D (I)) D (I - 1) = D (I) NEXT ID (MAXX) = YWEND يتم استخدام دبوس إخراج واحد لتشغيل MMR ودبوس إدخال واحد لقراءة الإخراج منه.

الخطوة 4: إرفاق الدائرة بـ LPT

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

الخطوة 5: استخدمه

هذا هو IC شائع ولكن يمكن أيضًا استخدام monostables أخرى. العديد من الأشخاص الذين يعيشون في أماكن يصعب العثور عليها ADC ، قد يرغبون في استخدام هذه الدائرة كمشروع مدرسي لرسم درجة الحرارة أو أي أشياء أخرى طالما يمكنك جعل MMR يغير تأخيره عندما يقوم المستشعر الخاص بك بذلك.

موصى به: