Projeto 3: Lixeira automática Automatic trash - ferkrum/protoEletro2021.2 GitHub Wiki

Lixeira automática

Imagem 1 Imagem 2 Imagem 3

  • O que o projeto faz? A lixeira automática traz praticidade na abertura além de medir o volume para avisar você a hora de descartar.

  • Quais tecnologias foram usadas? 02 Sensores ultrassônicos, 01 servo motor, 01 Arduino UNO , 03 leds e 03 resistores.

  • Como o usuário controla? É controlado apenas com a aproximação da sua mão na frente do sensor.


Aluno responsável pelo projeto:

Caroline Adam Correia


Apresentação (PPT):

Vídeos:

  • [Apresentação do projeto em vídeo GrauB]

(https://youtu.be/BJtkLQxkxg4)


Histórico de desenvolvimento:

S13: Criação desse documento.

  • Imagens de referências

Lixeira automática

Lixeira automática

S14: Componentes

  • Componentes valores:

02 Sensor Ultrassônico R$ 35,00 cada;

Micro Servo R$ 26,00;

3 leds R$ 0,65 cada;

3 Resistores 1K R$ 0,20 cada;

Placa Arduino + cabo USB R$40,00;

Cabo Macho x fêmea e Fêmea x Fêmea R$ 1,00 cada;

Placa de ensaio R$ 19,00 (opcional);

Lixeira de pedal 7 Litros R$ 26,00.

Total: R$ 203,55

S15: Montagem

  • Tinkercad

S16: Programação

  • Arduino IDE

// C++ code // /* Sweep

by BARRAGAN http://barraganstudio.com This example code is in the public domain.

modified 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Sweep */

#include <Servo.h> int pos = 0; Servo servo_9; int inches = 0; int cm = 0; //ultrassom #01 #define pino_trigger 4 #define pino_echo 2 //ultrassom #02 #define pino_trigger_u2 7 #define pino_echo_u2 8 //leds #define led_verm 3 #define led_ama 12 #define led_branco 13

void setup() { Serial.begin(9600); servo_9.attach(9); pinMode(pino_trigger, OUTPUT); pinMode(pino_echo, INPUT);

pinMode(pino_trigger_u2, OUTPUT); pinMode(pino_echo_u2, INPUT);

pinMode(led_verm, OUTPUT); pinMode(led_ama, OUTPUT); pinMode(led_branco, OUTPUT);

servo_9.write(180);

}

void loop() {

//servo_9.write(pos);

float tempo; float distancia;

float tempo_u2; float distancia_u2;

// ultrassom #01 //////// bloco de transmissão do sinal///// digitalWrite(pino_trigger, HIGH); delayMicroseconds(10); digitalWrite(pino_trigger,LOW); /////// bloco de recepção////// tempo = pulseIn(pino_echo, HIGH); distancia = (tempo*0.034029)/2; ///////////////////////////////

// ultrassom #02 //////// bloco de transmissão do sinal///// digitalWrite(pino_trigger_u2, HIGH); delayMicroseconds(10); digitalWrite(pino_trigger_u2,LOW); /////// bloco de recepção////// tempo_u2 = pulseIn(pino_echo_u2, HIGH); distancia_u2 = (tempo_u2*0.034029)/2; ///////////////////////////////

Serial.print("distancia #01: "); Serial.println(distancia);

Serial.print("distancia #02: "); Serial.println(distancia_u2);

if (distancia < 10) { //Serial.println("entupida"); digitalWrite(led_verm, HIGH); digitalWrite(led_ama, LOW); digitalWrite(led_branco, LOW); //servo_9.write(0); } else if (distancia >= 10 && distancia < 40) { //Serial.println("media"); digitalWrite(led_verm, LOW); digitalWrite(led_ama, HIGH); digitalWrite(led_branco, LOW); //servo_9.write(90); } else if (distancia >= 40 && distancia < 80) { //Serial.println("vazia"); digitalWrite(led_verm, LOW); digitalWrite(led_ama, LOW); digitalWrite(led_branco, HIGH); //servo_9.write(180); }

if (distancia_u2 < 40) { servo_9.write(180); } else { servo_9.write(0); }

}

s17: Entrega do projeto / Apresentação. Obtive o resultado desejado com a conclusão do projeto, os sensores e o servo motor funcionaram como planejado. A modificação sugerida de ter uma superfície sensível em volta da lixeira para detectar algum resíduo ao seu redor e consequentemente ela vai dar uma aviso. Foi pensando na triste realidade de encontramos muitas vezes lixos jogados ao redor da lixeira e não dentro que propus essa sugestão, para mudar isso a lixeira vai ser acionada a dar um aviso (pode ser uma mensagem) quando capitar (com sua superfície sensível) algo ao seu redor.


Referências:

⚠️ **GitHub.com Fallback** ⚠️