Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Carro de controle remoto IR

Componentes e suprimentos

WINGONEER Kits de módulo de sensor de controle remoto sem fio infravermelho de infravermelho novo estilo para Arduino
× 1
SainSmart L298N Dual H Bridge Stepper Motor Driver
× 1
Kit de chassi de carro robô 4WD
× 1
Arduino UNO
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Sobre este projeto


Encontrei o design original no Instructables e construí uma versão dele. O original era um veículo de pista e este é 4WD. O ajuste ao design original vem na configuração do IR. O projeto original sofreu realimentação durante o funcionamento dos motores, o que interferiu no receptor de infravermelho. Os motores agiam como geradores onde os fios terra se encontravam. Eu mudei os pinos e atribuições para o IR

Monte a base do carro usando as instruções fornecidas se estiver usando o kit móvel SAINSMART. Encontrado aqui





Receptor IR:


pino_ receptor interno =4; // Conecte o pino de saída 4 no controlador ao receptor IR Y

int vcc =5; // Conecte o pino de saída 5 no controlador ao receptor IV V

int gnd =6; // Conecte o pino de saída 4 no controlador ao receptor IR G





Módulo de acionamento do motor L298N:





// motor A


int enA =8;

int in1 =12;

int in2 =11;





// motor B


int enB =7;

int in3 =10;

int in4 =9;

GND do módulo de acionamento do motor L298N para o GND do controlador





Módulo de acionamento de motor L298N para motores:


// Motor definido A lado direito

Conectar o lado "+" (vermelho) dos motores para fora 4

Conecte o lado "-" (Preto) dos motores ao Out 3





// Conjunto de motor B lado esquerdo


Conectar o lado "+" (vermelho) dos motores para fora 2

Conecte o lado "-" (Preto) dos motores à Saída 1

Conecte a bateria ao módulo de acionamento L298N "+" (vermelho) ao VCC e "-" (preto) ao GND

Diagrama Completo




Código

  • Carro de controle remoto IR
Carro de controle remoto IR C #
 #include  comando char; int receiver_pin =4; // Conecte o pino de saída do receptor IR no pino 4int vcc =5; // VCC para IR sensorint gnd =6; // GND para IR sensorint statusled =13; IRrecv irrecv (receiver_pin); decode_results results; // conecte os pinos do controlador do motor aos pinos digitais do Arduino // motor Aint enA =8; int in1 =12; int in2 =11; // motor Bint enB =7; int in3 =10; int in4 =9; void setup () {Serial.begin (9600); irrecv.enableIRIn (); pinMode (statusled, OUTPUT); digitalWrite (statusled, LOW); // definir todos os pinos de controle do motor para as saídas pinMode (enA, OUTPUT); pinMode (enB, OUTPUT); pinMode (in1, OUTPUT); pinMode (in2, OUTPUT); pinMode (in3, OUTPUT); pinMode (in4, OUTPUT); pinMode (vcc, OUTPUT); pinMode (gnd, OUTPUT); // Inicializando vcc pin high digitalWrite (vcc, HIGH);} void loop () {if (irrecv.decode (&results)) {digitalWrite (statusled, LOW); irrecv.resume (); if (results.value ==0xFF18E7 ) {// digite o botão 2 de controle do robô para a frente // esta função irá operar os motores em ambas as direções a uma velocidade fixa Serial.println ("Botão 2"); // liga o motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF10EF) {// digite o botão 4 virar à esquerda controle do robô // esta função acionará o motor A em direção direta do motor B para Serial.println ("Botão 4"); // liga o motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, LOW); digitalWrite (in4, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100); } else if (results.value ==0xFF30CF) {// digite o botão 1 girar para a esquerda controle do robô // esta função acionará o motor A nas direções para a frente motor B nas direções para trás Serial.println ("Botão girar à direita"); // liga o motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, LOW); digitalWrite (in4, HIGH); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100); } else if (results.value ==0xFF5AA5) {// digite o botão 6 gire à direita controle do robô // esta função irá parar o motor A, aciona o motor B nas direções para frente Serial.println ("Botão girar à esquerda"); // liga o motor A digitalWrite (in1, LOW); digitalWrite (in2, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF7A85) {// digite o botão 3 girar para a direita controle do robô // esta função acionará o motor A em direções para trás motor B nas direções para frente // liga o motor A digitalWrite (in1, LOW); digitalWrite (in2, HIGH); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF4AB5) {// digite o botão 8 para trás controle do robô // esta função acionará o motor A e o motor B nas direções reversas // liga o motor A digitalWrite (in1, LOW); digitalWrite (in2, HIGH); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, LOW); digitalWrite (in4, HIGH); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF38C7) {// digite o botão 5 parar o controle do robô // esta função irá parar o motor A e motor B // liga o motor A digitalWrite (in1, LOW); digitalWrite (in2, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enA, 100); // liga o motor B digitalWrite (in3, LOW); digitalWrite (in4, LOW); // definir a velocidade para 200 fora do intervalo possível 0 ~ 255 analogWrite (enB, 100); }}} 

Esquemas


Processo de manufatura

  1. Circuitos de controle
  2. Construtor C#
  3. Controle remoto universal Raspberry Pi
  4. Controle de enchimento da piscina
  5. Monitor de frequência cardíaca remoto
  6. Reutilize o controle remoto infravermelho indesejado para desligar e reiniciar o Raspberry Pi
  7. Ataque de segurança ICS habilita o controle remoto de edifícios
  8. Monitoramento em nuvem, um sistema de controle remoto
  9. 5 vantagens do controle remoto de produção
  10. Controle remoto de guindaste aéreo:tudo o que você precisa saber