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
- Anexe uma placa de ensaio na lateral de uma caixa. Insira uma placa Arduino Nano nele.
- Anexe um sensor ultrassônico na frente da caixa. o sensor deve estar voltado ligeiramente para cima com um pequeno ângulo de elevação.
- 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.
- 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.
- 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.
- Baixe a versão mais recente do Arduino IDE em Arduino.
- 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
- Clique no menu Ferramentas. e definir a placa para Arduino Nano no menu suspenso.
Tabuleiro de Configuração
- 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
- No mesmo menu de ferramentas, defina o processador para ATmega328P (antigo bootloader).
Processador
- 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
- 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.