Separador Inteligente de Lixo Seco/Úmido com Arduino Mega
Componentes e Materiais
| Componente | Quantidade | Função |
|---|---|---|
| Arduino Mega 2560 | 1 | Controlador principal |
| Sensor de Toque Capacitivo Digital DFRobot Gravity | 1 | Detecta lixo seco |
| Sensor de Umidade do Solo SparkFun (terminais de parafuso) | 1 | Detecta umidade → lixo úmido |
| Micro Servomotor SG90 | 1 | Atuador da tampa |
| Chapacril (folhas) | 1 | Corpo do separador |
| Protoboard Meio Tamanho | 1 | Montagem do circuito |
| Jumpers (genéricos) | 1 | Conexões |
| Bateria 9V | 1 | Alimentação |
Ferramentas Necessárias
- Alicate descascador/cortador (18-10 AWG / 0.75-4mm²)
- Pistola de cola quente
Aplicativos e Serviços
- Arduino IDE — Plataforma de programação compatível
Sobre o Projeto
Descrição: Este separador classifica com sucesso lixo seco e úmido.
Nota: Não separa plástico ou metal — para isso, sensores adicionais seriam necessários.
Construção
- Duas folhas de acrílico formam o corpo
- Servomotor SG90 como atuador — rotação conforme tipo de lixo
- Régua plástica escolar como eixo do servo (conecta base superior ao motor). Fixada com cola quente (Super Bonder/Feviquick funciona mas é arriscado)
- Sensor de umidade fixado na parte superior — lixo cai direto nele. Sensor de toque ao lado detecta lixo seco. Construção completa.
Por que Sensor de Toque se Sensor de Umidade Já Classificaria?
Sim, umidade detecta lixo úmido. Mas não detecta lixo seco. Imagine estado neutro (sem lixo): sensor de umidade sempre lê "seco" por padrão → separador inclina sempre para um lado. Sensor de toque resolve: detecta presença de objeto (seco) vs. apenas umidade (úmido).
Implementação Passo a Passo
- Consiga 2 folhas de acrílico (lojas locais ou online)
- Fure as folhas conforme imagem para fixar suporte da bateria
- Cole servomotor no lado superior do suporte, apontando para frente (fita dupla face ou cola quente)
- Fure a régua plástica na base (diâmetro ligeiramente menor que eixo do servo). Use ferro de solda quente ou haste fina de aço
- Cole a outra folha de acrílico no topo da régua (cola quente). Fixe bem, sem folga
- Posicione sensor de umidade e sensor de toque no topo da placa acrílica
> Seguindo estes 6 passos corretamente, seu separador estará pronto :)
Explicação do Hardware
Para implementar, estude:
- Arduino: Microcontrolador usado. Documentação oficial
- Programação C++: Nível intermediário + funções básicas Arduino
- Sensor de Umidade: Interface com Arduino + diagrama
- Sensor de Toque: Interface com Arduino + diagrama
- Servomotor: Funcionamento e controle com Arduino
Funcionamento do Separador Inteligente
- Lixo depositado cai no sensor de umidade
- Com base no limiar (threshold), sensor classifica como seco ou úmido
- Servomotor gira para direção correspondente → lixo cai no compartimento correto
- Processo totalmente autônomo e contínuo
Vídeo: Confira o funcionamento (link no projeto original)
Código
Smart Segregator (C/C++)
#include <Servo.h>
class Smart_Segregator {
/*
* _____________________________________________________________
* | Description |
* | ----------- |
* | - Separador inteligente para lixo seco e úmido |
* | (Não separa metal ou plástico) |
* |...........................................................|
* | Attributes |
* | ---------- |
* | pin_1 : int - Pino do Servomotor |
* | pin_2 : int - Pino do Sensor de Umidade |
* | pin_3 : int - Pino do Sensor de Toque |
* |...........................................................|
* | Methods |
* | ------- |
* | dry_waste() - Tampa desliza para direita |
* | wet_waste() - Tampa desliza para esquerda |
* | neutral_state() - Tampa no centro |
* | execute() - Inicia operação do separador |
* |___________________________________________________________|
*/
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); // Posição neutra
pinMode(moisture_sensor_pin, INPUT);
pinMode(touch_sensor_pin, INPUT);
Serial.println("Seu Separador Inteligente está pronto para Separar!");
}
void dry_waste() {
servo.write(0); // Direita
}
void wet_waste() {
servo.write(180); // Esquerda
}
void neutral_state() {
servo.write(90); // Centro
}
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(8, 6, 2); // servo=8, umidade=6, toque=2
void setup() {
segregator.init();
}
void loop() {
segregator.execute();
}
Esquemáticos
Processo de manufatura
- Sensores Arduino: Tipos, Aplicações e Projetos do Mundo Real
- Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20
- Lixeira Inteligente: Otimizando Coleta de Resíduos com Sensores IoT
- Projeto DHT11: Sensor Temperatura/Umidade com LEDs Indicadores e Buzzer
- Persianas Inteligentes: Controle Automático de Luz com Arduino e Energia Solar
- Construa um Pote Inteligente IoT com ESP8266, Arduino e Sensor Ultrassônico – Monitoramento em Tempo Real
- Tênis Inteligentes com Auto-Ajuste e Colheita de Energia Integrada
- Construa uma Torre de Sensores com Arduino Cloud: Monitoramento de Temperatura, Movimento e Gás
- Braço Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
- Sistemas de Cárter Úmido vs Seco: Guia Completo de Lubrificação