في عالم الإلكترونيات الحديث ، يتم استخدام الإدخال باللمس في كل مكان تقريبًا ، سواء كان هاتفًا محمولًا أو مفتاح تبديل شاشة LCD. اللمس السعوي هو الأكثر استخدامًا في قطاع مستشعر اللمس وقد استخدمنا سابقًا اللمس السعوي مع Raspberry Pi. هنا في هذا المشروع ، سنقوم بواجهة مستشعر اللمس مع متحكم 8051 AT89S52. إذا كنت مستخدمًا جديدًا لوحدة التحكم الدقيقة 8051 ، فيمكنك البدء بميض LED بالرقم 8051.
ما هو مستشعر اللمس السعوي؟
تعمل اللمسة السعوية على الشحنة الكهروستاتيكية المتوفرة في أجسامنا. الشاشة مشحونة بالفعل بالمجال الكهربائي. عندما نلمس الشاشة ، تتشكل دائرة مغلقة بسبب الشحنات الكهروستاتيكية التي تتدفق عبر أجسامنا. علاوة على ذلك ، يقرر البرنامج الموقع والإجراء المطلوب تنفيذه. لن تعمل شاشة اللمس السعوية مع قفازات اليد لأنه لن يكون هناك أي توصيل بين الإصبع (الأصابع) والشاشة.
مستشعر اللمس المستخدم في هذا المشروع
مستشعر اللمس المستخدم في هذا المشروع هو وحدة استشعار تعمل باللمس بالسعة ويستند برنامج تشغيل المستشعر إلى برنامج التشغيل IC TTP223. إن جهد التشغيل لـ IC TTP23 هو 2.0 فولت إلى 5.5 فولت والاستهلاك الحالي لمستشعر اللمس منخفض جدًا. نظرًا للاستهلاك الحالي المنخفض التكلفة وسهل الدمج ، فإن مستشعر اللمس مع TTP223 يحظى بشعبية كبيرة في فئته.
في الصورة أعلاه ، يتم عرض كلا جانبي المستشعر حيث يكون مخطط pinout مرئيًا بوضوح. كما أن لديها وصلة لحام يمكن استخدامها لإعادة تكوين المستشعر فيما يتعلق بالإخراج. العبور هو A و B. التكوين الافتراضي أو في الحالة الافتراضية لموصل اللحام ، يتغير الإخراج من منخفض إلى مرتفع عند لمس المستشعر. ومع ذلك ، عند ضبط العبور وإعادة تكوين المستشعر ، يغير الإخراج حالته عندما يكتشف مستشعر اللمس اللمس. يمكن أيضًا تكوين حساسية مستشعر اللمس عن طريق تغيير المكثف. للحصول على معلومات مفصلة ، تعتبر ورقة البيانات الخاصة بـ TTP 223 مفيدة للغاية.
يظهر الرسم البياني أدناه مخرجات مختلفة في إعدادات العبور المختلفة
الطائر أ | الطائر ب |
حالة قفل الإخراج |
إخراج مستوى TTL |
افتح | افتح |
بدون قفل |
عالي |
افتح | قريب |
القفل الذاتي |
عالي |
قريب | افتح |
بدون قفل |
منخفض |
قريب | قريب |
القفل الذاتي |
منخفض |
بالنسبة لهذا المشروع ، سيتم استخدام المستشعر في التكوين الافتراضي المتوفر في حالة إصدار المصنع. في هذا المشروع ، سيتم استخدام مستشعر اللمس للتحكم في مصباح التيار المتردد باستخدام متحكم AT89S52.
يتم توصيل مرحل بالميكروكونترولر 8051. يمكن رؤية دبوس التتابع في الصورة أدناه-
عادة ما يكون NO مفتوحًا ويتم توصيل NC بشكل طبيعي. L1 و L2 هما طرفي ملف الترحيل. عندما لا يتم تطبيق الجهد ، يتم إيقاف تشغيل التتابع ويتم توصيل القطب مع دبوس NC. عندما يتم تطبيق الجهد عبر أطراف الملف ، يتم تشغيل L1 و L2 من المرحل ويتم توصيل القطب بـ NO. لذلك ، يمكن تشغيل أو إيقاف الاتصال بين POLE و NO عن طريق تغيير حالة تشغيل المرحل.
المواد المطلوبة
- متحكم AT89S52 8051
- التتابع المكعب القياسي - 5 فولت
- 11.592 ميجا هرتز كريستال
- مكثفات 33pF - 2 قطعة
- 2 كيلو المقاوم -1 جهاز كمبيوتر
- 4.7 كيلو المقاوم - 1 جهاز كمبيوتر
- 10 فائق التوهج مكثف
- الترانزستور BC549B
- مستشعر TTP223
- 1N4007 ديود
- لمبة مع حامل لمبة
- لوح التجارب
- مزود طاقة 5 فولت ، يمكن لشاحن الهاتف أن يعمل.
- الكثير من أسلاك العبور أو أسلاك بيرغ.
- بيئة برمجة AT89S52 مع Programmer Kit و IDE مع مترجم
مخطط الرسم البياني
الرسم التخطيطي للتحكم في الضوء باستخدام مستشعر اللمس و 8051 موضح أدناه ،
يستخدم الترانزستور لتشغيل أو إيقاف تشغيل المرحل. مستشعر اللمس متصل بوحدة التحكم الدقيقة AT89S52. الدائرة مبنية باستخدام اللوح.
برمجة متحكم Atmega AT89S52
يتم إعطاء رمز 8051 الكامل في النهاية. نحن هنا نوضح أجزاء قليلة من الكود. إذا كنت جديدًا على متحكم 8051 ، فتعلم أولاً كيفية برمجة 8051 Microcontroller.تُستخدم خطوط الكود التالية لدمج المرحل ومستشعر اللمس مع متحكم 8051. REGX52 هو ملف الرأس لوحدة متحكم AT89S52. يتم أيضًا الإعلان عن وظيفة التأخير.
#تضمن
تتم تهيئة اللمس والترحيل كـ 0. يغير مستشعر اللمس المنطق من 0 إلى 1. إذا كانت العبارة صحيحة عند تنشيط مستشعر اللمس ونتيجة لذلك ، تتغير حالة المرحل. ومع ذلك ، لاكتشاف اللمس بدقة ، يتم استخدام تأخير الارتداد.
// الوظيفة الرئيسية باطلة الرئيسية (باطلة) { RELAY = 0 ؛ اللمس = 0 ؛ بينما (1) { إذا (اللمس == 1) { تأخير (15) ؛ // debounce delay if (Touch == 1) { RELAY =! RELAY؛ // تبديل RELAY دبوس تأخير (30) ؛ } } } }
أدناه ، يتم كتابة وظيفة التأخير. تأخذ الوظيفة الإدخال بتنسيق ملي ثانية وتولد تأخيرًا باستخدام حلقتين for . هذا التأخير ليس دقيقًا كثيرًا ولكنه مقبول ويعتمد في الغالب على توقيت دورة الساعة.
/ * تأخير الوظيفة ذات الصلة * / تأخير الفراغ (char ms) {int a، b؛ لـ (أ = 0 ؛ أ <1295 ؛ أ ++) {من أجل (ب = 0 ؛ ب
هذا اللمس التي تسيطر عليها دائرة الضوء يتم اختبار على اللوح مع لمبة الطاقة المنخفضة لأنها مرتبطة. و رسم كامل مع الفيديو مظاهرة ويرد أدناه. يمكنك التحقق من المزيد من مشاريع أتمتة المنزل هنا.