Оглавление:
- Запасы
- Шаг 1: Подключение HC-SR04
- Шаг 2: Mosquitto и Paho MQTT
- Шаг 3: Программа Python для ультразвукового датчика
- Шаг 4: Узел-КРАСНЫЙ
- Шаг 5: Регистрация данных
- Шаг 6: макет
- Шаг 7: Заключение
Видео: Система мусора: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Мы решили попытаться найти способ отслеживать либо количество мусора в районе, либо датчик в каждом мусоре в районе, чтобы попытаться сделать вывоз мусора более эффективным. Мы думали, что если грузовик приезжает каждые две недели за сбором, что, если я или мой сосед в конечном итоге выбросят лишь немного. Разве не будет неэффективным отправить грузовик туда, где половина жителей района не отправила полные мусорные баки? Было бы замечательно, если бы можно было видеть, как мусор наших соседей наполняется, а затем использовать их мусор, если мой был полон, а их - пустым, и наоборот. Мы решили использовать ультразвуковой датчик HC-SR04 вместе с raspberry pi, чтобы попытаться реализовать этот проект.
Запасы
Ультразвуковой датчик (HC-SR04)
Raspberry Pi (мы использовали Pi 4 Model B)
Макетная плата
Соединительные кабели
Пара резисторов (3 x 1 кОм)
Шаг 1: Подключение HC-SR04
Поскольку мы используем Raspberry Pi, нам нужно использовать делитель напряжения для регулирования напряжения, поступающего на контакты GPIO Pi, поскольку они допускают только 3,3 В. HC-SR04 использует 5 В, но его необходимо снизить до 3,3 В при подключении к Pi. Подключите контакты 5V и заземления соответственно и в соответствии с вашей программой прикрепите контакты эха и триггера к соответствующим контактам. В нашей программе мы использовали контакты 23 и 24 для эха и триггера соответственно.
Шаг 2: Mosquitto и Paho MQTT
Прежде чем мы начнем программировать на Python, чтобы ультразвуковой датчик работал с Pi, мы должны установить эти приложения, чтобы ультразвуковой датчик мог взаимодействовать с нашим программным обеспечением Node-RED. Mosquitto - это брокер MQTT, который вы можете использовать на Pi, в то время как Paho MQTT - это библиотека, которая позволяет вам писать код на Python, чтобы датчик мог взаимодействовать с брокером MQTT. Чтобы установить оба из них, вы должны ввести эти команды на своем терминале Pi.
sudo apt update
sudo apt install -y mosquitto mosquitto-clients
sudo apt-get install python3-pip
sudo pip3 установить paho-mqtt
Шаг 3: Программа Python для ультразвукового датчика
Это программа, которую я использовал для чтения входящих данных с датчика, а также для публикации в брокере MQTT.
Шаг 4: Узел-КРАСНЫЙ
Некоторые узлы не предустановлены в программе, поэтому вам может потребоваться установить ее из палитр. Вам нужно установить node-red-dashboard и node-red-node-sqlite.
Здесь мы начинаем использовать наше программное обеспечение для программирования и датчик. Первый узел, который вам понадобится, - это узел MQTT-in, который позволяет нам использовать наш датчик, запускающий программу сверху, для отправки данных в это программное обеспечение. Узел диапазона, который мы использовали, переворачивает значения, которые у нас есть (т.е. 5 см заполнено программой, поэтому мы переворачиваем его на 100%). После узла диапазона у нас есть 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%. Затем у нас есть возможность удалить все данные из базы данных, если мы захотим. Узел таблицы пользовательского интерфейса - это узел, который позволяет нам видеть таблицу в красиво отформатированном виде на нашей панели инструментов.
Шаг 6: макет
После того, как все это будет завершено, вы можете создать желаемый макет с помощью Node-RED. На боковой вкладке вы сможете расположить их так, как вам нравится, и у вас есть еще много вариантов настройки. Также прилагается мой поток для всей моей программы.
Шаг 7: Заключение
По завершении этого проекта есть области, в которых мы можем увидеть дальнейшее развитие программы. Я никогда не находил способа сделать регистрацию автоматически, поскольку единственный способ, которым мы могли это сделать, - это регистрировать журнал через определенные промежутки времени, и нам не потребовались бы какие-либо повторяющиеся числа, если бы мусоровоз приехал один раз. Я думаю, что это отчасти связано с тем, что мы решили сделать это в значительной степени зависимым от функциональных узлов и программирования, поскольку нам это программирование более комфортно. После изучения после того, как мы закончили, стало ясно, что есть узлы для всего, и это могло бы значительно облегчить жизнь, если бы мы обнаружили функцию узлов switch и rbe ранее. Также был узел для ультразвуковых датчиков, который нам не удалось задействовать. Это упростило бы задачу, поскольку не было бы необходимости в MQTT или программе Python, поскольку это всего лишь узел с триггерным и эхо-контактами. Мы решили обойти это, сделав программу Python, как вы видели выше. Огромный совет для всех, кто хочет погрузиться в Node-RED, заключается в том, что вы должны использовать множество узлов отладки, чтобы выяснить, работает ли каждый поток и выводит ли то, что вы хотите / нужно.
Рекомендуемые:
Гидроэлектрический генератор из мусора?!?!: 11 шагов
Гидроэлектрический генератор из мусора?!?!: Конечный продукт должен выглядеть примерно так: металлические колья будут уходить в землю у реки, структура яйца будет действовать как вентилятор, будучи выталкиваемой водой, вызывая сад стержень, чтобы повернуть, заставьте шестерни вращаться. Передаточное число m
Автоматическая корзина для мусора: 7 шагов
Автоматическая корзина для мусора: это мусорная корзина с автоматическим открытием с обнаружением движения. Он имеет подключение к Wi-Fi и отправляет текстовое сообщение, когда он заполнен. Это сделано для ECE-297DP в Массачусетском университете в Амхерсте. Основная цель этого курса - получить опыт
Из мусора в часы с сокровищами: 6 шагов
Из корзины в часы с сокровищами: Мне сложно определить время в моем доме. Причина в том, что в нашем доме нет часов в общей комнате или гостиной. Для классного проекта мне были предоставлены варианты конкурса. Конкурс часов не был одним из них, поэтому я сделал часы
Создание прототипа робота-сборщика мусора: 10 шагов
Создание прототипа робота-сборщика мусора: как студенты университетов, живущие в жилых домах, мы обнаружили, что наши общежития часто становятся домом для грязных студентов, которые впервые живут самостоятельно. Эти студенты, как правило, слишком ленивы или безответственны, чтобы собирать или чистить свои
Умная корзина для мусора Arduino: 5 шагов
Arduino Smart Trashcan: эта корзина для мусора вдохновлена DIY Smart Dustbin With Arduino от AhsanQureshi Я последовал его шагу, но главное отличие в том, что я добавил кнопку в корзину. Это интеллектуальная корзина для мусора Arduino. Когда вы руки с мусором приближаетесь к