جدول المحتويات:
- اللوازم
- الخطوة 1: قم بتنزيل Arduino IDE وانسخ الكود المطلوب
- الخطوة 2: قم بتنزيل المكتبات المطلوبة من Arduino IDE
- الخطوة 3: (اختياري) رؤوس اللحام على الأجزاء
- الخطوة 4: اتبع Picture and Wire Arduino إلى المكونات
- الخطوة 5: تجميع مشروع "كوستر"
- الخطوة 6: إرفاق الكوستر والمستشعر بكوب من اختيارك
- الخطوة السابعة: تجميل المشروع وحماية الأسلاك
- الخطوة 8: اشرب بمسؤولية
- الخطوة 9: (اختياري) استكشاف الأخطاء وإصلاحها
- الخطوة العاشرة: التفكير
فيديو: آمن للحفلات هذا الصيف مع كوب LED التفاعلي للكحول في الدم من اردوينو: 10 خطوات
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مستوى الصعوبة في المشروع: متوسط
المهارات المطلوبة:
- قراءة رسم بياني وتكراره
- اللحام إذا اخترت عدم شراء الأجزاء الملحومة مسبقًا
مقدمة المشروع
في الولايات المتحدة وفي جميع أنحاء العالم ، شكل الكحول تهديدات صحية خطيرة عند تناوله بطريقة غير مسؤولة. قد تنجم الوفيات بسبب القيادة تحت تأثير الكحول وتلف الكبد ، وكذلك الآثار طويلة المدى مثل تلف الدماغ والكلى المحتمل ، عن الاستهلاك غير المسؤول للكحول. في الولايات المتحدة وحدها ، ضاع 250 مليار دولار بسبب إساءة استخدام الكحول (NIAAA ، 2010) ، بالإضافة إلى أكثر من 88000 شخص ، مما يجعل الكحول ثالث سبب رئيسي للوفاة يمكن الوقاية منه في البلاد. السؤال بالنسبة لهذا المشروع هو كصناع ، كيف يمكننا معالجة هذه المشكلة والتأكد من أن الاحتفالات الممتعة مع الكحول مثل الحفلات يمكن أن تبقى آمنة وممتعة؟
كانت إجابتي على هذا السؤال هي إيجاد طريقة لتقدير ثم تصور BAC للمستخدم للسماح له بفهم الحالة التي كانوا فيها بشكل أفضل. بالنسبة لهذا المشروع ، استخدمت متحكم Arduino مع مستشعر مستوى الماء وحلقة LED وشاشة LCD لتتبع عدد المشروبات التي استهلكها الشخص ، ثم لإيجاد طريقة لتقدير محتوى الكحول في الدم (BAC) المستخدم على أساس الجنس والوزن. يحدد BAC المقدّر ، اعتمادًا على النطاق الذي كان فيه ، الرسوم المتحركة لحلقة LED أدناه. تقع النطاقات في ما بين أربعة مجالات متميزة: آمنة ، معطلة ، في حالة سكر ، وقاتلة. آمل أنه من خلال إنشاء هذا المشروع ، لن تكون قد أنشأت مشروع Arduino قابل للاستخدام فحسب ، بل اكتسبت أيضًا فهمًا أفضل لكيفية استقلاب الكحول وربما حتى بعض البرمجة الأساسية إذا اخترت إلقاء نظرة على الكود المعلق.
كيف يعرف الكأس عدد المشروبات التي تناولتها؟
إذا تجاوزت القيمة التناظرية لمستشعر مستوى الماء 300 ، فسيتم تسجيل القيمة المنطقية التي تمثل الكوب على أنها عالية (ممتلئة). إذا كانت القيمة التناظرية للمستشعر أقل من 300 ، فسيتم تسجيل القيمة المنطقية التي تمثل الكوب على أنها منخفضة (فارغة). لتسجيل مشروب يُضاف إلى الكوب ، يجب أن تتغير هذه القيمة المنطقية من فارغ إلى كامل.
كيف حددت BAC؟
من أجل جعل هذا المشروع دقيقًا قدر الإمكان ، استخدمت بيانات من جامعة Saint Benedict & Saint John's حول مقدار زيادة BAC للفرد لكل مشروب يتم استهلاكه. لا يأخذ هذا البرنامج في الاعتبار الوزن فحسب ، بل أيضًا جنس المستخدم في حساب BAC للمستخدم. هذا لأن BAC يعتمد على مدى سرعة الجسم في استقلاب الكحول ، والتي تختلف بين الرجال والنساء والأشخاص من مختلف الأوزان. يمكن رؤية الرسوم البيانية هنا.
لماذا تختلف نطاقات BAC باختلاف الأشخاص؟
تعتمد نطاقات BAC مباشرة على البيانات التي تم الحصول عليها من جامعة SBSJ ، والتي تأخذ بعين الاعتبار كمية الكحول التي يجب أن يمتلكها المستخدم في نظامه حتى يكون في واحد من أربعة نطاقات:
- الآمن: النطاق الآمن الوحيد لتشغيل السيارة (يمثله الرسوم المتحركة بألوان قوس قزح)
- ضعيف: قد يتم إصدار تهم جنائية إذا كنت تقود مركبة في هذا النطاق (يتم تمثيله بواسطة الرسوم المتحركة البرتقالية)
- في حالة سكر: سيتم إصدار تهم جنائية إذا كنت تقود مركبة في هذا النطاق (تمثله أضواء حمراء)
- قاتل: إذا لم تكن قد أغمي عليك بالفعل ، فأنت في خطر طبي فوري في هذا النطاق (يتمثل في وميض الأضواء الحمراء والبيضاء)
لكن يمكنني تناول الكحول جيدًا ، فهل هذا الكوب غير دقيق؟
إن مدى قدرتك على التصرف جيدًا بعد تناول الكحول لن يكون مهمًا إذا تجاوزت الحد القانوني أثناء القيادة. تأخذ البيانات المستخدمة في هذا المشروع بعين الاعتبار النطاقات القانونية والطبية لـ BAC للمستخدم ، مع مراعاة وزن المستخدم وجنسه.
اللوازم
تشمل الإمدادات الإلكترونية العامة لهذا المشروع:
- اثنان من الأزرار الانضغاطية
- أسلاك توصيل
- مقياس جهد 10 كيلو
- 2 مقاومات 10 كيلو
- 1120 المقاوم
الأجزاء / الوحدات الخاصة:
- Arduino (لقد استخدمت Uno لهذا المشروع ، ولكن توجد العديد من البدائل الأرخص)
- مستشعر مستوى الماء (ملاحظة: غالبًا ما تكون هذه المستشعرات غير دقيقة وتتآكل بسرعة ، وهو ما كان مصدر إحباط كبير لتطوير هذا المشروع. ومع ذلك ، تمكنت من إيجاد حل بحيث لم تترجم الصعوبات التي واجهتها مع هذا المشروع إلى صعوبات تواجهك مع هذا المشروع.)
- حلقة LED (12 ليد)
- شاشة LCD
أدوات:
- لحام الحديد (مطلوب فقط في حالة شراء حلقة LED بدون رؤوس)
- طابعة ثلاثية الأبعاد (اختياري)
الخطوة 1: قم بتنزيل Arduino IDE وانسخ الكود المطلوب
لا يلزم برمجة الكمبيوتر لهذا المشروع ، كل ما عليك فعله هو نسخ الكود من هنا ولصقه في Arduino IDE. لتنزيل Arduino IDE:
تنزيل وتكوين Arduino IDE:
- قم بزيارة موقع Arduino الإلكتروني واختر التنزيل لنظامك
- بمجرد اكتمال التنزيل ، احصل على رقم منفذ COM الخاص بـ Arduino. قم بتوصيل Arduino وانتقل إلى مدير الجهاز الخاص بك. تحت المنافذ ، ابحث عن Arduino الخاص بك ولاحظ رقم المنفذ. يجب أن يبدو كالتالي: COMx (حيث x هو الرقم 1-9)
- باستخدام رقم منفذ COM ، قم بتكوين IDE للوحة والمنفذ عن طريق فتح Arduino IDE وتحديد "Tools" في الشريط العلوي. حدد "لوحة" واختر النموذج الخاص بك. بعد ذلك ، اختر "Port" وحدد المنفذ الذي رأيته لـ Arduino في إدارة الأجهزة.
الحصول على كود المشروع
- انسخ الكود من هذه الخطوة والصقه في القسم الأبيض من Arduino IDE. تأكد أولاً من حذف كل شيء في المخطط ، مثل إجراءات الحلقة () والباطل () ، حيث يتم تنفيذها في الكود الذي تنسخ وتلصقه.
الخطوة 2: قم بتنزيل المكتبات المطلوبة من Arduino IDE
المكتبات المستخدمة في هذا المشروع تشمل "Wire" و "LiquidCrystal" و "Adafruit Neopixel". يحتاج الرسم التخطيطي إلى هذه المكتبات للتواصل مع المكونات المستخدمة في هذا المشروع. لتنزيل هذه المكتبات:
- حدد "رسم" في الشريط العلوي
- حدد "تضمين مكتبة" من القائمة المنسدلة
- حدد "إدارة المكتبات"
- ابحث عن المكتبات الثلاث (الأسلاك ، الكريستال السائل ، Adafruit Neopixel) المستخدمة في هذا المشروع وقم بتنزيل كل منها.
يرجى ملاحظة أن الفشل في تنزيل هذه المكتبات سيؤدي إلى حدوث خطأ أثناء تجميع الرسم التخطيطي. بعد هذه الخطوة ، قم بتوصيل الكابل من Arduino بجهاز الكمبيوتر المحمول الخاص بك واضغط على زر السهم في الزاوية العلوية اليسرى من IDE. سيؤدي هذا إلى تجميع وتحميل الرسم التخطيطي إلى Arduino. الآن بعد أن انتهينا من جميع الخطوات المتعلقة بالبرمجة ، دعنا ننتقل إلى الأسلاك!
الخطوة 3: (اختياري) رؤوس اللحام على الأجزاء
إذا اخترت شراء أجزاء لهذا المشروع لم يكن بها بالفعل دبابيس رأس ملحومة بها ، فستحتاج إلى القيام بذلك بنفسك. لا تقلق كثيرًا بشأن هذا الجزء ، فإن عملية اللحام لهذا المشروع واضحة جدًا.
- خلق بيئة جيدة التهوية للحام ، ويفضل باستخدام مروحة تحتوي على مرشح. إذا لم يكن لديك مثل هذه المروحة ، يمكنك فعل ما أفعله وفتح النوافذ وتشغيل المروحة أو الذهاب إلى المرآب وهو مفتوح.
- قم بتسخين مكواة اللحام وتأكد من أن لديك أيضًا إسفنجة مبللة لمسح اللحام الزائد.
- قم بإعداد الرؤوس والجزء الذي تريد إرفاق الرؤوس باستخدام يد المساعدة أو أداة أخرى تسمح لك بترتيب الأجزاء مع السماح لك بإمساك مكواة اللحام.
- المس اللحام بمكواة اللحام أثناء التوصيل بين دبوس الرأس والجزء الذي تقوم بلحام المسامير به. انزع المكواة عندما يتشكل ما يكفي من اللحام لضمان الاتصال الكهربائي بين دبابيس الرأس والجزء. امسح أي فائض من اللحام على الإسفنجة وكرر هذه العملية لجميع المسامير.
- بعد أن يتم لحام جميع المسامير ، ضع مكواة اللحام في الحامل ، وأدر المقبض إلى الوضع "إيقاف التشغيل" ، وافصل المكواة عن الكهرباء. انتظر حتى تبرد المكواة تمامًا لوضعها بعيدًا.
الخطوة 4: اتبع Picture and Wire Arduino إلى المكونات
في هذه الخطوة ، ستحتاج إلى استخدام أسلاك توصيل لتوصيل الأجزاء الضرورية للمشروع بـ Arduino. لقد قدمت ملف Fritzing للقيام بذلك ، والذي يمكن رؤيته في هذه الخطوة. يرجى الاطلاع أدناه للحصول على قائمة بالأسئلة الشائعة التي أطرحها على نفسي إذا واجهت مشكلة في الأسلاك:
- هل تم توصيل قضبان الطاقة والقضبان الأرضية الخاصة بي ببعضها البعض ودبابيس 5v و GND في Arduino؟
- هل العبث بمقياس الجهد الخاص بي إذا كانت شاشة LCD لا تظهر؟ (حاول قلب مقياس الجهد لتغيير المقاومة إذا لم تظهر الأحرف البيضاء بشكل صحيح)
- هل GND و VCC متصلان بكل جزء بشكل صحيح بالدبوس الصحيح؟ هل الإعداد 5 فولت قيد الاستخدام؟ (ستستخدم جميع أجهزة الاستشعار والمكونات في هذا المشروع 5 فولت وليس 3.3 فولت.
- هل تم وضع سلك عرضيًا بعيدًا عن المكان الذي كان من المفترض أن يكون فيه؟
ملاحظة: عند العمل مع الإلكترونيات ، تأكد دائمًا من عدم تشغيل الدائرة أثناء تغييرها. خلاف ذلك ، قد تتلف الأجزاء وعند العمل بجهد أكبر ، قد يؤدي ذلك إلى ضرر جسدي
الخطوة 5: تجميع مشروع "كوستر"
قد تلاحظ أن رؤوس حلقة LED تبرز ولا تسمح لك بوضع الكوب بشكل مسطح على السطح. لمعالجة هذه المشكلة ، سنقوم بإرفاق حلقة LED بجزء مطبوع ثلاثي الأبعاد يسمح بوضع الحلقة بشكل مسطح على طاولة. يمكن العثور على ملف ثلاثي الأبعاد في هذه الخطوة. إذا لم يكن لديك طابعة ثلاثية الأبعاد ، فلا داعي للقلق ، فهذه الطباعة تكلف 1.40 في مكتبتي المحلية. إذا كانت مكتبتك المحلية لا تحتوي على طابعة ثلاثية الأبعاد ، فإن الخيارات الأخرى تشمل Staples والبائعين عبر الإنترنت. وتجدر الإشارة أيضًا إلى أن الجزء المحدد الذي أرفقته ليس الجزء الوحيد المتوافق ، إنه مجرد طريقة لعمل نموذج لي. لذلك إذا كنت جيدًا في الأعمال الخشبية أو غيرها من الحرف اليدوية ، فستكون هذه أكثر من مقبولة!
إذا اخترت طباعة الجزء الخاص بهذا المشروع:
- قم بتنزيل ملف STL للاستيراد إلى أداة تقطيع مثل Cura
- قم بقياس قطر قاع كوب من اختيارك
- اضبط مقياس النموذج (بالمليمترات إذا كنت تستخدم كيورا) على القياس الخاص بك
الخطوة 6: إرفاق الكوستر والمستشعر بكوب من اختيارك
بعد ذلك ، خذ كوسترك واستخدم مادة لاصقة لتثبيتها في قاع الكوب الذي قمت بقياسه. الآن ، ستتمكن أسلاك العبور من الوصول إلى مستشعر مستوى الماء وحلقة LED ، وأيضًا وضعها بشكل مسطح على الطاولة. الآن عليك توصيل المستشعر. إنه حريص جدًا على مراعاة موضع المستشعر ، حيث إن هذه المستشعرات ، أثناء تسويقها على أنها تمثيلية ، تقوم في الواقع بإخراج إشارتين فقط - الماء أو عدم وجود ماء. لقد تسبب هذا في الكثير من المشاكل بالنسبة لي ، لكنني تمكنت من إيجاد طريقة لحلها حتى لا يعاني الآخرون من نفس الإحباطات مع هذا المشروع. المفتاح هو وضع المستشعر بالقرب من الجزء العلوي حيث سيكون السائل عندما يكون الكوب ممتلئًا. سيضمن هذا أن المستشعر قادر على تسجيل حالة "فارغة" وبالتالي يمكنه حساب المشروبات المسكوبة التالية.
الخطوة السابعة: تجميل المشروع وحماية الأسلاك
في هذه المرحلة ، ربما تكون قد تركت مع مجموعة من الأسلاك والأجزاء التي تبدو مثل الصورة المرفقة. ما تفعله لجعل المشروع يبدو أفضل متروك لك تمامًا ، طالما أنك تضع هذه المعايير في الاعتبار:
- يجب أن تكون قادرًا على توصيل الشاحن بالطاقة في Arduino
- يجب عليك قطع الثقوب أو تصميم المساحات ليتمكن المستخدم من الوصول إلى شاشة LCD والأزرار ومستشعر مستوى الماء وحلقة LED.
- يجب حماية المكونات الإلكترونية من البلل حيث أن هذا احتمال لأن المشروع يركز على المشروبات.
بعض الخيارات لإرفاق المشروع هي:
- علبة أحذية أو كرتون
- حاوية مشروع إلكترونيات مقاومة للماء مثل تلك الموجودة هنا
- تصميم مطبوع ثلاثي الأبعاد (هذا هو الخيار الذي كنت أرغب في متابعته ، ومع ذلك ، فقد كانت طباعة تصميم مثل هذا في مكتبتي مكلفة للغاية)
الخطوة 8: اشرب بمسؤولية
بعد تثبيت الكوب الخاص بك على السفينة وجهاز استشعار المياه ، أنت على ما يرام! ستعرف أن كل شيء يعمل بشكل صحيح عندما تطالبك شاشة LCD بجنسك ووزنك. زر واحد يتوافق مع الوزن ، بينما الآخر يتوافق مع الجنس. يمكنك النقر فوق كل واحد لمعرفة أي واحد هو قبل تسميته. بعد تحديد وزنك الصحيح (القيم بخطوات 20) والجنس ، انقر فوق كلا الزرين في وقت واحد. سيبدأ هذا بقية البرنامج ، وسترى حلقة LED تومض بنمط قوس قزح. الكوب جاهز الآن لصب مشروب. عندما تستهلك وتصب المزيد من المشروبات ، سيستخدم البرنامج جدول BAC الذي تمت مناقشته في المقدمة لتحديد BAC. يرجى ملاحظة أن هذا البرنامج يفترض شرابًا قياسيًا واحدًا لكل كوب ، يرجى الاطلاع على الصورة (جامعة جنوب ألاباما) ، أو قم بزيارة هنا لترى كيف يترجم مشروبك المفضل. لاحظ أيضًا أن الهدف من هذا المشروع ليس التشجيع على أي نشاط غير قانوني ، ولكن الترويج للشرب الآمن لمن هم في سن كافية لاستهلاك الكحول. أيضًا ، بينما أنا سعيد جدًا بمدى دقة تقدير BAC الذي يفترض فيه مشروبًا قياسيًا ، فإن هذا المشروع هو أداة لمساعدتك على الشرب بأمان ، لكنه لا يتحمل أي مسؤولية إذا اخترت القيادة بعد استهلاك أي كحول.
الخطوة 9: (اختياري) استكشاف الأخطاء وإصلاحها
- خطأ "مشكلة في التحميل على اللوحة": عند محاولة ترجمة الرسم وتحميله إلى Arduino ، سينتج هذا الخطأ إذا لم يتم تكوين منفذ COM بشكل صحيح (راجع الخطوة الأولى حول كيفية العثور على منفذ COM الصحيح وتعيينه) أو اللوحة غير موصولة.
- شاشة LCD لا تعرض أحرفًا بيضاء: إذا كان الضوء الأزرق لشاشة LCD قيد التشغيل ولكنك لا ترى أي أحرف بيضاء بعد تحميل الرسم ، فمن المحتمل أن يكون ذلك بسبب مشاكل التباين. لإصلاح ذلك ، ما عليك سوى تدوير مقياس الجهد إلى اليمين (استدر إلى اليسار إذا رأيت كتلًا بيضاء بها شخصياتك).
- المشروع لا يحسب المشروبات بشكل صحيح: هذا الخطأ هو مشكلة استشعار مستوى الماء. تتآكل وحدات مستشعر مستوى الماء بسرعة ومن المعروف أنها غير دقيقة للغاية. ومع ذلك ، هذا لا ينبغي أن يثير قلقك بالنسبة لهذا المشروع ، لأنني تعاملت مع المستشعر على أنه مستشعر رقمي وليس مستشعرًا تمثيليًا. راجع الخطوة السادسة حول كيفية توصيل مستشعر مستوى الماء بشكل صحيح.
- الوحدة ساخنة للغاية ولا ترسل القيم الصحيحة: هذا ناتج عن كسر اتصال GND أو VCC ، ربما أثناء العمل مع أسلاك أخرى. تأكد من اكتمال اتصالات GND و VCC بالمستشعر واتبعها إلى دبابيس GND و 5 فولت من المكون ، إلى اللوح ، إلى Arduino للبحث عن الأخطاء.
- تجاوزت وزني عن طريق الخطأ: لا تقلق ، فإن ضبط الوزن يعود إلى 100 بعد 240 ، لذلك يمكنك الاستمرار في الدوران عبر الخيارات للعودة إلى وزنك.
إذا استمرت المشكلات ، فقم بتوصيل الكبل من Arduino بالكمبيوتر المحمول ، وافتح IDE ، وقم بتشغيل المخطط. أثناء تشغيل الرسم التخطيطي ، سيتم عرض عدة قيم في الشاشة التسلسلية ، مما يتيح لك معرفة ما لا يعمل كما هو مفترض. للوصول إلى الشاشة التسلسلية ، قم بتشغيل البرنامج و "الأدوات" ثم "Serial Monitor" من القائمة المنسدلة.
الخطوة العاشرة: التفكير
من ناحية البرمجة ، أنا سعيد جدًا بالطريقة التي انتهى بها هذا المشروع. لقد استغرق الأمر بعض الوقت بالنسبة لي للكتابة لأنني ما زلت مبتدئًا ، لكنني تمكنت من تعلم العديد من المكتبات الجديدة وتحقيق هدف توقع BAC ، وأشعر أنني لم أتخذ طرقًا مختصرة لتقدير BAC لأنني استخدمت كلا الجنسين و الوزن (يشكل هذا غالبية الرسم التخطيطي). ومع ذلك ، أحتاج إلى الموافقة على التصميم. على الرغم من أنني لا أمتلك طابعة ثلاثية الأبعاد أو أعرف الأعمال الخشبية ، إلا أنني أردت حقًا تقديم مشروعي بطريقة أفضل. أعتزم الحصول على Ender 3 قريبًا ، وأول شيء سأفعله هو العودة مباشرة إلى نفس التعليمات لتحسين التصميم. بصفتي أول تعليمات لي على الإطلاق ، أشعر أن العملية سارت على ما يرام وأنا سعيد جدًا بمدى معالجة هذا المشروع للمطالبة التي أنشأتها لتحدي الحزب ، لكنني أصمم شيئًا أود العودة إليه لاحقًا عندما تكون لدي الموارد.