Съдържание:
- Консумативи
- Стъпка 1: Свързване на HC-SR04
- Стъпка 2: Mosquitto и Paho MQTT
- Стъпка 3: Програма Python за ултразвуков сензор
- Стъпка 4: Node-RED
- Стъпка 5: Регистриране на данни
- Стъпка 6: Оформление
- Стъпка 7: Заключение
Видео: Система за боклук: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Решихме да се опитаме да проследим или запълването на боклука в общността, или сензор във всеки боклук в квартала, за да се опитаме да направим изхвърлянето на боклук по -ефективно. Мислехме, че ако камион идва на всеки две седмици за събиране, какво ще стане, ако аз или съседът ми изхвърлим само малко. Не би ли било неефективно да изпратим камион, където половината от квартала не е изпратил пълни кофи за боклук? Би било чудесно, ако беше възможно да видим кофата за боклук на нашия съсед и след това да използва техния боклук, ако моят е пълен и техният е празен и обратно. Решихме да използваме ултразвуковия сензор, HC-SR04 заедно с малиново пи, за да се опитаме да се справим с този проект.
Консумативи
Ултразвуков сензор (HC-SR04)
Raspberry Pi (използвахме Pi 4 модел B)
Платка
Кабелни кабели
Няколко резистора (3 x 1k ohm)
Стъпка 1: Свързване на HC-SR04
Тъй като използваме Raspberry Pi, трябва да използваме делител на напрежение, за да регулираме напрежението, влизащо в GPIO щифтовете на Pi, тъй като те позволяват само 3.3v. HC-SR04 използва 5V, но трябва да бъде понижен до 3.3V, когато го свързвате към Pi. Свържете съответно 5V и заземяващите щифтове и според вашата програма прикрепете ехото и тригерните щифтове към уважителните щифтове. В нашата програма използвахме пин 23 и 24 съответно за ехо и тригер.
Стъпка 2: Mosquitto и Paho MQTT
Преди да започнем да програмираме на Python, за да накараме ултразвуковия сензор да работи с Pi, трябва да инсталираме тези приложения, за да накараме ултразвуковия сензор да комуникира с нашия софтуер за програмиране Node-RED. Mosquitto е MQTT брокер, който можете да използвате на Pi, докато Paho MQTT е библиотеката, която ви позволява да кодирате в Python, за да накарате сензора да комуникира с MQTT брокера. За да инсталирате и двете, бихте въвели тези команди на вашия терминал Pi
sudo apt актуализация
sudo apt install -y mosquitto mosquitto -clients
sudo apt-get install python3-pip
sudo pip3 инсталирайте paho-mqtt
Стъпка 3: Програма Python за ултразвуков сензор
Това е програмата, която използвах, за да чета входящите данни от сензора и също така да ги публикувам в брокера на MQTT.
Стъпка 4: Node-RED
Някои възли не са предварително инсталирани в програмата, така че може да се наложи да го инсталирате от палитрите. Тези, които трябва да инсталирате, са node-red-dashboard и node-red-node-sqlite.
Тук започваме да използваме нашия софтуер за програмиране и сензора. Първият възел, от който се нуждаете, е MQTT-in Node и това ни позволява да използваме нашия сензор, изпълняващ програмата отгоре, за да изпращаме данни към този софтуер. Възелът на диапазона, който използвахме, обръща стойностите, които имаме (т.е. 5 см е пълен от програмата, така че го обръщаме на 100%). След възела на диапазона имаме 2 функционални възела, един за показване на съобщението към таблото ни за управление и един за визуално представяне, че боклукът е пълен. Приложена е програмата за функционалните възли.
Ако е възможно, този поток би могъл да се използва за множество ултразвукови сензори. За нашия проект обаче трябваше да направим симулационни данни, тъй като не успяхме да се доберем до повече сензори. Начинът, по който направихме това, е много подобен, но имаме бутони, които потребителят може да кликне, за да добави на случаен принцип 1-10 процента от боклука във всеки от боклуците. Използвахме 2 бутона, един за добавяне на боклук и един за изчистване. Манометърът, съобщенията и индикаторът са все същите, кодът за отчитане и отчитане на боклука е малко по -различен.
Стъпка 5: Регистриране на данни
Решихме, че би било добра идея да запишем колко пълни са боклуците, когато камионът дойде да изпразни боклуците. С помощта на sqlite възела можем да четем и записваме данни, което също ги записва в Pi. Трябва да инсталирате този възел, както вече казах.
Стъпките за създаване и регистриране на данни са както следва:
1. Създайте базата данни
2. Влезте в данните
3. Изтеглете данните, за да се покажат на нашето табло за управление
4. Изчистете и изтрийте данните
Начинът, по който работи SQL, е, че трябва да създадете изпълнение на темата, която е CREATE TABLE, INSERT INTO, SELECT FROM и DELETE FROM. Използвайки възли с времеви маркировки, можем да изпълняваме теми към sqlite възела, който изпълнява всяка от тези функции (създаване, вмъкване, избор и изтриване). Трябва само да създадем базата данни веднъж и след като приключи, можем да регистрираме данни в нея. След като базата данни е създадена, можем да регистрираме данни и отново използвахме потребителски вход, за да регистрираме, когато камионът дойде. Направихме го така, че не можете да регистрирате данни, докато не бъде разрешено камиона да дойде, което е 5 боклука с 80% капацитет (счита се за пълен). Ние също използвахме възела на диапазона отново, за да мащабираме 500 обратно до 0-100%. След това имаме възможност да изтрием всички данни от базата данни, ако искаме. Възелът на таблицата на потребителския интерфейс е възел, който ни позволява да виждаме таблицата по добре форматиран начин на нашето табло за управление.
Стъпка 6: Оформление
След като всичко това приключи, можете да създадете оформление, което искате, с помощта на Node-RED. В страничния раздел ще можете да ги поставите колкото искате и има много повече опции за персонализиране, които имате. Приложен е и моят поток за цялата ми програма.
Стъпка 7: Заключение
След приключване на този проект има области, в които можем да видим, че програмата ще се развива допълнително. Никога не намерих начин да направя регистрирането автоматично, тъй като единственият начин, по който можем да го направим, е да се регистрира на интервал и няма да имаме нужда от повторни номера, ако камионът за боклук дойде веднъж. Мисля, че това отчасти се дължи на това как решихме да го направим силно зависим от функционалните възли и програмирането, тъй като сме по -удобни с това програмиране. След проучване, след като приключихме, беше ясно, че има създадени възли за всичко и това би могло да направи живота много по -лесен, ако открихме функцията на възли за превключване и rbe по -рано. Имаше и възел, направен за ултразвукови сензори, който не успяхме да работим. Това би улеснило нещата, тъй като нямаше да има нужда от MQTT или програмата Python, тъй като това е просто възел с щифтове за задействане и ехо. Решихме да заобиколим това, като направихме програмата Python, както видяхте по -горе. Огромен съвет за всеки, който иска да се потопи в Node-RED, е, че трябва да използвате много възли за отстраняване на грешки, за да разберете дали всеки поток работи и извежда това, което искате/имате нужда.
Препоръчано:
Интелигентен контейнер за боклук с помощта на Arduino, ултразвуков сензор и серво мотор: 3 стъпки
Интелигентен контейнер за боклук с помощта на Arduino, ултразвуков сензор и серво мотор: В този проект ще ви покажа как да направите интелигентен контейнер за боклук с помощта на Arduino, където капакът на кофата за боклук автоматично ще се отвори, когато се приближите с боклук. Другите важни компоненти, използвани за направата на тази интелигентна кофа за боклук, са HC-04 Ultrasonic Sen
Интелигентна кофа за боклук: 6 стъпки
Умен боклук: Здравейте момчета !!! Аз съм Ведаанш Вердхан. И днес ще ви покажа как да направите своя собствена интелигентна кофа за боклук. Следвайте ме в Instragram, за да получите информация за следващия ми проект. Нека започнем !!!! Профил в Instragram: --- robotics_08
Интелигентна кофа за боклук от Magicbit: 5 стъпки
Интелигентна кофа за боклук от Magicbit: В този урок ще научим как да си направите интелигентна кофа за боклук с помощта на Magicbit dev. дъска с Arduino IDE. Да започнем
Интелигентна кофа за боклук с кола: 5 стъпки
Интелигентна кофа за боклук с кола: Това е интелигентна кофа за боклук с ултразвуков сензор, кола и бутон, така че се придвижва напред, когато я натиснете. Този проект е вдъхновен от https://www.instructables.com/id/DIY-Smart-Dustbin-With-Arduino/ Ето няколко части, които направих промени: 4 колела
Автоматичен кош за боклук: 7 стъпки
Автоматичен кош за боклук: Това е автоматично откриване на кошче за боклук. Той има wifi връзка и изпраща текстово съобщение, когато е пълно. Това е направено за ECE -297DP в Университета на Масачузетс - Амхерст. Основната цел на този курс беше да спечелите опит