جدول المحتويات:

ضوء تفاعلي بدون لمس: 7 خطوات (مع صور)
ضوء تفاعلي بدون لمس: 7 خطوات (مع صور)

فيديو: ضوء تفاعلي بدون لمس: 7 خطوات (مع صور)

فيديو: ضوء تفاعلي بدون لمس: 7 خطوات (مع صور)
فيديو: الليد بروفايل و أسعاره نصائح هامه قبل الشراء | شرح قطاع الليد بروفايل الألمونيوم 2024, يوليو
Anonim
ضوء تفاعلي بدون لمس
ضوء تفاعلي بدون لمس

مرحبا جميعا! أرغب في مشاركة المشروع الذي كنت أعمل عليه هنا. لقد ألهمتني تجربة استشعار اللمس السعوي من خلال مشروع في جامعتي. لقد اكتشفت هذه التقنية من خلال التعليمات واستخدمت الأشياء التي تعلمتها هنا ومن أماكن أخرى على الإنترنت لبناء وحدة التحكم الخاصة بي التي لا تعمل باللمس ، والتي أستخدمها لدمج قيم RGB المختلفة لإنشاء ألوان ضوئية مثيرة للاهتمام.

بالنسبة للمبتدئين ، عندما بدأت هذا المشروع ، لم أكن أعرف شيئًا عن الإلكترونيات ولا استشعار اللمس السعوي.

حدثت بعض المشكلات التي واجهتني في وقت مبكر بسبب سوء فهم ما يحدث بالفعل. إذن مقدمة قصيرة من كيف أفهمها:

يستخدم المستشعر السعوي مكونات متعددة ، أهمها:

مكثف (في هذا المشروع نستخدم رقائق الألومنيوم ، ولكن من الممكن أيضًا استخدام السوائل الموصلة وما إلى ذلك) ،

الأسلاك (بالطبع ، إلكترونياتها)

ومقاوم ، أي شيء أقل من 10 مللي أمبير هو مقاومة صغيرة جدًا لأكثر من اللمس المباشر.

الطريقة التي تعمل بها هي قياس الفرق في الوقت بين النقطة A والنقطة B. من دبوس البداية يرسل إشارة إلى طرف طرفي ، والوقت الذي يستغرقه يقاس بمؤقت. من خلال تقليل قيمة المقاومة (عن طريق تحريك مكثف (في هذه الحالة يدك) بالقرب من مكثف المستشعر (رقائق الألومنيوم) هذه المرة ، يكون الفرق في الوقت هو ما يعيده المستشعر كقيمة.

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

الآن هذا بعيدًا عن الطريق يمكننا البدء في جرد كل الأشياء التي نحتاجها:

الخطوة 1: ماذا نحتاج؟

الإلكترونيات:

1. 2 × 22M أوم + مقاومات (كلما زادت قيمة المقاومة كلما كان رد فعل المستشعر بعيدًا ، استخدمت شخصيًا 22 ميجا أوم ، وكان الحد الأدنى للحصول على بيانات قابلة للاستخدام التي جربتها هو 10 ميجا أوم)

2. 3x 330 أوم مقاومات

3. الأسلاك

4. اللوح

5. لوحة الدوائر (كان المنجم يحتوي على أشرطة نحاسية مستمرة)

6. العديد من مصابيح الكاثود RGB LED (لقد استخدمت 8 ، ولكن يمكنك الحصول على أكثر أو أقل يعتمد على مقدار الضوء الذي تريده)

7. رقائق الألومنيوم

8. التفاف تتشبث

9- أردوينو أونو

10. الشريط

القضية:

1. الخشب لقد استخدمت MDF مقاس 50 × 50 × 1.8 سم (يمكنك استخدام أي شيء حقًا. يعتمد ذلك على التأثير الذي تريده والأدوات التي لديك تحت تصرفك)

2. زجاج شبكي أكريليك لقد استخدمت 50 × 50 × 0.3 سم (أو أي مادة شفافة / شفافة أخرى مثل ورق الأرز)

3-ورق الصنفرة (ورق الصنفرة الناعم)

4-غراء الخشب

5.القشرة (اختياري)

6. الاكريليك الغراء

أدوات:

متجرد الأسلاك

لحام الحديد + القصدير

ستانلي سكين

تدريبات

المنشار (لقد استخدمت منشار طاولة)

الخطوة الثانية: النمذجة:

النماذج الأولية
النماذج الأولية
النماذج الأولية
النماذج الأولية

الآن لدينا كل شيء ويمكننا البدء في صنع نموذج أولي لمعرفة كيفية عمله:

العمل التحضيري:

اقطع 4 مستطيلات من ورق الألمنيوم (يبلغ حجم المنجم حوالي 10 سم في 5 سم) ، ولفها في غلاف بلاستيكي لعزلها عن اللمس المباشر وألصق سلكًا بورق الألمنيوم. لقد قمت للتو بتسجيل نهاية مجردة من الرقاقة (طالما ظلوا على اتصال).

للتأكد من عزل الألمنيوم بأمان ، قمت بلفه في غلاف ملتصق وقمت بكييه بين الأوراق (لبضع ثوانٍ فقط حتى لا يذوب تمامًا).

ثم قم بإعداد الدائرة كما هو موضح في الصورة.

يتم استخدام الدبوس 4 كدبوس إرسال لكلا المستشعرين ، في حين أن دبابيس الاستلام هي الدبوس 2 و 5. يمكنك استخدام دبابيس إرسال متعددة ولكنها تسبب مشكلة لأنها ليست متزامنة تمامًا.

استخدم هذا الإعداد لأغراض التصحيح قبل لحام كل شيء معًا ، للتأكد من أن كل شيء يعمل حقًا على النحو المنشود.

الخطوة الثالثة: الكود:

الآن لدينا كل شيء ويمكننا البدء في تصحيح أخطاء المستشعرات.

لاستخدام الكود الخاص بي ، يجب عليك تنزيل مكتبة الاستشعار بالسعة من Arduino وتثبيتها وفقًا للإرشادات الواردة في الصفحة المرجعية: انقر فوقي

الكود: (أنا لست بارعًا في البرمجة ، لذا إذا كنت تعرف كيفية القيام بذلك بشكل أفضل ، فيرجى القيام بذلك)

# تضمين // استيراد مكتبة الأكواد

CapacitiveSensor cs_4_2 = CapacitiveSensor (4 ، 2) ؛ // أرسل دبوس = 4 ، استقبل 2 و 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4 ، 5) ؛ const int redPin = 11 ؛ const int greenPin = 10 ؛ const int bluePin = 9 ؛ const int numIndexR = 10 ؛ // حجم المصفوفة const int numIndexG = 10 ؛ int colorR = 0 ؛ كثافة العمليات colorG = 0 ؛ تعويم اللون ب = 0 ؛ فهرس int [numIndexR] ؛ int posIndexR = 0 ؛ المجموع الطويل R = 0 ؛ // يجب أن تكون طويلة لأن إجمالي المصفوفة كان كبيرًا بالنسبة لعدد صحيح. متوسط عدد مرات الظهور = 0 ؛ مؤشر int indexG [numIndexG] ؛ int posIndexG = 0 ؛ المجموع الطويل G = 0 ؛ متوسط كثافة العمليات G = 0 ؛ إعداد باطل () {pinMode (redPin ، الإخراج) ؛ pinMode (greenPin ، الإخراج) ؛ pinMode (bluePin ، الإخراج) ؛ لـ (int thisIndexR = 0؛ thisIndexR <numIndexR؛ thisIndexR ++) {// يعين المصفوفة على 0 indexR [thisIndexR] = 0 ؛ } لـ (int thisIndexG = 0؛ thisIndexG = 4500) {// وضع حد أقصى لقيم المستشعر إلى حد أقصى قابل للاستخدام ، وهذا ليس هو نفسه لكل قيمة مقاوم وقد يختلف أيضًا قليلاً من بيئة إلى بيئة قد تحتاج إلى تعديل هذا إلى احتياجاتك الخاصة. المجموع 1 = 4500 ؛ } إذا (total2> = 4500) {total2 = 4500؛ } totalR = totalR - indexR [posIndexR] ، // يؤدي هذا هنا إلى إنشاء مصفوفة تضيف باستمرار إخراج المستشعر وتنتج المتوسط. indexR [posIndexR] = total1 ، totalR = totalR + indexR [posIndexR] ، posIndexR = posIndexR + 1 ؛ إذا (posIndexR> = numIndexR) {posIndexR = 0 ؛ } averageR = totalR / numIndexR ؛ // نحن نستخدم المتوسط بدلاً من البيانات الأولية لتنعيم المخرجات ، فهو يبطئ العملية قليلاً ولكنه أيضًا يخلق تدفقًا سلسًا لطيفًا حقًا. totalG = totalG - indexG [posIndexG] ؛ indexG [posIndexG] = total2 ؛ totalG = totalG + indexG [posIndexG] ؛ posIndexG = posIndexG + 1 ؛ if (posIndexG> = numIndexG) {posIndexG = 0 ؛ } متوسط G = totalG / numIndexG ؛ if (averageR> = 2000) {// لا نريد أن تغير قيمة المصابيح باستمرار ما لم يكن هناك مدخلات من يدك ، لذلك يضمن هذا عدم أخذ جميع القراءات البيئية المنخفضة في الاعتبار. colorR = الخريطة (averageR، 1000، 4500، 255، 0) ؛ analogWrite (redPin ، colorR) ؛ } else if (averageR = 1000) {colorG = map (averageG، 1000، 4500، 255، 0) ؛ analogWrite (greenPin ، colorG) ؛ } else if (averageG <= 1000) {colorG = 255 ؛ analogWrite (greenPin ، colorG) ؛ } إذا كان (colorR <= 125 && colorG <= 125) {// B يعمل بشكل مختلف بعض الشيء لأنني استخدمت مستشعرين فقط لذلك قمت بتعيين B على كلا المستشعرين colorB = map (colorR، 255، 125، 0، 127.5) + الخريطة (colorG، 255، 125، 0، 127.5) ؛ analogWrite (bluePin ، colorB) ؛ } else {colorB = map (colorR، 255، 125، 127.5، 0) + الخريطة (colorG، 255، 125، 127.5، 0) ؛ إذا (colorB> = 255) {colorB = 255 ؛ } إذا (colorB <= 0) {colorB = 0 ؛ } analogWrite (bluePin ، colorB) ؛ } Serial.print (مللي () - بدء) ؛ // هذا لأغراض التصحيح Serial.print ("\ t") ؛ Serial.print (colorR) ؛ Serial.print ("\ t") ؛ Serial.print (colorG) ؛ Serial.print ("\ t") ؛ Serial.println (colorB) ؛ تأخير (1) ؛ }

ما يفعله هذا الرمز هو استخراج البيانات الأولية من المستشعر (ستكون هذه البيانات دائمًا غير منتظمة قليلاً بسبب جميع العوامل المختلفة التي تؤثر على المستشعر) وتضع البيانات الأولية باستمرار في مصفوفة ، عندما تصل المصفوفة إلى القيمة القصوى (في حالتي 10) يقوم بإزالة آخر قيمة وإضافة قيمة جديدة. في كل مرة يتم فيها إضافة قيمة فإنها تحسب متوسط القيمة وتضعها في متغير جديد. يستخدم هذا المتغير المتوسط لتعيين قيمة إلى قيمة من 0 إلى 255 ، وهذه هي القيمة التي نكتبها إلى دبابيس RGB لزيادة سطوع كل قناة (القنوات هي R G و B).

الآن إذا قمت بتحميل الكود الخاص بك إلى arduino وفتحت الشاشة التسلسلية ، فمن المفترض أن ترى قيم RGB أقل عند تحريك يدك فوق كل مستشعر ، كما يجب أن يتغير لون ضوء المصباح.

الخطوة 4: الآن بالنسبة للحالة:

الآن للحالة
الآن للحالة
الآن للحالة
الآن للحالة
الآن للحالة
الآن للحالة

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

الأبعاد كالتالي:

15 × 15 سم للجزء العلوي الشفاف

و

15 × 8 سم للقاعدة الخشبية (سمك الخشب 1.8 سم بالنسبة لي).

لقد استخدمت منشار طاولة لقطع لوحة MDF إلى الأبعاد الصحيحة التي احتاجها (وهي 4 ألواح 15 × 8 سم ولوحة أرضية 15 × 15 سم) ، وبعد ذلك قمت بقص الزوايا بزاوية 45 درجة. جميع الأجزاء التي علقتها معًا باستخدام غراء الخشب والمشابك (اتركها تجف لمدة 30 دقيقة على الأقل) ، لقد استخدمت نفس الإجراء مع زجاج شبكي ولكن بشفرة منشار خاصة.

يجب أن يحتوي أحد الجوانب الخشبية على فتحة في المنتصف عند ارتفاع قابس اردوينو USB للسماح بتوصيل اردوينو.

انتهيت من قاعدة القشرة. لقد قطعته إلى قطع أكبر قليلاً من سطح كل جانب.

لقد قمت بلصقه عليه ، ثم قمت بتثبيته لمدة 30 دقيقة لكل جانب (من الأفضل القيام بذلك بشكل فردي حتى تتأكد من أنه لا ينزلق وبعد أن يجف ، قمت بقطع أي شيء عالق.

الغطاء الذي قمت بلصقه معًا باستخدام غراء خاص بـ Acryl يسمى Acryfix.

اعلم أنه إذا كنت تستخدم زجاج شبكي أكريليك ، فإن الصمغ يذوب الزجاج الزجاجي قليلاً ، لذا كن دقيقًا وسريعًا قدر الإمكان (يجف في غضون دقيقتين ، لكنه يتعرض للهواء في غضون ثوانٍ).

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

للتأكد من أن الغطاء لا ينزلق كثيرًا ، قمت بلصق قضبان خشبية صغيرة على حواف المكعب الخشبي.

الخطوة 5: يجب أن تبدو النتيجة النهائية شيئًا مثل هذا:

يجب أن تبدو النتيجة النهائية شيئًا مثل هذا
يجب أن تبدو النتيجة النهائية شيئًا مثل هذا

الخطوة السادسة: اللحام

لحام!
لحام!
لحام!
لحام!

إذا كان لديك لوحة دوائر كهربائية ، فيمكنك البدء في لحام جميع الأجزاء معًا باستخدام نفس الإعداد الموجود في لوحة توصيل الدوائر.

تحتوي لوحة الدوائر الخاصة بي على شرائط نحاسية مستمرة لسهولة الاستخدام.

لكل مستشعر ، قمت بقطع مربع صغير لحام المقاومات والأسلاك.

يتم لحام أسلاك الإرسال (الأسلاك التي تنتقل من الدبوس 4 إلى كل مستشعر) بالتسلسل إلى مربع منفصل ، بسلك واحد يدخل في الدبوس 4.

احتفظت بمستطيل طويل لصنع شريط LED مرتجل (قم بقياسه بحيث يناسب داخل الغطاء ولكن على حواف القاعدة). يمكنك فقط لحام المصابيح بالتسلسل بعد بعضها البعض (ضع في اعتبارك في الصورة التي قمت بلحام المصابيح والمقاومات عن طريق الخطأ على الجانب الخطأ من لوحة الدائرة ، يجب أن تكون الشرائط النحاسية دائمًا في الجانب السفلي).

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

حان الوقت لملاءمة كل شيء في القاعدة: هذه أسهل خطوة إلى حد كبير ، حيث يحتاج اردوينو إلى أن يكون أولًا مع منفذ USB من خلال الفتحة الموجودة في الجزء الخلفي من العلبة. أضف الآن المستشعرات ، وتأكد من أن رقاقة المستشعر مناسبة للخشب على كلا الجانبين ، مع وضع الرقاقة الأرضية مباشرة مقابلها. عندما يتناسب كل شيء جيدًا ، قم بتوصيل مصابيح RGB في المسامير اليمنى (9 ، 10 ، 11) واتركها تتكئ على حواف القاعدة.

الخطوة 7: انتهينا

إذا كنت قد اتبعت كل هذا ، فيجب أن يكون لديك الآن ضوء يعمل مع مزج ألوان سعوية تعمل باللمس. استمتع!

موصى به: