Умный сепаратор сухого и влажного мусора на Arduino Mega 2560
Компоненты и материалы
| Arduino Mega 2560 — мозг проекта | × | 1 |
| DFRobot Gravity: Digital Capacitive Touch Sensor For Arduino — определяет сухой мусор | × | 1 |
| SparkFun Soil Moisture Sensor (with Screw Terminals) — детектирует влажность, классифицирует мусор как сухой или влажный | × | 1 |
| SG90 Micro-servo motor — исполнительный механизм | × | 1 |
| Acrylic Sheets — корпус сепаратора | × | 1 |
| Solderless Breadboard Half Size | × | 1 |
| Jumper wires (generic) | × | 1 |
| 9V battery (generic) — источник питания | × | 1 |
Необходимые инструменты и оборудование
| Wire Stripper & Cutter, 18-10 AWG / 0.75-4mm² Capacity Wires |
| Hot glue gun (generic) |
Приложения и онлайн-сервисы
| Arduino IDE — платформа для программирования, совместимая с Arduino |
О проекте
Описание: Этот сепаратор успешно разделяет сухой и влажный мусор.
Примечание: Пластик или металл он не разделяет. Для этого нужны дополнительные сенсоры и модули.
Конструкция
1. Использовал 2 акриловых листа как корпус сепаратора.
2. Сервопривод используется как актуатор — поворачивается в зависимости от типа мусора (сухой или влажный).
3. В качестве вала сервопривода использовал обычную школьную линейку. Она соединяет верхнюю базу и сервопривод. Закреплен термоклеем.
- Примечание: Можно использовать суперклей, но это рискованно — будьте осторожны.
4. Влажность датчик закреплен на верхней части сепаратора так, что сброшенный мусор падает прямо на него. Рядом стоит сенсор касания для определения сухого мусора. Это завершает конструкцию.
Зачем сенсор касания, если датчик влажности может классифицировать мусор?
- Да, датчик влажности определяет влажный мусор. Но он не может определить сухой. Почему? Представьте нейтральное состояние, когда на датчике нет мусора. Как ни пытайтесь, этого состояния не достичь. Датчик влажности по умолчанию всегда в «сухом» состоянии, что заставит сепаратор всегда наклоняться в одну сторону. Чтобы решить эту проблему, используется сенсор касания.
Реализация пошагово
- Шаг 1: Подготовьте 2 акриловых листа. Можно купить в местных магазинах или заказать онлайн (Amazon).
- Шаг 2: Сделайте отверстия в акриле как на фото, чтобы закрепить держатель батареи.
- Шаг 3: На верхней стороне держателя батареи закрепите сервопривод, направленный прямо вперед (двусторонний скотч или термоклей).
- Шаг 4: Возьмите пластиковую школьную линейку и сделайте внизу отверстие чуть меньше диаметра вала мотора (можно обжечь паяльником или тонким стержнем).
- Шаг 5: Приклейте второй акриловый лист на верх линейки термоклеем. Убедитесь, что крепко и не шатается.
- Шаг 6: Установите датчик влажности и сенсор касания на верхнюю акриловую пластину.
Следуя этим 6 шагам, вы готовы к работе :)
Описание железа
Для реализации этого проекта нужно изучить следующие концепции:
- Arduino: микроконтроллер для проекта. Учитесь здесь. Не забывайте про официальную документацию.
- C++ Programming: для программирования Arduino нужен средний уровень C++. Также изучите базовые функции Arduino.
- Moisture Sensor: интерфейсирование Arduino с датчиком влажности со схемой.
- Touch Sensor: интерфейсирование Arduino с сенсором касания со схемой.
- Servo Motor: как работает сервопривод с Arduino.
Работа умного сепаратора пошагово
- Шаг 1: Мусор сбрасывается и попадает на датчик влажности.
- Шаг 2: В зависимости от заданного порога датчик классифицирует его как сухой или влажный.
- Шаг 3: Сразу после шага 2 сервопривод поворачивается в соответствующую сторону, и мусор попадает в нужный отсек.
- Шаг 4: Весь процесс автономен и непрерывен.
Видео: Не забудьте посмотреть крутую демонстрацию работы проекта (ссылка ниже :)
Код
Smart Segregator C/C++
#include <Servo.h>
class Smart_Segregator
/*
_____________________________________________________________
| | Description |
| ----------- |
| - Умный сепаратор, разделяющий сухой и влажный мусор.
| (Не разделяет металл или пластик) |
|.............................................................
| | Attributes |
| ---------- |
| pin_1 : int | - Номер пина сервопривода. |
| pin_2 : int | - Номер пина датчика влажности. |
| pin_3 : int | - Номер пина сенсора касания. |
|............................................................
| | Methods |
| ------- |
| dry_waste() | - Крышка сепаратора скользит вправо. |
| wet_waste() | - Крышка сепаратора скользит влево. |
| neutral_state() | - Крышка в центральном положении. |
| execute() | - Запуск умного сепаратора. |
|___________________________________________________________
*/
{
public:
int servo_pin;
int moisture_sensor_pin;
int touch_sensor_pin;
int detect_moisture;
int detect_touch;
Servo servo;
Smart_Segregator(int pin_1, int pin_2, int pin_3) {
servo_pin = pin_1;
moisture_sensor_pin = pin_2;
touch_sensor_pin = pin_3;
detect_moisture = 0;
detect_touch = false;
}
void init() {
Serial.begin(9600);
servo.attach(servo_pin);
servo.write(90);
pinMode(moisture_sensor_pin, INPUT);
pinMode(touch_sensor_pin, INPUT);
Serial.println("Your Smart Segregator is ready to Segregate!");
}
void dry_waste() {
servo.write(0);
}
void wet_waste() {
servo.write(180);
}
void neutral_state() {
servo.write(90);
}
void execute() {
detect_moisture = digitalRead(moisture_sensor_pin);
detect_touch = digitalRead(touch_sensor_pin);
if (detect_moisture > 85 && detect_touch == true) {
wet_waste();
} else if (detect_moisture <= 85 && detect_touch == true) {
dry_waste();
} else {
neutral_state();
}
}
};
Smart_Segregator segregator = Smart_Segregator(8, 6, 2);
void setup() {
segregator.init();
}
void loop() {
segregator.execute();
}
Схемы
[Схема подключения и фото сборки]
Производственный процесс
- Arduino-датчики: типы, применения и реальные проекты
- Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
- Интеллектуальное умное мусорное ведро: оптимизация сбора отходов с IoT-датчиками
- Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
- Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
- Умная банка на ESP8266 + Arduino: мониторинг наполненности в реальном времени
- Умные самозавязывающиеся туфли с встроенной сборкой энергии
- Сенсорная башня на Arduino Cloud: Мониторинг температуры, движения и газа
- Умная робо-рука на Arduino: простое DIY-руководство
- Мокрый и сухой картер: подробное сравнение систем смазки