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

مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية: 10 خطوات (بالصور)
مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية: 10 خطوات (بالصور)

فيديو: مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية: 10 خطوات (بالصور)

فيديو: مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية: 10 خطوات (بالصور)
فيديو: حل كتاب الرياضيات اول متوسط ف1 الطالب كل التمارين 2024, شهر نوفمبر
Anonim
مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية
مقياس سعة خزان مياه الأمطار بالموجات فوق الصوتية

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

أردت طريقة ما لأتمكن من التحقق من مستوى الماء في الخزان ، دون كل التسلق والتعليق على أنبوب الصرف بيد واحدة (مع القلق بشأن العناكب التي قد تكون خلفها - هل سمعت عن العناكب الأسترالية - أليس كذلك؟) … لذلك ، مع تجدد الاهتمام بالإلكترونيات في وقت متأخر من حياتي ، واستنساخ Arduino الرخيصة من الصين على موقع ebay ، قررت أن أقوم ببناء "عنصر واجهة مستخدم" للقيام بالمهمة نيابة عني.

الآن ، تم تثبيت أداة "حلمي" بشكل دائم في الخزان ، واستخدام مصدر طاقة مشحون بالطاقة الشمسية ، مع قراءة عن بُعد في المرآب الخاص بي ، أو ربما جهاز إرسال لاسلكي باستخدام Bluetooth يمكنني التحقق منه من هاتفي ، أو ربما حتى يستضيف جهاز من نوع ESP صفحة ويب يتم تحديثها تلقائيًا ، حتى أتمكن من التحقق من مستوى المياه في خزانتي من أي مكان في العالم عبر الإنترنت … ولكن حقًا - لماذا أحتاج إلى كل ذلك؟ لذلك ، قمت بطلب المثل العليا الخاصة بي قليلاً (حسنًا ، بشكل كبير جدًا) ، وتخلصت من الاتصال اللاسلكي للحل ، والتثبيت الدائم ، والشحن الشمسي ، والقدرة على التحقق من مستوى خزانتي من النهاية الخلفية لما بعده (دائمًا بافتراض أن النهاية الخلفية لما بعد توفر WiFi ، أي …)

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

الخطوة 1: الرياضيات …

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

ملحوظة - في الواقع ، القيمة التي يتم إرجاعها من المستشعر هي في الحقيقة الوقت الذي تستغرقه الإشارة لمغادرة جانب الباعث والعودة إلى جهاز الاستقبال. هذا بالميكروثانية - ولكن معرفة سرعة الصوت هي 29 ميكروثانية لكل سم (ماذا؟ لم تكن تعرف ذلك؟ Pfft …) يجعل التحويل سهلاً من فترة زمنية إلى قياس المسافة.

صورة
صورة

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

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

الخطوة 2: الجوانب العملية

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

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

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

لقد قمت أيضًا بتضمين القليل من التعليمات البرمجية للتحقق من ارتفاع أو انخفاض أحد دبابيس الإدخال / الإخراج الرقمية من Arduino ، واستخدم ذلك لوضع الوحدة في ما أسميته وضع "المعايرة". في هذا الوضع ، تُظهر الشاشة ببساطة المسافة الفعلية (مقسومة على 2) التي يتم إرجاعها بواسطة المستشعر ، حتى أتمكن من التحقق من دقتها مقابل شريط قياس.

الخطوة الثالثة: المكونات

تتكون الوحدة من ثلاثة مكونات رئيسية …

صورة
صورة
  1. وحدة إرسال / مستقبل بالموجات فوق الصوتية HC-SR04
  2. متحكم Arduino Pro Mini
  3. شاشة LED مكونة من 4 أرقام مكونة من 7 أجزاء أو شاشة عرض "وحدة" مثل TM1637

يمكن العثور على كل ما سبق بسهولة على موقع ئي باي ، ببساطة عن طريق البحث عن المصطلحات الموضحة بالخط العريض.

في هذا التطبيق ، تستخدم الشاشة ببساطة 3 أرقام لعرض قيمة٪ من 0-100 أو 4 أرقام لإظهار عدد اللترات (بحد أقصى 2000 في حالتي) ، لذا فإن أي عرض مكون من 4 أرقام سيفي بالغرض - لست مضطرًا إلى ذلك تقلق بشأن ما إذا كانت الوحدة النمطية بها نقاط عشرية أو نقطتان. تعد وحدة العرض (LED المثبتة على لوحة الفصل ، مع شريحة واجهة) أسهل ، لأنها تستخدم عددًا أقل من التوصيلات ، ولكن يمكن استيعاب شاشة LED الخام مع 12 دبوسًا بواسطة Arduino مع بعض التعديلات الصغيرة على الكود (في الواقع ، كان تصميمي الأصلي يعتمد على هذا الإعداد). ومع ذلك ، لاحظ أن استخدام شاشة LED الخام يتطلب أيضًا 7 مقاومات للحد من التيار المرسوم بواسطة كل جزء. تصادف وجود وحدة عرض ساعة TM1637 متاحة ، لذلك قررت استخدام ذلك.

تشتمل البتات والبوب الإضافي على مشبك بطارية 9 فولت (وبطارية ، بشكل واضح) ، ومفتاح زر ضغط لحظي "الضغط للتصنيع" ، وصندوق مشروع ، ودبابيس رأس ، وأسلاك توصيل ، وطول خشب 2 × 4 يتجاوز قطر فتحة الخزان.

تم شراء القطع الإضافية والبوب (بصرف النظر عن قطعة الخشب) من سلسلة منافذ إلكترونيات الهوايات المحلية - وهي Jaycar في أستراليا. أتخيل أن Maplin في المملكة المتحدة ستكون بديلاً قابلاً للتطبيق ، وأعتقد أن هناك القليل منها في الولايات المتحدة ، مثل Digikey و Mouser. بالنسبة إلى البلدان الأخرى ، أخشى أنني لا أعرف ، لكنني متأكد من أنه إذا كنت تفتقر إلى منفذ مناسب أو مورد عبر الإنترنت في بلدك ، فإن بائعي ebay الصينيين سيأتون من أجلك ، إذا لم تفعل ذلك التفكير في الانتظار بضعة أسابيع للتسليم (ومن المفارقات ، على الرغم من كونك أحد أقرب جيراننا ، أن 6 أسابيع أو أكثر ليس من غير المعتاد التسليم إلى أستراليا من الصين!).

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

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

بمجرد فهمك للوظيفة والوظائف ، قد تقرر تكييف نسختك ، وتضمين مفتاح تشغيل / إيقاف ، أو استخدام مصدر طاقة 18650 Li-Ion ، مع لوحة شمسية ووحدة تحكم في الشحن لإبقائها متصاعدة باستمرار وجاهزة للانطلاق ، أو قم بتغيير شاشة LED البسيطة لشاشة LCD متعددة الخطوط أو OLED رسومية مع مزيد من خيارات عرض المعلومات ، مثل إظهار النسبة المئوية واللترات المتبقية في نفس الوقت. أو يمكنك الذهاب إلى وحدة إنترنت الأشياء اللاسلكية لجميع الغناء والرقص والمثبتة بشكل دائم في الخزان مع الشحن الشمسي. أود أن أسمع عن التغييرات والتعديلات التي أجريتها.

الخطوة 4: اختبار النموذج الأولي (والرمز)

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

في هذه المرحلة ، كنت أبحث عن معلومات أساسية حول كيفية الاتصال واستخدام HC-SR04 ، ويجب أن أقر بمثال "Simple Arduino و HC-SR04" القابل للتوجيه من jsvester. كان مثاله وخبرته نقطة انطلاق رائعة بالنسبة لي للبدء في الترميز.

لقد وجدت مكتبة وظائف NewPing لـ HC-SR04 ، والتي تتضمن وظائف مدمجة لأخذ متوسط القراءات المتعددة ، مما يجعل الكود الخاص بي أبسط كثيرًا.

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

صورة
صورة
صورة
صورة

ن

لذا ، تُظهر الصور أعلاه جهاز الاختبار الخاص بي - أقوم باختباره على Arduino Uno الخاص بي من أجل البساطة ، حيث تم إعداده بالفعل للاتصالات المؤقتة القابلة لإعادة الاستخدام للنماذج الأولية. تعمل الوحدة في وضع "المعايرة" هنا (لاحظ أن الدبوس الرقمي 10 - السلك الأبيض - متصل بالأرض) وقراءة 39 سم بدقة إلى الصندوق الذي وضعته عشوائيًا أمامه ، كما هو موضح في شريط القياس. في هذا الوضع ، أعرض حرف "c" الصغير قبل القياس ، فقط للإشارة إلى أنه ليس القياس العادي.

بالإضافة إلى Vcc (5v) والأرضي ، يحتاج HC-SR04 إلى وصلتين أخريين - المشغل (أصفر إلى دبوس 6) و echo (أخضر إلى دبوس 7). تحتاج الشاشة أيضًا إلى Vcc (5v) و Ground ، واتصالين إضافيين - الساعة (أزرق إلى رقم 8) و DIO (أرجواني إلى دبوس 9). كما ذكرنا سابقًا ، يتم التحكم في وضع التشغيل عن طريق طرف 10 مرتفع أو منخفض (أبيض). ستستخدم التوصيلات نفس المسامير الموجودة على Arduino Pro Mini ، ولكن سيتم لحامها بشكل دائم. سيكون وضع التشغيل قابلاً للتحديد باستخدام وصلة مرور عبر اثنين من ثلاثة دبابيس رأس متصلة بـ Vcc ، والدبوس 10 ، والأرضي على التوالي.

المواصفات الرسمية لـ HC-SR04 تدعي شيئًا مثل خطأ أقصى يبلغ 3 ملليمترات فقط إلى أقصى مسافة تشغيل مصممة وهي 4 أمتار ، لذا تخيل دهشتي عندما وجدت أن وحدتي كانت دقيقة بالتأكيد إلى تلك الدرجة حتى 2 متر - وهو ما يفوق بكثير ما أحتاجه. نظرًا للمساحة المحدودة لإعداد الاختبار السريع والقذر ، كانت نتائج الاختبار الخاصة بي خارج تلك المسافة تالفة بسبب الانعكاسات من الأسطح بخلاف هدف الاختبار الخاص بي ، حيث انتشر الشعاع من جهاز الإرسال وانتشر في منطقة أوسع. ولكن طالما أنه من الجيد أن تصل إلى 1.5 متر - فهذا سيفي بالغرض ، شكرًا جزيلاً لك:-)

الخطوة 5: مقياس مياه الأمطار إينو سكيتش

الكود الكامل مرفق ، لكنني سأقوم بتضمين بعض المقتطفات أدناه لشرح بعض الخطوات.

بادئ ذي بدء ، الإعداد …

#يشمل

# تتضمن # تتضمن // دبابيس لـ HC-SR04 # تعريف pinTrig 6 # تعريف pinEcho 7 NewPing Sonar (pinTrig ، pinEcho ، 155) ؛ // 400 سم بحد أقصى لـ HC-SR04 ، 155 سم بحد أقصى لدبابيس توصيل وحدة LED للدبابات (دبابيس رقمية) # تعريف CLK 8 # تعريف DIO 9 TM1637 عرض العرض (CLK ، DIO) ؛ // دبابيس أخرى #define opMode 10

بالإضافة إلى مكتبات TM1637 و NewPing ، قمت أيضًا بتضمين مكتبة الرياضيات ، والتي تتيح لي الوصول إلى وظيفة "التقريب". أستخدم هذا في بعض الرياضيات للسماح لي بعرض النسبة المئوية لأقرب 5٪ على سبيل المثال.

بعد ذلك ، يتم تحديد دبابيس الجهازين ، وبدأت الأجهزة.

أخيرًا ، أحدد الدبوس 10 لوضع التشغيل.

// اضبط جميع الشرائح لجميع الأرقام

uint8_t بايت = {0x00، 0x00، 0x00، 0x00} ؛ display.setSegments (بايت) ؛

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

صورة
صورة

تتحكم البتة الأكثر أهمية في البايت في DP ، ثم تتحكم البتات السبعة المتبقية في الأجزاء السبعة من G إلى A بترتيب عكسي. لذلك لعرض الرقم 1 على سبيل المثال ، يتطلب المقطعين B و C ، وبالتالي فإن التمثيل الثنائي سيكون "0b00000110". (بفضل موقع CircuitsToday.com للصورة أعلاه).

// خذ 10 قراءات ، واستخدم المدة المتوسطة.

مدة int = sonar.ping_median (10) ؛ // المدة بالميكروثانية إذا (المدة == 0) // خطأ القياس - غير حاسم أو لا يوجد صدى {uint8_t bytes = {0x00، 0b01111001، 0b01010000، 0b01010000} ؛ // مقاطع لتهجئة "Err" display.setSegments (بايت) ؛ }

هنا ، أخبر HC-SR04 بأخذ 10 قراءات ، وإعطائي النتيجة المتوسطة. إذا لم يتم إرجاع أي قيمة ، تكون الوحدة خارج النطاق. ثم أستخدم نفس الأسلوب كما هو مذكور أعلاه للتحكم في مقاطع معينة على الأرقام الأربعة ، لتهجئة الأحرف (فارغة) و E و r و r. يجعل استخدام الترميز الثنائي من الأسهل قليلاً ربط البتات الفردية بالمقاطع.

الخطوة 6: تحميل الكود إلى Arduino Pro Mini (بدون USB)

كما قلت سابقًا ، غالبًا ما تستغرق العناصر من بائعي ebay الصينيين 6 أسابيع أو أكثر لتصل ، وقد تم إنجاز الكثير من النماذج الأولية وكتابة الكود أثناء انتظار وصول بعض المكونات - كان Arduino Pro Mini أحدها.

هناك شيء واحد لم ألاحظه بشأن Pro Mini ، حتى طلبت ذلك بالفعل ، وهو أنه لا يحتوي على منفذ USB لتنزيل الرسم التخطيطي. لذلك ، بعد بعض البحث المحموم على Google ، وجدت أن هناك طريقتين لتحميل رسم تخطيطي في هذه الحالة - تتطلب إحداهما كبلًا خاصًا ينتقل من USB على جهاز الكمبيوتر الخاص بك ، إلى 6 دبابيس محددة على Pro Mini. تُعرف هذه المجموعة المكونة من 6 دبابيس باسم دبابيس ISP (مبرمج داخل النظام) ، ويمكنك بالفعل استخدام هذه الطريقة على أي Arduino إذا كنت ترغب في ذلك - ولكن نظرًا لأن واجهة USB متوفرة على جميع متغيرات Arduino الأخرى تقريبًا (I think) ، استخدام هذا الخيار أبسط بكثير. تتطلب الطريقة الأخرى أن يكون لديك Arduino آخر به واجهة USB ، ليكون بمثابة "وسيط".

لحسن الحظ ، فإن امتلاك Arduino Uno يعني أنه يمكنني استخدام الطريقة الثانية ، والتي سأوضحها لك أدناه. يطلق عليه استخدام "Arduino كـ ISP". باختصار ، تقوم بتحميل رسم خاص على "وسيط" Arduino الخاص بك ، والذي يحوله إلى واجهة تسلسلية. ثم قم بتحميل المخطط الفعلي الخاص بك ، ولكن بدلاً من خيار التحميل العادي ، يمكنك استخدام خيار من قائمة IDE يقوم بتحميل "باستخدام Arduino كمزود خدمة الإنترنت". ثم يأخذ "الانتقال بين" Arduino الرسم الفعلي الخاص بك من IDE ، ويمرره إلى دبابيس ISP في Pro Mini ، بدلاً من تحميله على ذاكرته الخاصة. ليس الأمر صعبًا بمجرد أن تعرف كيف تعمل ، لكنها طبقة إضافية من التعقيد قد ترغب في تجنبها. إذا كان الأمر كذلك ، أو لم يكن لديك Arduino آخر يمكنك استخدامه كوسيط ، فقد ترغب في شراء Arduino Nano ، أو أحد نماذج عامل الشكل الصغير الأخرى ، والتي تتضمن واجهة USB ويجعل البرمجة احتمالًا أبسط.

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

  • دليل Arduino المرجعي - استخدام Arduino كمزود خدمة إنترنت
  • فيديو جوليان إليت على YouTube - استخدام Arduino كمزود خدمة إنترنت

نظرًا لأن Pro Mini لا يحتوي على 6 دبابيس ISP مجمعة بشكل ملائم معًا ، فأنت بحاجة إلى فك تشفير أي من المسامير الرقمية تتعلق بأربعة دبابيس برمجة (الوصلتان الأخريان هما فقط Vcc و Gnd - لذا فهي واضحة جدًا). لحسن الحظ بالنسبة لك ، لقد مررت بهذا بالفعل - وأنا على استعداد لمشاركة المعرفة معك - يا له من شخص كريم أنا !!

Arduino Uno ، والعديد من الآخرين في عائلة Arduino ، لديهم 6 دبابيس مرتبة بسهولة في كتلة 3x2 ، مثل هذا (صورة من www.arduino.cc).

صورة
صورة

لسوء الحظ ، فإن Pro Mini لا يفعل ذلك. كما ترون أدناه ، من السهل جدًا التعرف عليها ولا تزال مرتبة في كتلتين من 3 دبابيس. MOSI و MISO و SCK هي نفس المسامير الرقمية 11 و 12 و 13 على التوالي في كل من Pro Mini و Arduino Uno ، وبالنسبة لبرمجة ISP ، ما عليك سوى توصيل 11 إلى 11 و 12 إلى 12 و 13 إلى 13. The Pro يجب توصيل دبوس Mini's Reset بـ Uno pin 10 ، ويجب توصيل Pro Mini's Vcc (5v) / Ground بـ Arduino + 5v / Ground. (الصورة من www.arduino.cc)

صورة
صورة

الخطوة 7: التجميع

المجسم
المجسم

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

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

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

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

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

صورة
صورة

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

صورة
صورة

الخطوة 8: المقالة النهائية

بعد بعض اختبارات ما بعد التجميع ، وتصحيح الكود الخاص بي لحساب عمق قطعة الخشب التي قمت بربط الجهاز بها (والتي أغفلتها تمامًا في حساباتي - d'oh!) ، لقد تم كل شيء. أخيرا!

الاختبار المجمع

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

صورة
صورة

يبدو أنه من سطح المنضدة إلى الأرض 76 سم (حسنًا ، 72 سم بالإضافة إلى عمق 4 سم من قطعة الخشب).

صورة
صورة

الجزء السفلي من الوحدة ، يُظهر جهاز الإرسال والاستقبال يتدلى من قطعة الخشب - يجب أن أتوقف حقًا عن تسميته قطعة من الخشب - سيشار إليه من الآن فصاعدًا باسم Gauge Stabilization and Precision Placement Platform! لحسن الحظ ، ربما تكون هذه هي المرة الأخيرة التي أذكرها ؛-)

أوه - يمكنك رؤية كل تلك الخدوش وعلامات التزحلق السيئة في هذا …

صورة
صورة

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

صورة
صورة

آمل أن تكون قد استمتعت بقراءة هذه التعليمات ، وأنك تعلمت القليل عن برمجة Arduino والفيزياء واستخدام انعكاس السونار / الموجات فوق الصوتية ، ومخاطر استخدام التخمين في تخطيط مشروعك ، وأنك قد ألهمت لجعلك مقياس خزان مياه الأمطار الخاص بك - ثم تثبيت خزان مياه الأمطار لاستخدامه ، مع مساعدة البيئة قليلاً وتوفير فاتورة المياه.

من فضلك تابع القراءة - لما حدث في اليوم التالي…!

الخطوة 9: التذييل - مائة (وخمسة) بالمائة؟

لذلك ، في يوم الاثنين بعد يوم الأحد الممطر ، كان الخزان ممتلئًا تمامًا كما يمكن أن يكون. نظرًا لأنها واحدة من المرات القليلة جدًا التي رأيتها فيها ممتلئة تمامًا ، اعتقدت أنه سيكون الوقت المثالي لقياس المقياس ، لكن خمن ماذا - تم تسجيله على أنه 105 ٪ ، لذلك من الواضح أنه كان هناك خطأ ما.

حصلت على مقياس العمق الخاص بي ووجدت أن افتراضاتي الأصلية التي تبلغ 140 سم كأقصى عمق للمياه ، و 16 سم من الإرتفاع (بناءً على التخمينات المرئية المصنوعة من خارج الخزان) ، كانت بعيدة قليلاً عن القياسات الفعلية. مسلحًا بالبيانات الحقيقية لمعياري بنسبة 100 ٪ ، تمكنت من تعديل الكود الخاص بي وإعادة تحميل Arduino.

تبين أن أقصى عمق للمياه هو 147 سم ، مع نقطة قياس تبلغ 160 سم ، مما يعطي 13 سم من الإرتفاع (مجموع الإرتفاع داخل الخزان ، وارتفاع عنق الخزان ، وعمق قطعة … قف لا ، ماذا؟! أعني عمق منصة قياس الاستقرار وموضع الدقة!).

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

تم إنجاز المهمة!

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

الخطوة 10: الأفكار اللاحقة

القدرة الصالحة للاستخدام

لقد مرت بضعة أسابيع حتى الآن منذ أن نشرت هذا Instructable ، وقد تلقيت العديد من التعليقات رداً على ذلك ، وكان بعضها يقترح بعض الآليات البديلة - الإلكترونية واليدوية. لكن هذا جعلني أفكر ، وهناك شيء ربما كان يجب أن أشير إليه في البداية.

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

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

موصى به: