Como fazer uma lata de lixo inteligente usando o Arduino?

O mundo está se movendo rapidamente e a tecnologia também está evoluindo com ele no campo da eletrônica. Tudo nesta era moderna está ficando inteligente. Por que não tornamos as latas de lixo inteligentes? É um problema comum que se vê ao nosso redor que a maioria das lixeiras é coberta por cima. As pessoas se sentem desconfortáveis ​​ao tocar a tampa e abri-la para jogar sua erupção nela. Podemos resolver esse problema de algumas pessoas automatizando a tampa da lixeira.



Lixeira Inteligente

Um Arduino e um sensor ultrassônico junto com o servo motor podem ser integrados para fazer uma lata de lixo inteligente. Se a lixeira detectar algum lixo na frente dela, ela abrirá a tampa automaticamente e a tampa será fechada após alguns segundos.



Como abrir e fechar automaticamente a tampa do caixote do lixo usando o Arduino?

Agora que conhecemos o resumo do projeto, vamos seguir em frente e começar a coletar mais informações sobre os componentes, funcionamento e o diagrama de circuito para começar imediatamente a trabalhar no projeto.



Etapa 1: Coletando os componentes

Se quiser evitar qualquer inconveniente no meio de qualquer projeto, o melhor é fazer uma lista completa de todos os componentes que vamos usar. O segundo passo, antes de começar a fazer o circuito, é fazer um breve estudo de todos esses componentes. Uma lista de todos os componentes de que precisamos neste projeto é fornecida abaixo.



  • [Amazon Link = ”B07QTQ72GJ” title = ”Arduino Nano” /]
  • [Amazon Link = ”B07JJSGL5S” title = ”Sensor ultrassônico” /]
  • [Amazon Link = ”B07D3L25H3 ″ title =” Servo Motor ”/]
  • [Amazon Link = ”B07PPP185M” title = ”Breadboard” /]
  • [Amazon Link = 'B01D9ZM6LS' title = 'Breadboard Jumper Wires' /]
  • [Amazon Link = ”B07QNTF9G8 ″ title =” Adaptador de energia 5V para Arduino ”/]

Etapa 2: estudar os componentes

Agora, como temos uma lista completa de todos os componentes, vamos dar um passo à frente e fazer um breve estudo do funcionamento de cada componente.

Arduino Nano é uma placa de microcontrolador amigável que é usada para controlar ou realizar diferentes tarefas em um circuito. Nós queimamos um Código C no Arduino Nano para informar à placa do microcontrolador como e quais operações executar. O Arduino Nano tem exatamente a mesma funcionalidade do Arduino Uno, mas em um tamanho bem pequeno. O microcontrolador na placa Arduino Nano é ATmega328p. se você não tiver um Arduino Nano, também pode usar o Arduino Uno ou o Arduino Maga.

Arduino Nano



A placa HC-SR04 é um sensor ultrassônico que é usado para determinar a distância entre dois objetos. Ele consiste em um transmissor e um receptor. O transmissor converte o sinal elétrico em um sinal ultrassônico e o receptor converte o sinal ultrassônico de volta para o sinal elétrico. Quando o transmissor envia uma onda ultrassônica, ela reflete após colidir com um determinado objeto. A distância é calculada usando o tempo que o sinal ultrassônico leva para ir do transmissor e voltar para o receptor.

Sensor ultrasônico.

PARA Servo motor é um atuador rotativo ou linear que pode ser controlado e movido em incrementos exatos. Esses motores são diferentes dos motores DC. Esses motores permitem o controle preciso do movimento angular ou rotatório. Este motor é acoplado a um sensor que envia feedback sobre seu movimento.

Servo motor

Etapa 3: Compreendendo o funcionamento

Estamos fazendo uma lixeira cuja tampa será aberta e fechada automaticamente e não haverá necessidade de tocá-la fisicamente. Só teremos que levar o lixo para a frente da lixeira. O sensor ultrassônico detectará automaticamente o lixo e abrirá a tampa com a ajuda de um servo motor. Quando a tampa estiver aberta, jogaremos o lixo na lixeira e quando terminarmos, a tampa será fechada automaticamente após alguns segundos. Este é o princípio de trabalho simples por trás deste projeto.

Etapa 4: montagem dos componentes

  1. Anexe uma placa de ensaio na lateral de uma caixa. Insira uma placa Arduino Nano nele.
  2. Anexe um sensor ultrassônico na frente da caixa. o sensor deve estar voltado ligeiramente para cima com um pequeno ângulo de elevação.
  3. Pegue o servo motor e fixe um braço servo nele. Fixe o servo motor na junta do silo e na tampa com ajuda de cola quente.
  4. Agora faça todas as conexões por meio de fios de conexão. Conecte o Vin e o aterramento do motor e o sensor ultrassônico ao 5V e aterramento do Arduino. Conecte o pino de disparo do sensor ao pino 2 e o pino de eco ao pino 3 do Arduino. Conecte o pino PWM do servo motor ao pino 5 do Arduino.
  5. Agora que todas as conexões do circuito são feitas, ele deve ficar assim:

    Diagrama de circuito

Etapa 5: Introdução ao Arduino

Se você ainda não está familiarizado com o IDE do Arduino, não se preocupe porque um procedimento passo a passo para configurar e usar o IDE do Arduino com uma placa de microcontrolador é explicado abaixo.

  1. Baixe a versão mais recente do Arduino IDE em Arduino.
  2. Conecte sua placa Arduino Nano ao seu laptop e abra o painel de controle. no painel de controle, clique em Hardware e som . Agora clique em Dispositivos e Impressoras. Aqui, encontre a porta à qual a placa do microcontrolador está conectada. No meu caso é COM14 mas é diferente em computadores diferentes.

    Encontrar o porto

  3. Clique no menu Ferramentas. e definir a placa para Arduino Nano no menu suspenso.

    Tabuleiro de Configuração

  4. No mesmo menu de ferramentas, defina a porta para o número da porta que você observou antes no Dispositivos e Impressoras .

    Porta de configuração

  5. No mesmo menu de ferramentas, defina o processador para ATmega328P (antigo bootloader).

    Processador

  6. Para escrever código para operar servo motores, precisamos de uma biblioteca especial que nos ajudará a escrever várias funções para servo motores. Esta biblioteca está anexada junto com o código, no link abaixo. Para incluir a biblioteca, clique em Esboço> Incluir Biblioteca> Adicionar ZIP. Biblioteca.

    Incluir Biblioteca

  7. Baixe o código anexado abaixo e cole-o em seu Arduino IDE. Clique no Envio botão para gravar o código na placa do microcontrolador.

    Envio

Para baixar o código, Clique aqui.

Etapa 6: Compreendendo o Código

O código é muito bem comentado, mas, ainda assim, é brevemente explicado a seguir.

1. No início, uma biblioteca é incluída para que possamos usar funções integradas para operar o servo motor. Dois pinos da placa Arduino Nano também são inicializados para que possam ser usados ​​para o gatilho e pino de eco do sensor ultrassônico. Um objeto também é feito para que possa ser usado para definir valores para os servo motores. Duas variáveis ​​também são declaradas para que o valor da distância e do tempo do sinal ultrassônico possa ser salvo e usado na fórmula.

#include // Incluir Biblioteca para Servo Motor Servo servo; // Declara um objeto para servo motor int const trigPin = 2; // Conecte o pino 2 do Arduino com trigonometria do sensor ultrassônico int const echoPin = 3; // Conecte o pino 3 do Arduino com o eco do sensor ultrassônico int duration, distance; // Declara variáveis ​​para armazenar distância e tipo de sinal ultrassônico

2 configuração vazia () é uma função na qual inicializamos os pinos da placa Arduino para serem usados ​​como INPUT ou OUTPUT. O pino de disparo será usado como saída e um pino de eco será usado como entrada. Nós usamos o objeto servo , para conectar o motor ao pino 5 do Arduino nano. O pino 5 pode ser usado para enviar o sinal PWM. A taxa de transmissão também é definida nesta função. A taxa de transmissão é a velocidade de bits por segundo pela qual o microcontrolador se comunica com os dispositivos externos.

void setup () {Serial.begin (9600); // configurando a taxa de transmissão do microcontrolador pinMode (trigPin, OUTPUT); // o pino trigonométrico será usado como saída pinMode (echoPin, INPUT); // pino de eco será usado como entrada servo.attach (5); // Conecte o servo motor ao pino 5 do Arduino}

3 - void loop () é uma função que é executada repetidamente em um loop. Neste loop, uma onda ultrassônica é enviada ao redor e recebida de volta. A distância percorrida é medida usando o tempo que o sinal leva para deixar o sensor e voltar para ele. Em seguida, a condição é aplicada à distância de acordo.

loop vazio () {digitalWrite (trigPin, HIGH); // enviando um sinal ultrassônico no retardo circundante (1); digitalWrite (trigPin, LOW); // Mede a entrada de pulso na duração do pino de eco = pulseIn (echoPin, HIGH); // A distância é a metade da duração dividida por 29,1 (da folha de dados) distance = (duração / 2) / 29,1; // se a distância for menor que 0,5 metro e maior que 0 (0 ou menos significa acima da faixa) if (distance = 0) {servo.write (50); atraso (3000); } else {servo.write (160); }}

Agora, como sabemos todas as etapas para realizar este projeto incrível, apresse-se e divirta-se fazendo sua lixeira inteligente.