فهرست مطالب:

اندازه گیری ظرفیت مخزن آب باران اولتراسونیک: 10 مرحله (همراه با تصاویر)
اندازه گیری ظرفیت مخزن آب باران اولتراسونیک: 10 مرحله (همراه با تصاویر)

تصویری: اندازه گیری ظرفیت مخزن آب باران اولتراسونیک: 10 مرحله (همراه با تصاویر)

تصویری: اندازه گیری ظرفیت مخزن آب باران اولتراسونیک: 10 مرحله (همراه با تصاویر)
تصویری: اسرار حیات در سیاره زمین 2024, نوامبر
Anonim
ظرفیت سنج مخزن آب باران التراسونیک
ظرفیت سنج مخزن آب باران التراسونیک

اگر شما هم مانند من هستید و اندکی وجدان محیطی دارید (یا فقط دنباله دار مشتاق هستید که چند دلار پس انداز کنید - که من هم هستم …) ، ممکن است یک مخزن آب باران داشته باشید. من یک مخزن دارم تا باران نسبتاً کمی که در استرالیا می باریم را برداشت کنم - اما پسر بچه ، وقتی اینجا باران می بارد ، واقعاً باران می بارد! مخزن من حدود 1.5 متر ارتفاع دارد و در یک پایه است ، به این معنی که من باید برای بررسی سطح آب از مراحل خارج شوم (یا - چون من خیلی تنبل هستم ، به طور نامعلوم روی یک بطری گاز قدیمی از BBQ که اکنون گرفته شده است ، تعادل ایجاد می کنم. اقامت دائم به عنوان "مرحله" در کنار مخزن).

من به طریقی می خواستم بتوانم سطح آب موجود در مخزن را بررسی کنم ، بدون این که تمام آن را بالا ببرم و با یک دست به لوله تخلیه آویزان کنم (در حالی که نگران این بودم که عنکبوت ها در پشت آن چه هستند - در مورد عنکبوت های استرالیایی شنیده اید - درست است؟) … بنابراین ، با توجه به علاقه مندی اواخر عمر به لوازم الکترونیکی ، و کلون های ارزان قیمت آردوینو از چین در ebay ، تصمیم گرفتم در ساختن "ویجت" کار کنم تا این کار را برای من انجام دهد.

در حال حاضر ، ویجت "رویایی" من این بود که به طور دائمی در مخزن نصب شود ، از منبع تغذیه خورشیدی استفاده کند ، با بازخوانی از راه دور در گاراژ من ، یا شاید یک فرستنده بی سیم با استفاده از بلوتوث که می توانم از تلفن خود بررسی کنم ، یا شاید حتی دستگاه نوع ESP میزبان یک صفحه وب به طور خودکار به روز می شود ، به طوری که من می توانم سطح آب مخزن خود را از هر نقطه از جهان از طریق اینترنت بررسی کنم … اما واقعا - چرا من به همه اینها نیاز دارم؟ بنابراین من ایده آل های بزرگ خود را کمی (به طور قابل ملاحظه ای) انتخاب کردم و بی سیم بودن محلول ، نصب دائمی ، شارژ خورشیدی و توانایی بررسی سطح مخزن خود را از پشت به بالا (همیشه با فرض اینکه قسمت پشتی فراتر از WiFi دارای دسترسی باشد ، یعنی…)

پروژه حاصله به واحد دستی که در بالا مشاهده شد تنزل پیدا کرد ، که می تواند به سادگی روی دهانه مخزن نگه داشته شود و با یک دکمه فشاری فعال شود ، با بازخوانی دیجیتالی ، که از سطح زمین قابل خواندن است - بسیار کاربردی تر.

مرحله 1: ریاضی…

پس از بازی با ایده های متعدد در مورد نحوه تعیین سطح آب - تصمیم گرفتم یک فرستنده/گیرنده اولتراسونیک را به عنوان پایه ابزارک خود انتخاب کنم و از آردوینو برای خواندن و انجام تمام محاسبات استفاده کنم. قرائت های برگشتی از سنسور (به طور غیر مستقیم) به صورت فاصله است - از سنسور اولتراسونیک تا سطحی که از آن خارج شده است (سطح آب - یا ته مخزن ، در صورت خالی) و دوباره برگشت ، بنابراین ما نیاز داریم چند کار با این کار انجام دهید تا به درصد باقی مانده در مخزن برسید.

NB - در واقع ، مقدار برگشتی از سنسور در واقع زمان صرف شده برای خروج سیگنال از سمت خروجی و بازگشت به گیرنده است. این بر حسب میکرو ثانیه است - اما دانستن سرعت صدا 29 میکرو ثانیه بر سانتی متر است (چه؟ این را نمی دانستید؟ Pfft …) تبدیل آسان از یک دوره زمانی به اندازه گیری فاصله را انجام می دهد.

تصویر
تصویر

اول - البته ، ما باید فاصله را بر 2 تقسیم کنیم تا سنسور به فاصله سطح برسد. سپس ، فاصله ثابت از سنسور را تا حداکثر عمق آب کم کنید. مقدار باقی مانده عمق آب مورد استفاده است. سپس ، این مقدار را از حداکثر عمق آب کم کنید ، تا عمق آب باقی مانده در مخزن را بیابید.

بنابراین ، این مقدار مبنای هرگونه محاسبات دیگر است ، مانند محاسبه این عمق آب به عنوان درصدی از حداکثر عمق ، یا افزایش عمق بر حسب "سطح" ثابت ، برای بدست آوردن حجم آب قابل نمایش بر حسب لیتر (یا گالن ، یا هر واحد دیگر - تا زمانی که ریاضیات را برای انجام آن بدانید - برای سادگی به درصد پایبندم).

مرحله 2: موارد کاربردی

این واحد را می توان با دست نگه داشت ، اما این امر در صورتی که واحد در یک مکان و در زاویه یکسان در هر زمان نگه نداشته نشود ، امکان کمی نادرستی وجود دارد. در حالی که این فقط یک خطای بسیار جزئی است و احتمالاً حتی یک خطای ثبت نام نیز نخواهد بود ، اما این چیزی است که مرا عصبانی کرده است.

با این حال ، دستی بودن این امکان را بیشتر می کند که لعنتی به داخل مخزن بیفتد و دیگر هرگز دیده نشود. بنابراین برای کاهش هر دو این امکانات ، آن را روی یک طول چوب ثابت می کنند ، که سپس روی دهانه مخزن قرار می گیرد - به طوری که هر بار اندازه گیری از ارتفاع و زاویه دقیق یکسان گرفته می شود (و اگر در مخزن ، حداقل چوب شناور می شود).

یک دکمه واحد را فعال می کند (در نتیجه نیازی به سوئیچ روشن/خاموش و احتمال خالی شدن تصادفی باتری ندارد) و طرح را در آردوینو روشن می کند. این مورد تعدادی خوانش از HC-SR04 را می گیرد و میانگین آنها را نیز می گیرد (برای کاهش هرگونه قرائت نامنظم).

همچنین کمی کد برای بررسی بالا یا پایین بودن یکی از پین های ورودی/خروجی دیجیتال آردوینو قرار دادم و از آن برای قرار دادن دستگاه در حالت "Calibration" استفاده کردم. در این حالت ، صفحه نمایش به سادگی فاصله واقعی (تقسیم بر 2) را که سنسور باز می گرداند نشان می دهد ، بنابراین می توانم صحت آن را در برابر اندازه گیری نوار بررسی کنم.

مرحله 3: مواد تشکیل دهنده

این واحد شامل سه جزء اصلی…

تصویر
تصویر
  1. یک ماژول فرستنده/گیرنده اولتراسونیک HC-SR04
  2. یک میکروکنترلر آردوینو پرو مینی
  3. صفحه نمایش 4 رقمی 7 بخش LED یا ماژول نمایش مانند TM1637

همه موارد فوق را می توان به راحتی در ebay یافت ، به سادگی با جستجوی شرایط نشان داده شده در چاپ پررنگ.

در این برنامه ، صفحه نمایش به سادگی از 3 رقم برای نشان دادن درصد٪ 0-100 یا 4 رقم برای نشان دادن تعداد لیترها استفاده می کند (در مورد من حداکثر 2000) ، بنابراین هر صفحه 4 رقمی این کار را انجام می دهد - لازم نیست نگران این باشید که آیا ماژول دارای اعشار یا دو نقطه است. نمایش ماژول (LED نصب شده بر روی صفحه شکست ، با تراشه رابط) آسان تر است ، زیرا از اتصالات پین کمتری استفاده می کند ، اما یک صفحه نمایش LED خام با 12 پین می تواند توسط Arduino با برخی تغییرات کوچک در کد ((در واقع طراحی اصلی من بر اساس این تنظیم بود). با این حال ، توجه داشته باشید که استفاده از صفحه نمایش LED خام نیز به 7 مقاومت برای محدود کردن جریان کشیده شده توسط هر بخش نیاز دارد. من یک ماژول نمایش ساعت TM1637 در دسترس داشتم ، بنابراین تصمیم گرفتم از آن استفاده کنم.

قطعات و باب های اضافی شامل یک گیره باتری 9 ولت (و باتری ، بدیهی است) ، یک کلید فشاری لحظه ای "push-to-make" ، یک جعبه پروژه ، پین های سرصفحه ، سیم های اتصال ، و طول چوب 2 "x4" که بیش از قطر دهانه مخزن

قطعات و تکه های اضافی (جدا از تکه چوب) از زنجیره خروجی لوازم الکترونیکی سرگرمی محلی من - که Jaycar در استرالیا است ، خریداری شد. من تصور می کنم Maplin در بریتانیا جایگزین مناسبی باشد ، و فکر می کنم تعداد کمی در ایالات متحده وجود دارد ، مانند Digikey و Mouser. در مورد سایر کشورها ، من می دانم که نمی دانم ، اما مطمئن هستم که اگر در کشور خود فاقد خروجی مناسب یا منبع آنلاین هستید ، فروشندگان ebay چینی به شما مراجعه می کنند ، در غیر این صورت چند هفته منتظر زایمان باشید (از قضا ، با وجود اینکه یکی از نزدیکترین همسایگان ما بود ، 6 هفته یا بیشتر برای تحویل از چین به استرالیا غیر معمول نیست!).

مطمئن شوید که یک جعبه پروژه به اندازه کافی بزرگ دارید - قبل از اینکه اجزای موجود را در دست داشته باشم حدس زده بودم ، و این یک فشار واقعاً محکم است - ممکن است لازم باشد یک دکمه متفاوت برای خودم تهیه کنم که از فضای کمتری استفاده می کند.

اوه ، و به هر حال ، طول چوب به تازگی از برخی ضایعات قراضه ای که در گوشه گاراژم نگهداری می کنم (به عنوان خانه بیشتر عنکبوت های دوست داشتنی) به دست آمده است.

پس از درک عملکرد و شماتیک ، ممکن است تصمیم بگیرید که نسخه خود را تنظیم کرده و یک سوئیچ روشن/خاموش وارد کنید ، یا از منبع تغذیه Li-Ion 18650 با پنل خورشیدی و کنترل کننده شارژ استفاده کنید تا دائماً پر و آماده به کار شود ، یا نمایشگر LED ساده را برای LCD چند خطی یا OLED گرافیکی با گزینه های نمایش اطلاعات بیشتر ، مانند نمایش درصد و لیتر باقی مانده در همان زمان تغییر دهید. یا می توانید به طور دائم به سراغ واحد بی سیم IoT بی سر و صدا بروید که با مخزن شارژ خورشیدی در مخزن نصب شده است. من دوست دارم در مورد تغییرات و تغییرات شما بشنوم.

مرحله 4: آزمایش نمونه اولیه (و کد)

با خرید HC-SR04 از یک منبع چینی ارزان در ebay ، من واقعاً انتظار دریافت یک واحد بسیار دقیق را نداشتم ، بنابراین می خواستم ابتدا آن را روی تخته نان تست کنم ، در صورت نیاز به اضافه کردن کد تصحیح فاصله به طرح من

در این مرحله ، من در حال بررسی اطلاعات اولیه در مورد نحوه اتصال و استفاده از HC-SR04 بودم ، و باید دستورالعمل های jsvester "Simple Arduino and HC-SR04 example" را تأیید کنم. مثال و تجربه او نقطه شروع خوبی برای من برای شروع برنامه نویسی بود.

من کتابخانه توابع NewPing را برای HC-SR04 پیدا کردم ، که شامل قابلیت های داخلی است تا میانگین چندین خوانش را انجام دهد ، در نتیجه کد من بسیار ساده تر می شود.

من یک کتابخانه برای ماژول نمایش ساعت TM1637 نیز پیدا کردم که نمایش اعداد را بسیار ساده تر کرد. در کد اصلی من (برای صفحه نمایش 4 رقمی 7 بخش) ، مجبور بودم که عدد را به رقم های جداگانه تقسیم کنم ، سپس با دانستن اینکه کدام بخشها را روشن کنم ، هر رقم جداگانه را بر روی صفحه نمایش ایجاد کنم ، و سپس دوچرخه سواری را در هر رقم در شماره انجام دهم. ، و ساخت آن عدد بر روی رقم نمایش مناسب. این روش چندپلکس نامیده می شود و به طور م justثر فقط یک رقم را در یک زمان نمایش می دهد ، اما آنقدر سریع از یک رقم به رقم بعدی می چرخد که چشم انسان متوجه آن نمی شود و شما را فریب می دهد که باور کنید همه رقم ها روشن هستند همزمان. همانطور که کتابخانه HC-SR04 عملیات اندازه گیری را آسان تر می کند ، این کتابخانه صفحه نمایش از همه کارکرد چندگانه و مدیریت ارقام مراقبت می کند. صفحات مرجع آردوینو که در بالا پیوند خورده اند ، نمونه هایی را ارائه می دهند ، و البته ، هر کتابخانه دارای کد نمونه ای است که می تواند کمک بزرگی باشد.

تصویر
تصویر
تصویر
تصویر

n

بنابراین ، تصاویر بالا دکل آزمایش من را نشان می دهد - من برای سادگی آن را روی Arduino Uno امتحان می کنم ، زیرا قبلاً برای اتصالات موقت قابل استفاده مجدد برای نمونه سازی تنظیم شده است. این دستگاه در اینجا در حالت "کالیبراسیون" کار می کند (توجه داشته باشید که پین دیجیتال 10 - سیم سفید - به زمین متصل است) و دقیقاً 39 سانتی متر را روی جعبه ای که به طور تصادفی در جلوی آن قرار داده بودم می خواند ، همانطور که در اندازه نوار نشان داده شده است. در این حالت ، "c" کوچک را قبل از اندازه گیری نشان می دهم ، فقط برای نشان دادن اندازه گیری عادی نیست.

علاوه بر Vcc (5v) و Ground ، HC -SR04 به 2 اتصال دیگر نیاز دارد - ماشه (زرد تا پین 6) و اکو (سبز تا پین 7). صفحه نمایش همچنین به Vcc (5v) و Ground و 2 اتصال دیگر نیاز دارد - ساعت (آبی تا پین 8) و DIO (بنفش تا پین 9). همانطور که قبلاً نیز گفته شد ، حالت عملکرد توسط پین 10 (سفید) به صورت بالا یا پایین کنترل می شود. اتصالات از پین های مشابه در Arduino Pro Mini استفاده می کنند ، اما به طور دائم لحیم می شوند. حالت عملکرد با استفاده از یک بلوز در دو تا سه پین هدر ، که به ترتیب به Vcc ، پین 10 و زمین متصل شده اند ، قابل انتخاب است.

مشخصات رسمی HC -SR04 ادعا می کند چیزی در حدود حداکثر 3 میلی متر تا حداکثر فاصله عملیاتی طراحی شده 4 متر است ، بنابراین تعجب من را در نظر بگیرید که واحد من مطمئناً تا 2 متر دقیق است - که بسیار بیشتر از نیاز من است به دلیل محدود بودن فضای لازم برای تنظیم سریع و کثیف آزمایش ، نتایج آزمایش من فراتر از این فاصله در اثر بازتاب سطوح غیر از هدف آزمایش من خراب می شود ، زیرا پرتو فرستنده گسترش یافته و در منطقه وسیع تری قرار می گیرد. اما تا زمانی که 1.5 متر خوب باشد - این کار را برای من خوب انجام می دهد ، بسیار متشکرم:-)

مرحله 5: طرح اینو اندازه گیری آب باران

کد کامل ضمیمه شده است ، اما در زیر چند عصاره را برای توضیح برخی از مراحل ذکر خواهم کرد.

اول از همه ، تنظیم…

#عبارتند از

#include #include // پین های HC-SR04 #تعریف pinTrig 6 #تعریف pinEcho 7 NewPing سونار (pinTrig ، pinEcho ، 155) ؛ // 400cms حداکثر برای HC-SR04 ، 155cms حداکثر برای مخزن // پین های اتصال ماژول LED (پین های دیجیتال) #تعریف CLK 8 #تعریف DIO 9 TM1637 نمایش صفحه نمایش (CLK ، DIO) ؛ // سایر پین ها #تعریف opMode 10

علاوه بر کتابخانه های TM1637 و NewPing ، من یک کتابخانه ریاضی را نیز شامل می شوم که به من امکان دسترسی به تابع "گرد کردن" را می دهد. من از این در برخی از ریاضیات استفاده می کنم تا بتوانم درصد را به عنوان مثال به نزدیکترین 5٪ نمایش دهم.

سپس پین های دو دستگاه تعریف شده و دستگاه ها راه اندازی می شوند.

در نهایت ، من پین 10 را برای حالت عملیات تعریف می کنم.

// همه بخش ها را برای همه رقم ها خاموش کنید

uint8_t بایت = {0x00 ، 0x00 ، 0x00 ، 0x00} ؛ display.setSegment (بایت) ؛

این بخش از کد یک راه برای کنترل ماژول نمایش را نشان می دهد ، که به شما امکان می دهد هر بخش را در هر رقم کنترل کنید. من 4 عنصر را در آرایه به نام بایت تنظیم کرده ام که همه صفر هستند. این بدان معناست که هر بیت از هر بایت صفر است. از 8 بیت برای کنترل هر یک از 7 بخش و نقطه اعشار (یا کولون در صفحه نمایش نوع ساعت) استفاده می شود. بنابراین اگر همه بیت ها صفر باشند ، هیچ کدام از قسمت ها روشن نمی شوند. عملیات setSegments محتویات آرایه را به صفحه نمایش می فرستد و (در این مورد) چیزی را نشان نمی دهد. همه بخش ها خاموش هستند

تصویر
تصویر

مهمترین بیت در یک بایت DP را کنترل می کند و سپس 7 بیت باقی مانده 7 قسمت از G تا A را به ترتیب معکوس کنترل می کند. بنابراین برای نمایش عدد 1 ، به بخش B و C نیاز است ، بنابراین نمایش دوتایی '0b00000110' خواهد بود. (با تشکر از CircuitsToday.com برای تصویر بالا).

// 10 بار مطالعه کنید و از طول مدت متوسط استفاده کنید.

int duration = sonar.ping_median (10)؛ // مدت زمان میکرو ثانیه است اگر (مدت زمان == 0) // خطای اندازه گیری - بی نتیجه یا بدون اکو {uint8_t بایت = {0x00 ، 0b01111001 ، 0b01010000 ، 0b01010000} ؛ // بخش هایی برای املای "Err" display.setSegments (بایت) ؛ }

در اینجا ، من به HC-SR04 می گویم که 10 قرائت انجام دهد و میانگین نتیجه را به من بدهد. اگر هیچ مقدار بازگردانده نشود ، واحد خارج از محدوده است. سپس از همان تکنیک بالا برای کنترل بخشهای مشخص روی 4 رقم ، برای نوشتن حروف (خالی) ، E ، r و r استفاده می کنم. استفاده از نماد دوتایی ارتباط بیت های جداگانه را به بخش ها کمی ساده تر می کند.

مرحله 6: بارگذاری کد در Arduino Pro Mini (بدون USB)

همانطور که قبلاً گفتم ، رسیدن اقلام فروشندگان ebay چینی اغلب 6 هفته یا بیشتر طول می کشد ، و بسیاری از نمونه های اولیه و نوشتن کد من در حالی که منتظر رسیدن برخی از اجزای آن بودم - Arduino Pro Mini یکی از آنها بود.

نکته ای که در مورد Pro Mini متوجه آن نشدم ، تا زمانی که آن را قبلاً سفارش داده بودم ، این است که درگاه USB برای بارگیری طرح ندارد. بنابراین ، پس از کمی جستجوی گوگل ، متوجه شدم که دو روش برای بارگذاری طرح در این مورد وجود دارد - یکی نیاز به کابل خاصی دارد که از USB روی رایانه شما به 6 پین خاص در Pro Mini منتقل می شود. این گروه از 6 پین به عنوان پین های ISP (برنامه نویس درون سیستم) شناخته می شوند و در صورت تمایل می توانید از این روش در هر Arduino استفاده کنید - اما به عنوان رابط USB تقریباً در همه انواع دیگر Arduino موجود است (I فکر کنید) ، استفاده از آن گزینه بسیار ساده تر است. روش دیگر مستلزم این است که شما یک آردوینو دیگر با رابط USB روی آن داشته باشید تا به عنوان "واسطه" عمل کنید.

خوشبختانه داشتن Arduino Uno به این معنی است که می توانم از روش دوم استفاده کنم ، که در زیر برای شما شرح می دهم. با استفاده از "Arduino به عنوان ISP" نامیده می شود. به طور خلاصه ، شما یک طرح ویژه را روی آردوینو "بین راه" بارگذاری می کنید ، که آن را به یک رابط سریال تبدیل می کند. سپس طرح واقعی خود را بارگذاری کنید ، اما به جای گزینه بارگذاری معمولی ، از گزینه ای از منوی IDE استفاده می کنید که "با استفاده از Arduino به عنوان ISP" بارگذاری می شود. سپس آردوینو "میانبر" طرح واقعی شما را از IDE می گیرد و به جای بارگذاری در حافظه خود ، آن را به پین های ISP Pro Mini منتقل می کند. هنگامی که کار خود را با نحوه عملکرد آن آشنا می کنید دشوار نیست ، اما این یک لایه پیچیدگی اضافی است که ممکن است بخواهید از آن اجتناب کنید. اگر چنین است ، یا آردوینو دیگری ندارید که می توانید از آن به عنوان "واسطه" استفاده کنید ، ممکن است بخواهید یک آردوینو نانو یا یکی از مدل های کوچک دیگر را که شامل رابط USB است خریداری کنید. و برنامه نویسی را به چشم انداز ساده تری تبدیل می کند.

در اینجا چند منبع وجود دارد که ممکن است برای درک روند مفید باشد. مرجع آردوینو به طور خاص به سوزاندن یک بوت لودر جدید در دستگاه موردنظر اشاره دارد ، اما شما به همان راحتی می توانید یک طرح را به همان روش بارگذاری کنید. دریافتم که ویدیوی جولیان ایلت مفهوم را بسیار واضح تر می کند ، اگرچه او بخشی از مرجع آردوینو را توضیح می دهد که نحوه اتصال دو آردوینو به یکدیگر را توضیح می دهد و به جای آن یک تراشه برهنه را روی یک تخته نان برنامه ریزی می کند.

  • راهنمای مرجع آردوینو - استفاده از آردوینو به عنوان ISP
  • فیلم جولیان ایلت در یوتیوب - استفاده از آردوینو به عنوان ISP

از آنجا که Pro Mini 6 پین ISP را ندارد که به راحتی با هم گروه بندی شده اند ، باید رمزگشایی کنید که کدام پین دیجیتال مربوط به 4 پین برنامه نویسی است (دو اتصال دیگر فقط Vcc و Gnd هستند - بنابراین بسیار ساده هستند). خوشبختانه برای شما ، من قبلاً این مشکل را پشت سر گذاشته ام - و مایلم دانش خود را با شما در میان بگذارم - من چه شخص سخاوتمندی هستم !!

Arduino Uno ، و بسیاری دیگر از خانواده آردوینو ، 6 پین را به صورت دستی در یک بلوک 3x2 مرتب کرده اند (تصویر از www.arduino.cc).

تصویر
تصویر

متأسفانه Pro Mini اینطور نیست. همانطور که در زیر مشاهده می کنید ، شناسایی آنها بسیار آسان است و هنوز در 2 بلوک از 3 پین مرتب شده اند. MOSI ، MISO و SCK به ترتیب در پین های دیجیتال 11 ، 12 و 13 در Pro Mini و Arduino Uno یکسان هستند و برای برنامه نویسی ISP ، به سادگی 11 را به 11 ، 12 به 12 و 13 را به 13 وصل کنید. پین Reset Mini باید به پین Uno 10 و Pro Mini Vcc (5v)/Ground به Arduino +5v/Ground متصل شود. (تصویر از www.arduino.cc)

تصویر
تصویر

مرحله 7: مونتاژ

مونتاژ
مونتاژ

همانطور که اشاره کردم ، من در مورد پرونده ضربه زدم و پشیمان شدم. برای قرار دادن همه اجزا در یک فشار واقعی بود. در واقع من مجبور بودم مخاطبین دکمه را به صورت جانبی خم کنم و مقداری بسته در قسمت خارجی قرار دهم تا کمی بیشتر بلند شود تا در عمق جعبه جا بگیرد ، و من مجبور بودم 2-3 میلی متر از هر طرف آن را خرد کنم. صفحه نمایش ماژول صفحه نمایش نیز مناسب است.

من 2 سوراخ در کیس حفر کردم تا سنسورهای اولتراسونیک از طریق آن نفوذ کنند. من سوراخ ها را خیلی کوچک و سپس به تدریج با استفاده از یک چرخ دوار کوچک افزایش دادم تا بتوانم آنها را به یک "فشار مناسب" تبدیل کنم. متأسفانه ، آنها بسیار نزدیک به طرفین بودند تا بتوانند از آسیاب داخل جعبه استفاده کنند ، و این کار باید از بیرون انجام می شد و در نتیجه خراش ها و علائم اسکیت در جایی که آسیاب لغزش می کرد ، ایجاد می شد - خوب ، این همه در پایین است به هر حال - چه کسی اهمیت می دهد..؟

سپس شکافی را در یک سر برش می دهم که اندازه مناسب برای نمایش صفحه است.باز هم - حدس من در مورد اندازه جعبه در عقب من را گاز گرفت ، زیرا شیار یک قطعه بسیار باریک بالای صفحه را برایم به ارمغان آورد ، که در حین ضبط صاف آن به ناچار شکسته شد. خوب ، این همان چیزی است که فوق چسب برای آن اختراع شد…

سرانجام ، با قرار گرفتن همه اجزا در جعبه ، اندازه گیری کردم که سوراخ درپوش را کجا قرار دهم ، تا بدنه دکمه فشاری به فضای موجود نهایی بیفتد. فقط !!!

در مرحله بعد ، همه اجزا را با هم لحیم کردم تا آزمایش کنم که همه آنها بعد از خم شدن و آسیاب کردن و برش کار می کنند ، قبل از اینکه همه آنها را در قاب قرار دهم. می توانید اتصال بلوز را درست در زیر ماژول نمایشگر مشاهده کنید ، با پین 10 در Arduino (سرب سفید) متصل به Gnd ، بنابراین واحد را در حالت کالیبراسیون قرار می دهید. صفحه نمایش 122 سانتیمتر از نیمکت من فاصله دارد - باید سیگنالی را که از بالای قاب پنجره بازتاب شده است (که برای سقف بسیار پایین است) گرفته باشد.

تصویر
تصویر

سپس موردی از شکستن تفنگ چسب حرارتی ، و بوق زدن کفش برای همه اجزا در جای خود بود. با انجام این کار ، متوجه شدم که فاصله کمی بین بالای صفحه نمایش و درپوش ، هنگامی که ماژول در محل خود چسبیده بود ، کمی برآمدگی ایجاد کرد که درپوش آنقدرها که دوست دارم محکم جا نمی گیرد به ممکن است روزی در مورد آن کاری انجام دهم - یا به احتمال زیاد ، نخواهم کرد…

تصویر
تصویر

مرحله 8: مقاله نهایی

پس از چند آزمایش پس از مونتاژ ، و تصحیح کد من برای در نظر گرفتن عمق تکه چوب که دستگاه را به آن متصل کرده بودم (که در محاسباتم کاملاً از آن غافل شدم - آه !!) ، همه چیز تمام شده است به سرانجام!

تست مونتاژ شده

در حالی که دستگاه فقط رو به روی نیمکت من نشسته است ، بدیهی است که هیچ سیگنال منعکس شده ای وجود نخواهد داشت ، بنابراین دستگاه به درستی وضعیت خطا را نشان می دهد. اگر نزدیکترین سطح بازتابنده خارج از محدوده واحد باشد ، همین امر صادق است.

تصویر
تصویر

به نظر می رسد از بالای نیمکت من تا زمین 76 سانتی متر است (خوب ، 72 سانتی متر به علاوه عمق 4 سانتی متری تکه چوب).

تصویر
تصویر

قسمت زیرین واحد ، فرستنده و گیرنده ای را نشان می دهد که بر روی تکه چوب قرار گرفته اند - من واقعاً نباید از آن به عنوان یک تکه چوب نام ببرم - از این پس به عنوان سکوی تثبیت و استقرار دقیق سنج نامیده می شود! خوشبختانه ، این آخرین باری است که به آن اشاره می کنم ؛-)

اوه - شما می توانید تمام آن خراش های بد و علائم اسکیت را در این یکی مشاهده کنید…

تصویر
تصویر

… و در اینجا آیتم تمام شده است که در حالت عادی کار قرار گرفته است و در واقع ظرفیت مخزن من را تا نزدیکترین 5٪ اندازه گیری می کند. بعدازظهر یکشنبه (بسیار) بارانی بود که باعث شد این پروژه را به پایان برسانم ، از این رو قطرات باران روی واحد و 90٪ خواندن بسیار دلپذیر بود.

تصویر
تصویر

امیدوارم از خواندن این مطلب آموزنده لذت برده باشید و کمی در مورد برنامه نویسی آردوینو ، فیزیک و استفاده از بازتاب سونار/اولتراسونیک ، مشکلات استفاده از حدس و گمان در برنامه ریزی پروژه خود آموخته باشید و از آنها الهام گرفته باشید اندازه گیری مخزن آب باران - و سپس نصب مخزن آب باران برای استفاده از آن ، در حالی که به محیط زیست کمی کمک کرده و در قبض آب خود صرفه جویی می کنید.

لطفاً بخوانید - برای آنچه روز بعد اتفاق افتاد…!

مرحله 9: پست پس نویس - صد (و پنج) درصد؟

بنابراین ، در دوشنبه پس از یکشنبه بارانی ، مخزن کاملاً تا آنجا که ممکن بود پر بود. از آنجا که یکی از معدود مواردی است که من آن را کاملاً پر دیده ام ، فکر کردم زمان ایده آل برای معیار سنجش است ، اما حدس بزنید - این 105 درصد ثبت شده است ، بنابراین بدیهی است که اشتباهی رخ داده است.

من میله چپ خود را بیرون آوردم و دریافتم که فرض های اولیه من 140 سانتی متر به عنوان حداکثر عمق آب و 16 سانتی متر فضای سر (بر اساس تخمین های بصری خارج از مخزن) هر دو کمی از اندازه گیری های واقعی فاصله دارند. بنابراین با اطلاعات واقعی برای معیار 100 my من ، من توانستم کد خود را تغییر دهم و Arduino را دوباره بارگیری کنم.

حداکثر عمق آب 147 سانتیمتر است ، با نقطه اندازه گیری 160 سانتیمتر ، 13 سانتی متر فضای سر (مجموع فضای سر داخل مخزن ، ارتفاع گردن مخزن ، و عمق تکه … وای) ، نه ، چه ؟! منظور من عمق سکوی تثبیت و تعیین مکان دقیق سنج است!).

پس از اصلاح متغیرهای maxDepth و headroom بر اساس آن ، و تنظیم مجدد حداکثر برد شیء سونار در 160 سانتی متر ، یک بازآزمایی سریع 100٪ را نشان داد که با افزایش کمی اندازه گیری (برای شبیه سازی مقدار کمی از آب استفاده شده است)

کار تمام شد!

PS - این اولین تلاش من برای آموزش است. اگر از سبک من ، حس شوخ طبعی ، صداقت در پذیرفتن اشتباهات (هی - حتی من کامل نیستم …) و غیره - خوشتان می آید ، به من اطلاع دهید و ممکن است به من انگیزه دهد تا یک کار دیگر انجام دهم.

مرحله دهم: افکار بعدی

ظرفیت قابل استفاده

بنابراین چند هفته ای است که من این دستورالعمل را منتشر کردم ، و نظرات زیادی در پاسخ به آنها داشتم ، که برخی از آنها مکانیسم های جایگزینی را پیشنهاد کرده بود - هم الکترونیکی و هم دستی. اما این من را به فکر فرو برد و چیزی است که احتمالاً باید در ابتدا به آن اشاره می کردم.

  • مخزن من دارای یک پمپ است که در سطح زمین نصب شده است - کمی زیر پایه مخزن. از آنجا که پمپ پایین ترین نقطه در سیستم است و آب ناشی از پمپ تحت فشار است ، می توانم از ظرفیت کامل مخزن خود استفاده کنم.
  • با این وجود - اگر مخزن شما پمپ ندارد و به تغذیه گرانشی متکی است ، ظرفیت موثر مخزن با ارتفاع شیر شما محدود می شود. هنگامی که آب باقیمانده در مخزن شما کمتر از شیر آب است ، آنگاه آبی از آن جاری نمی شود.

بنابراین ، صرف نظر از این که از سنج الکترونیکی یا شیشه دید دستی ، سیستم شناور و پرچم استفاده می کنید ، فقط توجه داشته باشید که بدون پمپ ، "پایه" موثر مخزن شما در واقع ارتفاع خروجی مخزن یا ضربه زدن.

توصیه شده: