Controlando um Motor DC com um Controle Remoto IR Usando Arduino e L293D

Controlando um Motor DC com um Controle Remoto IR Usando Arduino e L293D

Este projeto demonstra como controlar a direção e a velocidade de um motor DC usando um controle remoto infravermelho (IR), um Arduino Uno e um chip driver de motor L293D. Esta configuração permite o controle preciso do motor, tornando-o adequado para uma variedade de aplicações.

Este projeto abre um mundo de possibilidades para suas iniciativas de eletrônica DIY. Aqui estão algumas ideias para te ajudar a começar:

  • Robô Controle Remoto:Controle o movimento de um pequeno robô usando um controle remoto IR.
  • Sistema de Cortinas Automáticas:Abra e feche cortinas ou persianas remotamente.
  • Instalações de Arte Interativas:Crie peças de arte dinâmicas com partes móveis controladas por um controle remoto IR.
  • Sistema de Pan e Tilt:Controle o movimento de pan e tilt de uma câmera ou sensor usando um controle remoto IR.

Hardware/Componentes

  • Arduino Uno
  • L293D Circuito Integrado Controlador de Motor
  • Motor CC
  • Controle Remoto IR e Receptor
  • Diodos (1N4001 x4)
  • Fios de Conexão
  • Fonte de Alimentação (por exemplo, bateria de 9V para o motor)

Guia de Fiação

%%FIBRAGEM%%

(in video at 02:14)

O chip L293D requer conexões tanto com o Arduino quanto com uma fonte de alimentação externa para o motor. Diodos são usados para proteção contra retorno de tensão. O receptor IR conecta-se aos pinos de 5V e GND do Arduino, com o pino de sinal conectado ao pino digital 11 (configurável no código). O motor conecta-se aos pinos de saída do L293D, que são controlados pelo Arduino.

Explicação do Código

(in video às 07:30)

O código Arduino fornecido utiliza a biblioteca IRremote para decodificar sinais do controle remoto IR. Os parâmetros configuráveis essenciais dentro do código incluem:


const char type ='B';// W for white, B for black. Must keep single quotes like 'B' or 'W'
const boolean PCB = 0;// if receiver is PCB set to 1, if not set to 0. See video for details

Defina otypevariável para 'W' para um controle remoto branco ou 'B' para um controle remoto preto (no vídeo às 07:41). OPCBa variável deve ser definida como 1 se o seu receptor IR tiver um PCB e 0 se for um módulo sem placa (no vídeo às 07:50).


const String RIGHT=">";// move motor to the right (CW) with this key on remote
const String LEFT ="<";// move motor to the left (CCW) with this key on remote
const String STOP ="OK";// stop motor with this key on remote

Essas linhas definem os rótulos dos botões do controle remoto IR para controlar o motor. Certifique-se de que esses correspondam aos rótulos do seu controle remoto (no vídeo às 08:12). Você pode personalizá-los para usar botões diferentes em seu controle remoto.


#define P1A 2 // define pin 2 as for P1A
#define P2A 7 // define pin 7 as for P2A
#define EN12 8 // define pin 8 as for 1,2EN enable
int RECV_PIN = 11;

Essas linhas definem os pinos do Arduino usados para controlar o driver de motor L293D (no vídeo às 09:52).P1AeP2Acontrolar a direção, eEN12ativa o motor.RECV_PINé o pino conectado à saída de sinal do receptor IR (no vídeo às 06:52). Modifique estes se você estiver usando pinos diferentes.

Projeto Ao Vivo/ Demonstração

(no vídeo às 14:15)

O vídeo demonstra o projeto em ação, mostrando como o motor CC responde aos comandos do controle remoto IR. A demonstração mostra como controlar a rotação do motor no sentido horário e anti-horário e como parar o motor usando diferentes botões do controle remoto.

Capítulos

  • [00:00] Introdução e Visão Geral do Projeto
  • [00:53] Componentes do Projeto e Pré-requisitos
  • [02:14] Explicação da Fiação
  • [07:30] Explicação do Código e Configuração
  • Demonstração do Projeto com Controle Remoto Preto e PCB [14:15]
  • [16:04] Demonstração com Controle Remoto Prata e PCB
  • Demonstração com o Controle Remoto Prateado e Módulo Sem Capa
  • Demonstração com Controle Remoto Preto e Módulo Desprotegido
142-Source for controlling a servo motor with an IR remote controller using Arduino
Idioma: C++
143-Source for a simple L293 motor controller using Arduino
Idioma: C++
Copiado!

Arquivos📁

Nenhum arquivo disponível.