Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Coche con control remoto por infrarrojos

Componentes y suministros

WINGONEER Kits de módulo de sensor de control remoto inalámbrico infrarrojo IR de nuevo estilo para Arduino
× 1
Controlador de motor paso a paso SainSmart L298N Dual H Bridge
× 1
Kit de chasis de coche robot 4WD
× 1
Arduino UNO
× 1

Herramientas y máquinas necesarias

Soldador (genérico)

Acerca de este proyecto

Encontré el diseño original en Instructables y construí una versión del mismo. El original era un vehículo de pista y este es 4WD. El ajuste al diseño original viene en la configuración del IR. El diseño original sufrió retroalimentación cuando los motores estaban en funcionamiento que interfirieron con el receptor de infrarrojos. Los motores actuaron como generadores donde se unían los cables de tierra. Cambié los pines y las asignaciones del IR

Monte la base del automóvil siguiendo las instrucciones proporcionadas si usa el kit móvil SAINSMART. Encontrado aquí

Receptor de infrarrojos:

int receptor_pin =4; // Conecta el pin de salida 4 del controlador al receptor de infrarrojos Y

int vcc =5; // Conecte el pin de salida 5 en el controlador al receptor IR V

int gnd =6; // Conecta el pin de salida 4 del controlador al receptor de infrarrojos G

Módulo de accionamiento del 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 del módulo de accionamiento del motor L298N al controlador GND

Módulo de accionamiento de motor L298N a motores:

// Motor conjunto A lado derecho

Conectar el lado "+" (rojo) de los motores a Out 4

Conecte el lado "-" (negro) de los motores a la salida 3

// Motor conjunto B lado izquierdo

Conectar el lado "+" (rojo) de los motores a Out 2

Conecte el lado "-" (negro) de los motores a la salida 1

Conecte la batería al módulo de la unidad L298N "+" (rojo) a VCC y "-" (negro) a GND

Diagrama completo

Código

  • Coche con control remoto por infrarrojos
Coche de control remoto por infrarrojos C #
 #include  comando char; int receptor_pin =4; // Conecte el pin de salida del receptor de infrarrojos en el pin 4int vcc =5; // VCC para sensor de infrarrojosint gnd =6; // GND para IR sensorint statusled =13; IRrecv irrecv (receptor_pin); resultados de decode_results; // conectar los pines del controlador del motor a los pines digitales 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); // set todos los pines de control del motor a las salidas pinMode (enA, OUTPUT); pinMode (enB, SALIDA); pinMode (in1, SALIDA); pinMode (entrada2, SALIDA); pinMode (in3, SALIDA); pinMode (in4, SALIDA); pinMode (vcc, SALIDA); pinMode (GND, SALIDA); // Inicializando vcc pin high digitalWrite (vcc, HIGH);} void loop () {if (irrecv.decode (&results)) {digitalWrite (statusled, LOW); irrecv.resume (); if (results.value ==0xFF18E7 ) {// teclee el botón 2 de control del robot de avance // esta función hará funcionar los motores en ambas direcciones a una velocidad fija Serial.println ("Botón 2"); // enciende el motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // establece la velocidad a 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF10EF) {// teclee el botón 4 gire a la izquierda el control del robot // esta función hará funcionar el motor A en dirección de avance motor B parada Serial.println ("Botón 4"); // enciende el motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, LOW); digitalWrite (in4, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100); } else if (results.value ==0xFF30CF) {// teclee el botón 1 para rotar el control del robot a la izquierda // esta función hará funcionar el motor A en la dirección de avance el motor B en la dirección de retroceso Serial.println ("Botón para girar a la derecha"); // enciende el motor A digitalWrite (in1, HIGH); digitalWrite (in2, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, LOW); digitalWrite (in4, HIGH); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100); } else if (results.value ==0xFF5AA5) {// teclee el botón 6 para girar el control del robot a la derecha // esta función detendrá el motor A, ejecutará el motor B hacia adelante. Serial.println ("Botón Girar a la izquierda"); // enciende el motor A digitalWrite (in1, LOW); digitalWrite (in2, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF7A85) {// teclea el botón 3 para girar el control del robot a la derecha // esta función hará funcionar el motor A en hacia atrás motor B hacia adelante // enciende el motor A digitalWrite (in1, LOW); digitalWrite (in2, HIGH); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, HIGH); digitalWrite (in4, LOW); // establece la velocidad a 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF4AB5) {// teclee el botón 8 control del robot hacia atrás // esta función hará funcionar el motor A y el motor B hacia atrás // enciende el motor A digitalWrite (in1, LOW); digitalWrite (in2, HIGH); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, LOW); digitalWrite (in4, HIGH); // establece la velocidad a 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100);} else if (results.value ==0xFF38C7) {// teclee el botón 5 para detener el control del robot // esta función detendrá tanto el motor A como motor B // enciende el motor A digitalWrite (in1, LOW); digitalWrite (in2, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enA, 100); // enciende el motor B digitalWrite (in3, LOW); digitalWrite (in4, LOW); // establece la velocidad en 200 fuera del rango posible 0 ~ 255 analogWrite (enB, 100); }}} 

Esquemas


Proceso de manufactura

  1. Circuitos de control
  2. Píldora anticonceptiva
  3. Constructor C#
  4. Mando a distancia universal Raspberry Pi
  5. Control de llenado de piscinas
  6. Monitor de frecuencia cardíaca remoto
  7. Reutilice el control remoto por infrarrojos no deseado para apagar y reiniciar Raspberry Pi
  8. El ataque de seguridad ICS permite el control remoto de edificios
  9. Monitoreo en la nube, un sistema de control remoto
  10. 5 ventajas del control remoto de la producción
  11. Control remoto de grúa aérea:todo lo que necesita saber