جدول المحتويات:
- الخطوة 1: ما سوف تحتاجه
- الخطوة 2: ما هي لوحة اللمس المقاومة المكونة من 5 أسلاك؟
- الخطوة 3: الأسلاك
- الخطوة 4: تطوير البرمجيات
- الخطوة 5: وميض آلة الحالة
- الخطوة 6: زر وميض
- الخطوة 7: الاتصال التسلسلي
- الخطوة 8: قراءة الإحداثيات
- الخطوة 9: التنظيف
- الخطوة 10: الأفكار النهائية
فيديو: مستشعر اللمس المقاوم بـ 5 أسلاك: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
أهلا أهلا!
لقد مر وقت طويل منذ أن عملت على هذا الموقع وقد تغيرت الكثير على ما يبدو! أنا مستعد أخيرًا للعودة خلف عجلة القيادة من أجل مشروع آخر ، وأعتقد أن الوقت قد حان لتغيير الأمور قليلاً بنفسي!
كنت أفكر منذ بعض الوقت في مشروع قائم على لوحة وكرة 271828 ، لكن لدي الكثير لأتعلمه عن أجهزة الاستشعار ونظرية التحكم قبل أن ينتهي. اعتقدت أنه طالما أنني أتعلم شيئًا أو شيئين ، فقد آخذكم معي يا رفاق!
تحقيقًا لهذه الغاية ، سيكون هدفي من هذه البرامج التعليمية نوعًا من الهجين بين البرامج التعليمية الأكثر تلميعًا ، وسجل للمشروع نفسه. سيكون كل برنامج تعليمي فردي خطوة واحدة في تلك الرحلة ، وسيشمل التفاصيل التي قمت بتخطيها في الماضي مثل تطوير الكود (بدلاً من التعليمات البرمجية المكتملة للتو) والخطوات الخاطئة التي اتخذتها على طول الطريق.
أنا متحمس جدًا لهذا المشروع الجديد ، وأنا متحمس جدًا لأرى مدى نجاحه!
اليوم سنحصل فقط على لوحة لمس بسيطة من 5 أسلاك تعمل مع DP-32.
هيا بنا نبدأ!
الخطوة 1: ما سوف تحتاجه
نظرًا لأن هذا البرنامج التعليمي يتعلق بتشغيل مستشعر واحد ، فلن تحتاج إلى الكثير بخلاف وحدة التحكم الدقيقة ولوحة اللمس.
-
متحكم.
أنا أستخدم DP32 الخاص بي مع لوح الخبز المدمج لأنه يجعل النماذج الأولية بسيطة بشكل لا يصدق
-
أسلاك وكابلات متنوعة.
كان بإمكاني استخدام كابل الشريط المدمج في اللوحة التي تعمل باللمس ، ولكن إذا تمزق ، فستكون اللوحة بأكملها عديمة الفائدة. بدلاً من ذلك ، أستخدم كبلًا من 6 أسلاك لتقليل الضغط على الكبل المدمج
-
لوحة اللمس المقاومة الفخارية المكونة من 5 أسلاك!
كان لدي لوحة لمس مقاومة بأربعة أسلاك ، لكن كابل الشريط الخاص بها انكسر
وهذا كل شيء!
الخطوة 2: ما هي لوحة اللمس المقاومة المكونة من 5 أسلاك؟
إذا كنت قد قرأت من خلال البرنامج التعليمي الخاص بلوحة اللمس المكونة من 4 أسلاك ، فستكون على دراية بالفكرة العامة لمستشعر اللمس المقاوم ، لكن الألواح المكونة من 5 أسلاك والألواح المكونة من 4 أسلاك تعمل بشكل مختلف قليلاً.
تعجبني هذه اللوحة لأنه يمكنك رؤية جميع آثار الأسلاك ، مما يسهل رؤية ما يفعله. في الصورة الأولى ، قمت بتلوين كل أثر بشكل مختلف. ربما يمكنك أن ترى أن أربعة من الأسلاك (الوردي والأصفر والبرتقالي والأرجواني) يذهب كل منها إلى أحد الزوايا الأربع. يذهب السلك الأوسط (الأحمر) إلى لوحة مستشعر مرنة.
في الصورة الثانية ، قمنا بتعيين اثنين من الأسلاك الأربعة (أعلى اليمين وأسفل اليمين) على جهد عالٍ (يظهر باللون الأحمر) ، بينما تم ضبط السلكين الآخرين (أعلى اليسار وأسفل اليسار) على منخفض الجهد (يظهر باللون الأزرق). يؤدي هذا إلى إنشاء تدرج للجهود عبر اللوحة بأكملها. في هذه الحالة ، يمر التدرج اللوني على طول المحور السيني ، لذا فإن الجهد العالي يمثل موضعًا أعلى على طول المحور السيني.
عندما نلمس اللوحة بإصبعنا ، فإن ذلك يضغط على المستشعر المرن ، ويتصل في مكان ما على طول تدرج المحور X. يمكن لمستشعرات الجهد الموجودة في وحدة التحكم الدقيقة الخاصة بنا أن تستشعر هذا الجهد ، وتخبرك بمكان المحور X الذي يلامسه إصبعك!
في الصورة الثالثة ، يمكنك أن ترى كيف يتغير التكوين للسماح لنا بالاستشعار على طول المحور ص. بهذه الطريقة ، يمكننا معرفة المكان الذي يلمس فيه إصبعنا في الفضاء ثنائي الأبعاد!
الخطوة 3: الأسلاك
كما ترون على الأرجح في الصور أعلاه ، لقد قمت بتوصيل كل من الزوايا الأربع الخاصة بي بدبوس الإخراج الرقمي الخاص بهم. سيسمح لي ذلك بتعيينها بشكل فردي على مرتفع أو منخفض. يتم توصيل دبوس المستشعر الخاص بي بدبوس إدخال تناظري. الشيء الجميل في شاشة اللمس المكونة من 5 أسلاك ، بدلاً من 4 أسلاك ، هو أنك تحتاج فقط إلى دبوس تمثيلي واحد ، بينما يتطلب 4 أسلاك 2.
قد تختلف الأسلاك الخاصة بك ، بالطبع ، لكن الأسلاك الخاصة بي هي كما يلي:
التناظرية 0 (دبوس 6) يتصل بجهاز الاستشعار (الدبوس الأوسط)
يتصل Digital 3 بأعلى اليمين (أعلى طرف)
يتصل Digital 2 بأعلى اليسار (ثاني أعلى دبوس)
يتصل الرقم الرقمي 1 بالجانب الأيسر السفلي (ثاني أكبر دبوس)
يتصل الرقم الرقمي 0 بالجزء السفلي الأيمن (الجزء السفلي من الطرف)
تجدر الإشارة مرة أخرى إلى أنني أستخدم كبلًا مكونًا من 6 أسلاك للتنقل بين وحدة التحكم الدقيقة واللوحة. لقد تركت الدبوس العلوي لهذا الكابل غير متصل.
الخطوة 4: تطوير البرمجيات
في الماضي ، كنت عادةً أسقط ملف برنامج مكتمل لتستخدمه ، ربما من خلال استعراض موجز لما يفعله كل شيء. لا احب ذلك. أريد أن تكون هذه السلسلة حول المشاريع قيد التطوير ، ولهذا الغرض سأقوم بتضمين التطوير الفعلي لهذا البرنامج من البداية إلى النهاية.
كالعادة ، سأستخدم Arduino IDE ، مع Digilent core. سيتضمن كل قسم ملف رمز ولقطة شاشة بالإضافة إلى وصف للإضافات وما نحاول تحقيقه.
في الوقت الحالي ، بدأت ببرنامج وميض نمط تأخير بسيط ، تمامًا مثل ما تجده في مجلد الأمثلة. إذا قرأت هذا العنوان المطول الذي كتبته ، فسترى أن كل خطوة في هذه العملية ستعمل على تعديل البرنامج لتقريبه من هدفنا النهائي.
الخطوة 5: وميض آلة الحالة
خطوتي الأولى هي تغيير وظيفة الوميض من وظيفة تعتمد على "delay ()" إلى آلة الحالة.
بالنسبة لأولئك الذين لم يستخدموا تبديل العبارات ، فإنها تعمل بشكل مشابه لـ if-statement. هذا (في المربع البرتقالي) يختبر متغير "الحالة" (الذي يبدأ من 0). ثم ينتقل إلى قضية حالتنا الحالية. سترى أن الحالة 0 و 2 مسؤولة عن تشغيل وإيقاف تشغيل LED (على التوالي) ، بينما تكون الحالة 1 و 3 مسؤولة عن الانتظار بين المفاتيح.
الخطوة 6: زر وميض
بعد ذلك ، أردت استخدام الزر ليومض الضوء. بدلاً من تعقيد ذلك ، قمت فقط بنقل جميع الولايات بواحدة (الحالة 0 تصبح الحالة 1 ، وما إلى ذلك). عند القيام بذلك ، كن حريصًا على زيادة حالات الخروج بالإضافة إلى الحالة نفسها (انظر الصورة 3).
لقد حذفت أيضًا حالة "الانتظار" الثانية. هذا يعني أن الزر يضيء الضوء لمدة ثانية واحدة ، ويمكنك الضغط عليه مرة أخرى فور إطفاءه.
تجدر الإشارة إلى أن هذا النظام يقوم تلقائيًا بإلغاء الزر لنا ، لأنه يتعين علينا انتظار إيقاف تشغيل مؤشر LED قبل العودة إلى الحالة 0 حيث يمكن للزر تشغيل الدورة مرة أخرى.
الخطوة 7: الاتصال التسلسلي
هذا التحديث صغير جدا. كل ما أردت فعله هو إنشاء اتصال تسلسلي وإرسال الرسائل. في الصورة الأولى ، يمكنك أن ترى أنني أبدأ المسلسل في وظيفة الإعداد (). داخل جهاز الحالة الخاص بنا ، أضفت سطورًا إلى الحالتين 1 و 3 والتي سترسل رسائل بسيطة إلى الكمبيوتر من خلال المسلسل.
الخطوة 8: قراءة الإحداثيات
من الجيد أن الخطوة الأخيرة كانت سهلة ، لأن هذه الخطوة كانت قذرة.
للبدء ، أضفت متغيرات للوحة اللمس الخاصة بنا ، بما في ذلك بعض متغيرات الوقت المخصصة لكل من لوحة اللمس والزر الخاص بنا. سترى لماذا بعد قليل.
لقد أعدت كتابة آلة الدولة بالكامل. من المربك بعض الشيء أن ننظر إلى الكود ، لذلك قمت بتضمين مخطط كتلة يجب أن يوضح ما تم إنجازه.
أشياء يجب ملاحظتها: هناك ثلاث خطوات "انتظار" الآن. واحد لكل تكوين للوحة اللمس ، للسماح للجهد بالاستقرار قبل أخذ القياس ، والآخر لمنح الزر وقتًا للارتداد بشكل صحيح. خطوات الانتظار هذه هي سبب رغبتي في إعطاء كل من الزر ولوحة اللمس متغيرات الوقت الخاصة بهما.
ملاحظة: قد يكون الثابت DEBOUNCE_TIME منخفضًا بعض الشيء. لا تتردد في زيادتها.
الخطوة 9: التنظيف
لقد وصلنا إلى النسخة النهائية من الكود الخاص بهذا المشروع!
للبدء ، أضفت وظيفة تسمى loop_diff () لحساب الوقت المنقضي. الساعة الداخلية لـ DP32 طويلة بدون إشارة ، وعلى الرغم من أنه من غير المحتمل للغاية ، فهناك احتمال أن تتكرر الساعة في وقت ما أثناء وقت تشغيل هذا الرمز *. في هذه الحالة ، ببساطة طرح الوقت الحالي من الوقت المحفوظ في btn_time أو panel_time سيعطينا شيئًا غريبًا ، لذلك كتبت loop_diff () لاكتشاف وقت حدوث الحلقات ، والتصرف وفقًا لذلك.
لقد قمت أيضًا ببعض التنظيف البسيط. لقد أزلت متغير "state_time" غير المستخدم الآن. لقد قمت بالتبديل من علامة LED_BUILTIN (وهو معيار Arduino) إلى علامة PIN_LED1 (وهو معيار لـ chipKit و DP32). لقد أزلت أيضًا جميع الرسائل من خلال Serial حول بدء العملية وإنهائها ، مما يجعل بياناتنا من خلال Serial أكثر نظافة.
* لقد أجريت العمليات الحسابية منذ سنوات ، وأعتقد أنه بالنسبة لوظيفة millis () سيستغرق الأمر ما يقرب من أسبوع من وقت التشغيل الثابت قبل أن يتكرر المتغير.
الخطوة 10: الأفكار النهائية
وهذا كل شيء!
إذا كنت قد اتبعت ذلك ، فيجب أن يكون لديك الآن لوحة تعمل باللمس متصلة بوحدة التحكم الدقيقة الخاصة بك! كان هذا مشروعًا صغيرًا ، لكنه جزء من مشروع أكبر. أنا أعمل من أجل شيء مثل الكرة والكرة 271828 ، ولديّ طريق طويل لنقطعه قبل أن يحدث ذلك. سأحاول اصطحابك معك طوال العملية ، ويجب أن يكون كل جزء مشروعًا صغيرًا خاصًا به.
هذه عملية تعليمية بالنسبة لي ، لذا لا تتردد في ترك أفكارك واقتراحاتك في التعليقات أدناه.
شكرًا ، وسأراكم في المرة القادمة!
موصى به:
كيفية استخدام مستشعر اللمس TTP-223B: 4 خطوات
كيفية استخدام مستشعر اللمس TTP-223B: TTP223-BA6 هو IC يمكنه اكتشاف اللمسات. تم تصميم هذا IC ليحل محل الزر التقليدي المباشر. عن طريق إضافة المكونات ، يمكن تطوير هذا IC لأغراض مختلفة ، مثل: مفتاح التيار المستمر ، مفتاح AC ، مفتاح Tact Switch ، إلخ
النموذج الأولي - جهاز إنذار باستخدام مستشعر اللمس البشري (KY-036): 4 خطوات
النموذج الأولي - جهاز الإنذار باستخدام مستشعر اللمس البشري (KY-036): في هذا المشروع ، سأقوم بتصميم جهاز إنذار يتم تشغيله بلمسة واحدة. ستحتاج لهذا المشروع إلى جهاز استشعار يعمل باللمس (KY-036). اسمحوا لي أن أقدم لكم لمحة عن هذا المشروع. كما ترون في الصور أعلاه ، حس اللمس
مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: 5 خطوات (بالصور)
مستشعر الضوء (المقاوم الضوئي) مع Arduino في Tinkercad: دعنا نتعلم كيفية قراءة المقاوم الضوئي ، وهو نوع حساس للضوء من المقاوم المتغير ، باستخدام مدخلات Arduino التناظرية. يطلق عليه أيضًا LDR (المقاوم المعتمد على الضوء) ، حتى الآن تعلمت بالفعل التحكم في مصابيح LED من خلال إخراج Arduino التناظري ، و
مفتاح اللمس - كيفية عمل مفتاح اللمس باستخدام الترانزستور ولوحة التوصيل: 4 خطوات
مفتاح اللمس | كيفية عمل مفتاح يعمل باللمس باستخدام الترانزستور ولوحة البريد: مفتاح اللمس هو مشروع بسيط للغاية يعتمد على تطبيق الترانزستورات. يتم استخدام الترانزستور BC547 في هذا المشروع الذي يعمل بمثابة مفتاح اللمس. تأكد من مشاهدة الفيديو الذي سيعطيك التفاصيل الكاملة حول المشروع
مستشعر اللمس الرقمي باستخدام LM358: 3 خطوات
مستشعر اللمس الرقمي باستخدام LM358: المستشعرات هي أفضل شيء للتغلب على إلكترونيات DIY وهذا هو ثاني تعليمات لسلسلة من Instructables التي تخلق مستشعرات مختلفة متوافقة مع وحدات التحكم الدقيقة المختلفة. في التعليمات السابقة ، أوضحت لك كيف