فهرست مطالب:
- تدارکات
- مرحله 1: اتصال HC-SR04
- مرحله 2: Mosquitto و Paho MQTT
- مرحله 3: برنامه پایتون برای سنسور اولتراسونیک
- مرحله 4: Node-RED
- مرحله 5: ثبت اطلاعات
- مرحله 6: چیدمان
- مرحله 7: نتیجه گیری
تصویری: سیستم زباله: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
ما تصمیم گرفتیم راهی را برای ردیابی زباله های محلی یک محله یا یک حسگر در هر زباله در محله برای کارآمدتر دفن زباله ایجاد کنیم. ما فکر کردیم اگر هر دو هفته یک کامیون برای یک مجموعه بیاید ، چه می شود اگر من یا همسایه ام فقط کمی به بیرون پرتاب کنیم. آیا ارسال یک کامیون در جایی که نیمی از محله سطل های زباله کامل را ارسال نکرده باشد ، ناکارآمد نخواهد بود؟ اگر بتوان زباله های همسایه خود را پر کرد و اگر زباله من پر بود و زباله آنها خالی بود و برعکس ، از زباله های آنها استفاده کنیم ، بسیار خوب خواهد بود. ما تصمیم گرفتیم از سنسور اولتراسونیک ، HC-SR04 به همراه یک تمشک pi برای مقابله با این پروژه استفاده کنیم.
تدارکات
سنسور اولتراسونیک (HC-SR04)
Raspberry Pi (ما از Pi 4 مدل B استفاده کردیم)
تخته نان
کابل های بلوز
چند مقاومت (3 x 1k اهم)
مرحله 1: اتصال HC-SR04
از آنجا که ما از Raspberry Pi استفاده می کنیم ، باید از تقسیم کننده ولتاژ برای تنظیم ولتاژ ورودی به پایه های GPIO Pi استفاده کنیم زیرا آنها فقط 3.3v را مجاز می کنند. HC-SR04 از 5 ولت استفاده می کند اما هنگام اتصال آن به Pi باید به 3.3 ولت کاهش یابد. پین های 5 ولت و زمین را به ترتیب وصل کنید و طبق برنامه خود پین های اکو و ماشه را به پین های محترم وصل کنید. در برنامه ما به ترتیب از پین 23 و 24 برای اکو و ماشه استفاده کردیم.
مرحله 2: Mosquitto و Paho MQTT
قبل از شروع برنامه نویسی بر روی پایتون برای استفاده از سنسور اولتراسونیک با Pi ، باید این برنامه ها را نصب کنیم تا سنسور اولتراسونیک با نرم افزار برنامه نویسی ما Node-RED ارتباط برقرار کند. Mosquitto یک کارگزار MQTT است که می توانید در Pi از آن استفاده کنید در حالی که Paho MQTT کتابخانه ای است که به شما امکان می دهد در پایتون کدگذاری کنید تا حسگر با کارگزار MQTT ارتباط برقرار کند. برای نصب هر دوی این موارد ، باید این دستورات را در پایانه Pi خود تایپ کنید
به روز رسانی sudo apt
sudo apt install -y mosquitto mosquitto -client
sudo apt-get python3-pip را نصب کنید
sudo pip3 paho-mqtt را نصب کنید
مرحله 3: برنامه پایتون برای سنسور اولتراسونیک
این برنامه ای است که من برای خواندن داده های دریافتی از سنسور و همچنین انتشار آن برای کارگزار MQTT استفاده کردم.
مرحله 4: Node-RED
برخی از گره ها از قبل در برنامه نصب نمی شوند ، بنابراین ممکن است لازم باشد آن را از پالت ها نصب کنید. مواردی که باید نصب کنید عبارتند از node-red-dashboard و node-red-node-sqlite.
اینجاست که ما از نرم افزار برنامه نویسی و سنسور خود استفاده می کنیم. اولین گره مورد نیاز شما MQTT-in Node است که به ما اجازه می دهد از سنسور خود برای اجرای برنامه از بالا برای ارسال داده به این نرم افزار استفاده کنیم. گره محدوده ای که استفاده کردیم مقادیری را که داریم برمی گرداند (یعنی 5 سانتی متر از برنامه پر است ، بنابراین آن را به 100 ip برمی گردانیم). به دنبال گره محدوده ، 2 گره تابع داریم ، یکی برای نمایش پیام در داشبورد و دیگری برای نشان دادن تصویری از پر بودن زباله. برنامه گره های تابع پیوست شده است.
در صورت امکان ، این جریان می تواند برای چندین سنسور اولتراسونیک استفاده شود. با این حال ، برای پروژه ما مجبور به انجام داده های شبیه سازی شدیم زیرا نتوانستیم سنسورهای بیشتری را در دست بگیریم. روشی که ما این کار را انجام دادیم بسیار شبیه است اما دکمه هایی داریم که کاربر می تواند با کلیک روی آنها به طور تصادفی 1 تا 10 درصد زباله های هر یک از زباله ها را اضافه کند. ما از 2 دکمه استفاده کردیم ، یکی برای افزودن زباله و دیگری برای پاکسازی. اندازه گیری ، پیام ها و نشانگر هنوز دقیقاً مشابه کد شمارش هستند و شمارش زباله ها کمی متفاوت است.
مرحله 5: ثبت اطلاعات
ما تصمیم گرفتیم که وقتی کامیون برای خالی کردن زباله ها می آید ، میزان پر بودن زباله ها را وارد کنیم. با کمک گره sqlite می توانیم داده ها را بخوانیم و بنویسیم که آنها را نیز در Pi ذخیره می کند. شما باید این گره را همانطور که قبلاً گفتم نصب کنید.
مراحل ایجاد و ثبت داده ها به شرح زیر است:
1. ایجاد پایگاه داده
2. داده ها را ثبت کنید
3. داده ها را بکشید تا در داشبورد ما نشان داده شود
4. داده ها را پاک و حذف کنید
نحوه عملکرد SQL این است که شما باید موضوعی را اجرا کنید که عبارتند از CREATE TABLE ، INSERT INTO ، SELECT FROM و DELETE FROM. با استفاده از گره های timestamp می توانیم موضوعات را در گره sqlite اجرا کنیم که هر یک از این عملکردها را انجام می دهد (ایجاد ، درج ، انتخاب و حذف). ما فقط باید یکبار پایگاه داده را ایجاد کنیم و پس از انجام آن می توانیم داده ها را به آن وارد کنیم. پس از ایجاد پایگاه داده ، می توانیم داده ها را وارد کنیم و هنگام ورود کامیون دوباره از ورودی کاربر برای ورود به سیستم استفاده می کنیم. ما آن را طوری تنظیم کرده ایم که تا زمانی که کامیون مجاز به آمدن نباشد که دارای 5 زباله با 80٪ ظرفیت (کامل در نظر گرفته شده) نمی توانید اطلاعات را وارد کنید. ما همچنین مجدداً از گره محدوده برای مقیاس 500 به 0 تا 100 درصد استفاده کردیم. در صورت تمایل ، می توانیم همه داده ها را از پایگاه داده حذف کنیم. گره جدول UI یک گره است که به ما اجازه می دهد جدول را به صورت قالب بندی شده زیبا در داشبورد خود ببینیم.
مرحله 6: چیدمان
پس از اتمام همه اینها ، می توانید طرح مورد نظر خود را با کمک Node-RED ایجاد کنید. در برگه کناری شما می توانید آنها را به هر نحوی که دوست دارید قرار دهید و گزینه های سفارشی سازی بیشتری نیز در اختیار دارید. همچنین جریان من برای کل برنامه من ضمیمه شده است.
مرحله 7: نتیجه گیری
پس از اتمام این پروژه ، مناطقی وجود دارد که می توانیم شاهد پیشرفت بیشتر برنامه باشیم. من هرگز راهی برای انجام خودکار ورود به سیستم پیدا نکردم زیرا تنها راهی که می توانستیم انجام دهیم این بود که در فاصله زمانی وارد سیستم شود و اگر یک بار کامیون زباله بیاید به هیچ شماره تکراری احتیاج نداریم. من فکر می کنم این تا حدی به این دلیل است که چگونه تصمیم گرفتیم آن را به گره های عملکرد و برنامه نویسی وابسته کنیم ، زیرا ما با آن برنامه نویسی راحت تر هستیم. پس از کاوش پس از اتمام کار ، مشخص شد که گره هایی برای همه چیز ساخته شده است و اگر عملکرد گره های سوئیچ و rbe را زودتر بیابیم می تواند زندگی را بسیار ساده تر کند. همچنین یک گره برای سنسورهای اولتراسونیک ساخته شده بود که ما کار نکردیم. این کار را آسان تر می کرد زیرا نیازی به MQTT یا برنامه پایتون وجود نداشت زیرا فقط یک گره با ماشه و پین های اکو است. ما تصمیم گرفتیم که با ایجاد برنامه پایتون همانطور که در بالا دیدید ، در مورد آن کار کنیم. یک نکته مهم برای هرکسی که می خواهد در Node-RED غوطه ور شود این است که شما باید از تعداد زیادی گره اشکال زدایی استفاده کنید تا بفهمید آیا هر جریان در حال کار است و آنچه شما می خواهید/نیاز دارید را تولید می کند.
توصیه شده:
با ML طبقه بندی سطل زباله Pi بسازید!: 8 مرحله (همراه با تصاویر)
با ML یک طبقه بندی سطل زباله Pi بسازید! آموزش داده شده در لوب ، مبتدی پسند (بدون کد!)
سیستم مرتب سازی رنگ: سیستم مبتنی بر آردوینو با دو کمربند: 8 مرحله
سیستم مرتب سازی رنگ: سیستم مبتنی بر آردوینو با دو کمربند: حمل و/یا بسته بندی محصولات و اقلام در زمینه صنعتی با استفاده از خطوط ساخته شده با استفاده از تسمه نقاله انجام می شود. این کمربندها به جابجایی مورد از نقطه ای به نقطه دیگر با سرعت خاصی کمک می کند. برخی از وظایف پردازش یا شناسایی ممکن است
سیستم مدیریت سطل زباله هوشمند: 23 مرحله
سیستم مدیریت سطل زباله هوشمند: مقدمه. مشکل یا مسئله فعلی مربوط به این پروژه مشکل اصلی جامعه فعلی ما تجمع مواد زائد جامد است. تأثیر بیشتری بر سلامت و محیط زیست جامعه ما خواهد داشت. تشخیص ، نظارت
نحوه صحیح اتصال و راه اندازی سیستم قفسه مینی HiFi (سیستم صوتی): 8 مرحله (همراه با تصاویر)
نحوه صحیح اتصال و راه اندازی سیستم قفسه مینی HiFi (سیستم صوتی): من فردی هستم که از یادگیری مهندسی برق لذت می برم. من دبیرستانی در مدرسه رهبران زن جوان آن ریچاردز هستم. من این کار را برای کمک به هرکسی که می خواهد از موسیقی خود در Mini LG HiFi Shelf Syste Syste لذت ببرد ، کمک می کنم
تراشه های زباله - حذف سطل زباله غیرقابل بازیافت: 8 مرحله
صخره های زباله - حذف سطل زباله غیرقابل بازیافت: برای ساختن یک سطل زباله ، ابتدا یک گونی از شبکه ماهیگیری می دوزند. & nbsp؛ با سطل زباله پر شده و با سیمان گچ شده است. & nbsp؛ پوسته های به دست آمده از نظر شکل منحصر به فرد هستند و بسیار طبیعی به نظر می رسند. & nbsp؛ سنگ های زباله از نظر زیبایی زیبا و سازنده هستند