- ما هو مستشعر اللمس السعوي وكيف يعمل؟
- بناء مستشعر لمس سعوي رباعي الاتجاهات
- المواد المطلوبة لدائرة التحكم باللمس ESP32
- دائرة التحكم لمستشعر اللمس السعوي
- تصميم ثنائي الفينيل متعدد الكلور لدائرة حساس اللمس بالسعة
- كود اردوينو لمستشعر اللمس بالسعة ESP32
- اختبار دائرة مستشعر اللمس ESP32
- مزيد من التحسينات
في كثير من الحالات ، يتم استخدام مستشعرات اللمس بدلاً من أزرار الضغط. الميزة هي أنه لا يتعين علينا توفير القوة للضغط على زر ، ويمكننا تنشيط مفتاح دون لمسه باستخدام مستشعرات اللمس. أصبحت تقنية الاستشعار باللمس شائعة يومًا بعد يوم. وخلال العقد الماضي أو نحو ذلك ، أصبح من الصعب تخيل العالم بدون إلكترونيات حساسة للمس. يمكن استخدام كل من طرق اللمس المقاومة والسعة لتطوير مستشعر اللمس ، وفي هذه المقالة ، سنناقش طريقة بدائية لصنع مستشعر سعوي يعمل باللمس باستخدام ESP32 ، وقد قمنا سابقًا أيضًا ببناء زر اللمس بالسعة باستخدام Raspberry pi.
على الرغم من أن مستشعرات اللمس الخاصة بالتطبيقات يمكن أن تكون معقدة بعض الشيء ، فإن المبدأ الأساسي الذي تقوم عليه هذه التقنية يظل كما هو ، لذلك في هذه المقالة ، سنركز على تطوير مستشعر اللمس السعوي الخاص بنا بمساعدة ESP32 المفضل لدينا وقطعة من النحاس- مجلس يرتدون.
في البرنامج التعليمي السابق ، قمنا بعمل Control Home Lights مع Touch باستخدام TTP223 Touch Sensor و Arduino UNO ، الآن في هذا المشروع ، نقوم ببناء مستشعر Touch لـ ESP32 ولكن يمكن استخدام نفس الشيء مع Arduino أيضًا. أيضًا ، استخدمنا سابقًا طرق الإدخال التي تعمل باللمس باستخدام وسادات اللمس السعوية مع وحدات تحكم دقيقة مختلفة مثل Touch Keypad Interfacing مع متحكم ATmega32 و Capacitive TouchPad مع Raspberry Pi ، يمكنك أيضًا التحقق منها إذا كنت مهتمًا.
ما هو مستشعر اللمس السعوي وكيف يعمل؟
تأتي المكثفات بأشكال عديدة. الأكثر شيوعًا يأتي مرة واحدة في شكل حزمة تحتوي على الرصاص أو حزمة تثبيت سطحية e ولكن لتكوين سعة ، نحتاج إلى موصلات مفصولة بمادة عازلة. وبالتالي ، من السهل إنشاء واحدة. من الأمثلة الجيدة على ذلك الذي سنقوم بتطويره في المثال التالي.
بالنظر إلى ثنائي الفينيل متعدد الكلور المحفور كمادة موصلة ، يعمل الملصق كمادة عازلة ، لذا يبقى السؤال الآن ، كيف يؤدي لمس الوسادة النحاسية إلى تغيير السعة بطريقة يمكن لجهاز التحكم باللمس اكتشافها؟ إصبع بشري بالطبع.
حسنًا ، هناك سببان رئيسيان: الأول ، يتضمن الخصائص العازلة لإصبعنا ، والثاني بسبب الخصائص الموصلة لإصبعنا. نحن نذهب إلى استخدام لمسة بالسعة مقرها. لذلك ، سنوجه تركيزنا نحو مستشعر اللمس القائم على السعوية. لكن قبل أن نناقش كل هذا ، من المهم أن نلاحظ أنه لا يوجد أي توصيل ، وأن الإصبع معزول بسبب الورق المستخدم في الملصق. لذا ، فإن الإصبع غير قادر على تفريغ المكثف.
الاصبع بمثابة عازل:
من المعروف أن للمكثف قيمة ثابتة يمكن إدراكها من خلال مساحة اللوحين الموصلين ، والمسافة بين اللوحين ، وثابت العازل. لا يمكننا تغيير مساحة المكثف بمجرد لمسه ولكن يمكننا بالتأكيد تغيير ثابت العزل للمكثف لأن إصبع الإنسان له ثابت عازل مختلف عن المادة التي تعرضه. في حالتنا ، إنه هواء ، نحن نستبدل الهواء بأصابعنا. إذا كنت تسأل كيف؟ يرجع ذلك إلى أن ثابت العزل الكهربائي للهواء 1006 عند درجة حرارة الغرفة بمستوى سطح البحر وثابت العزل للإصبع أعلى بكثير عند حوالي 80 لأن إصبع الإنسان يتكون في الغالب من الماء. لذا ، فإن تفاعل الإصبع مع المجال الكهربائي للمكثف يسبب زيادة في ثابت العزل ، وبالتالي تزداد السعة.
الآن بعد أن فهمنا المبدأ ، دعنا ننتقل إلى صنع مركبات ثنائي الفينيل متعدد الكلور فعلية.
بناء مستشعر لمس سعوي رباعي الاتجاهات
يحتوي مستشعر اللمس السعوي المستخدم في هذا المشروع على أربع قنوات ، ومن السهل صنعه. فيما يلي ذكرنا العملية التفصيلية لعمل واحدة.
أولاً ، صنعنا PCB لجهاز الاستشعار بمساعدة أداة تصميم Eagle PCB ، والتي تبدو مثل الصورة أدناه.
بمساعدة الأبعاد والفوتوشوب ، صنعنا القالب وأخيراً الملصق الخاص بالمستشعر الذي يشبه الصورة أدناه ،
الآن ، كما انتهينا من الملصق ، ننتقل إلى صنع قالب اللوحة المكسوة الفعلي الذي سنستخدمه لصنع ثنائي الفينيل متعدد الكلور الخاص بنا ، والذي يشبه الصورة أدناه ،
يمكننا الآن طباعة هذا الملف والمضي قدما في عمليات صنع ثنائي الفينيل متعدد الكلور محلي الصنع. إذا كنت جديدًا ، فيمكنك الاطلاع على المقالة حول كيفية بناء ثنائي الفينيل متعدد الكلور في المنزل. يمكنك أيضًا تنزيل ملفات PDF و Gerber المطلوبة من الرابط أدناه
- ملف جربر لمستشعر اللمس بالسعة أربع قنوات
بمجرد الانتهاء من ذلك ، تبدو لوحة PCB الفعلية مثل الصورة أدناه.
حان الوقت الآن لحفر بعض الثقوب ، ونقوم بتوصيل بعض الأسلاك بـ PCB. حتى نتمكن من توصيله بلوحة ESP32. بمجرد الانتهاء ، تبدو الصورة أدناه.
نظرًا لأننا لم نضع فيا في PCB ، فقد انتشر اللحام في كل مكان أثناء اللحام ، وقمنا بتصحيح خطأنا عن طريق وضع ثقب على PCB ، والذي يمكنك العثور عليه في قسم التنزيل أعلاه. أخيرًا ، حان الوقت لوضع الملصق وجعله نهائيًا. التي تبدو مثل الصورة أدناه.
لقد انتهينا الآن من لوحة اللمس ، حان الوقت للانتقال إلى إنشاء دائرة التحكم للوحة اللمس.
المواد المطلوبة لدائرة التحكم باللمس ESP32
المكونات المطلوبة لبناء قسم وحدة التحكم باستخدام ESP32 مذكورة أدناه ، يجب أن تكون قادرًا على العثور على معظمها في متجر الهوايات المحلي.
لقد أدرجت أيضًا المكونات في الجدول أدناه بالنوع والكمية المطلوبة ، نظرًا لأننا نتعامل مع مستشعر لمس رباعي القنوات ونتحكم في أربعة أحمال تيار متردد ، سنستخدم 4 مرحلات لتبديل حمل التيار المتردد و 4 ترانزستورات لبناء المرحل دوائر السائق.
SL. لا |
القطع |
نوع |
كمية |
1 |
تناوب |
مفتاح كهربائي |
4 |
2 |
139 دينار بحريني |
الترانزستور |
4 |
3 |
مأخذ المسمار |
برغي محطة 5mmx2 |
4 |
4 |
1N4007 |
الصمام الثنائي |
5 |
5 |
0.1 فائق التوهج |
مكثف |
1 |
6 |
100 فائق التوهج ، 25 فولت |
مكثف |
2 |
7 |
إل إم 7805 |
منظم ضغط كهربي |
1 |
8 |
1 ك |
المقاوم |
4 |
9 |
560R |
المقاوم |
4 |
10 |
LED كهرماني |
يؤدى |
4 |
11 |
رأس ذكر |
موصل |
4 |
12 |
رأس أنثى |
موصل |
30 |
13 |
الصمام الأحمر |
يؤدى |
1 |
14 |
ESP32 ديف بورد V1.0 |
مجلس ESP32 |
1 |
12 |
مجلس يرتدون |
Generic 50x 50mm |
1 |
13 |
أسلاك توصيل |
الأسلاك |
4 |
14 |
توصيل الأسلاك |
الأسلاك |
5 |
دائرة التحكم لمستشعر اللمس السعوي
توضح الصورة أدناه مخطط الدائرة الكامل لمستشعر اللمس القائم على ESP32.
كما ترى ، إنها دائرة بسيطة للغاية مع الحد الأدنى من المكونات المطلوبة.
نظرًا لأنها دائرة بسيطة لمستشعر اللمس ، يمكن أن تكون مفيدة في الأماكن التي تريد فيها التفاعل مع جهاز عبر اللمس ، على سبيل المثال ، بدلاً من استخدام مفتاح مثبت على اللوحة ، يمكنك تشغيل / إيقاف تشغيل أجهزتك باللمس.
في التخطيطي ، يتم استخدام مقبس أسطواني DC كمدخل حيث نقدم الطاقة اللازمة لتشغيل الدائرة ، ومن هناك لدينا منظم الجهد 7805 الخاص بنا والذي يقوم بتحويل مدخلات التيار المستمر غير المنظم إلى تيار مستمر 5 فولت ثابت من خلاله نقدم الطاقة لوحدة ESP32.
بعد ذلك ، في التخطيطي ، لدينا موصلات اللمس الخاصة بنا على الطرف 25 ، 26 ، 27 ، 28 ، حيث سنقوم بتوصيل لوحة اللمس.
بعد ذلك ، لدينا مرحلاتنا التي يتم تبديلها عبر ترانزستور BD139 ، الصمام الثنائي D2 ، D3 ، D4 ، D5 موجود لحماية الدائرة من أي جهد عابر يتم إنشاؤه عند تبديل الترحيل ، تُعرف الثنائيات في هذا التكوين باسم الصمام الثنائي الخلفي / الصمام الثنائي الطليق. تُستخدم المقاومات 560R الموجودة في قاعدة كل ترانزستور للحد من تدفق التيار عبر القاعدة.
تصميم ثنائي الفينيل متعدد الكلور لدائرة حساس اللمس بالسعة
تم تصميم PCB لدائرة مستشعر اللمس الخاصة بنا للوحة أحادية الجانب. لقد استخدمنا Eagle لتصميم ثنائي الفينيل متعدد الكلور الخاص بي ، ولكن يمكنك استخدام أي برنامج تصميم من اختيارك. الصورة ثنائية الأبعاد لتصميم لوحتنا موضحة أدناه.
تم استخدام قطر التتبع الكافي لإنشاء مسارات الطاقة ، والتي تُستخدم لتدفق التيار عبر لوحة الدائرة. لقد وضعنا الطرف اللولبي في الأعلى لأنه من الأسهل بكثير توصيل حمولتك بهذه الطريقة ، وتم وضع موصل الطاقة ، وهو مقبس أسطواني DC في الجانب ، مما يوفر أيضًا وصولاً سهلاً. يمكن تنزيل ملف التصميم الكامل لـ Eagle مع Gerber من الرابط أدناه.
- ملف GERBER لدائرة التحكم في حساس اللمس ESP32
الآن بعد أن أصبح تصميمنا جاهزًا ، حان الوقت لحفر السبورة ولحامها. بعد الانتهاء من عملية الحفر والحفر واللحام ، تبدو اللوحة مثل الصورة الموضحة أدناه ،
كود اردوينو لمستشعر اللمس بالسعة ESP32
بالنسبة لهذا المشروع ، سنبرمج ESP32 برمز مخصص سنصفه قريبًا. الكود بسيط للغاية وسهل الاستخدام ،
نبدأ بتحديد جميع المسامير المطلوبة ، في حالتنا ، نحدد المسامير لمستشعرات اللمس والمرحلات.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14 #define TOUCH_SENSOR_PIN_3 14 #define
بعد ذلك ، في قسم الإعداد ، نبدأ بتهيئة UART لتصحيح الأخطاء ، وبعد ذلك قدمنا تأخيرًا قدره 1S والذي يمنحنا القليل من الوقت لفتح نافذة Serial Monitor. بعد ذلك ، نستخدم وظيفة Arduinos pinMode لجعل دبابيس Relay كإخراج ، والتي تمثل نهاية قسم الإعداد () .
إعداد باطل () {Serial.begin (115200) ؛ تأخير (1000) ؛ pinMode (Relay_PIN_1 ، الإخراج) ؛ pinMode (Relay_PIN_2 ، الإخراج) ؛ pinMode (Relay_PIN_3، OUTPUT) ، pinMode (Relay_PIN_4 ، الإخراج) ؛ }
نبدأ قسم الحلقة الخاص بنا بعبارة if ، يتم استخدام الوظيفة المضمنة touchRead (pin_no) لتحديد ما إذا تم لمس دبوس أم لا. و touchRead (pin_no) الدالة بإرجاع نطاقات قيمة عددية (0-100)، يبقى قيمة قرب 100 في كل وقت، ولكن إذا كنا على اتصال دبوس المحدد، تنخفض قيمة قريبة من الصفر، وبمساعدة من القيمة المتغيرة، يمكننا تحديد ما إذا كان الدبوس قد تم لمسه بإصبع أم لا.
في تعليمة if ، نتحقق من أي تغيير في قيم الأعداد الصحيحة ، وإذا وصلت القيمة إلى أقل من 28 ، فيمكننا التأكد من أننا قد أدركنا لمسة. بمجرد أن تصبح عبارة if صحيحة ، ننتظر 50 مللي ثانية ونتحقق من المعلمة مرة أخرى ، سيساعدنا ذلك في تحديد ما إذا كانت قيمة المستشعر قد تم تشغيلها بشكل خاطئ ، وبعد ذلك ، نقوم بعكس حالة الدبوس باستخدام digitalWrite (Relay_PIN_1 ،! digitalRead (Relay_PIN_1)) ، ويظل باقي الكود كما هو.
إذا (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("تم لمس المستشعر الأول") ؛ digitalWrite (Relay_PIN_1،! digitalRead (Relay_PIN_1)) ؛ }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Sensor Two is touched") ؛ digitalWrite (Relay_PIN_2،! digitalRead (Relay_PIN_2)) ؛ }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Sensor Three is touched") ؛ digitalWrite (Relay_PIN_3،! digitalRead (Relay_PIN_3)) ؛ }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Sensor Four is touched") ؛ digitalWrite (Relay_PIN_4،! digitalRead (Relay_PIN_4)) ؛ }}
أخيرًا ، ننهي الكود الخاص بنا بـ 200 مللي ثانية أخرى من تأخير الحظر.
اختبار دائرة مستشعر اللمس ESP32
نظرًا لأن هذا مشروع بسيط للغاية ، فإن مجموعة الاختبار بسيطة جدًا ، كما ترون ، لقد قمت بتوصيل 4 مصابيح LED بمقاومات تعمل كأحمال ، نظرًا لأنها متصلة بالمرحل ، يمكنك بسهولة توصيل أي حمل يصل إلى 3 أمبير.
مزيد من التحسينات
على الرغم من أن PCB بسيط ، إلا أنه لا يزال هناك مجال للتحسينات كما ترون من الجانب السفلي من PCB الفعلي ، فقد قمت بتوصيل العديد من المقاومات في محاولة لتوصيل أربعة مؤشرات LED ، ويمكن أيضًا تقليل حجم PCB إذا كان ذلك يصبح مطلبا ،
آمل أن تكون قد استمتعت بالمقال وتعلمت شيئًا مفيدًا. إذا كانت لديك أي أسئلة ، فيمكنك تركها في قسم التعليقات أدناه أو استخدام منتدياتنا لنشر أسئلة فنية أخرى.