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

Robot para evitar obstáculos controlado por Bluetooth

Componentes y suministros

Arduino Nano R3
× 1
Controladores de motor SparkFun Dual H-Bridge L298
× 1
Sensor ultrasónico - HC-SR04 (genérico)
× 1
Módulo Bluetooth HC-05
× 1
Ánodo común difuso RGB
× 1
SparkFun Logic Level Converter - Bidireccional
× 1
Resistencia de 330 ohmios
× 1
Breadboard (genérico)
× 1
SparkFun Breadboard Power Supply Stick 5V / 3.3V
× 1
Motor de CC, 12 V
× 2
Cables de puente macho / hembra
× 1

Aplicaciones y servicios en línea

Arduino IDE
Arduino BlueControl
Disponible en Playstore.

Acerca de este proyecto

El proyecto utiliza un teléfono móvil para comunicarse con un robot a través de bluetooth. Siempre quise construir un robot y controlarlo a través del teléfono móvil. Después de un largo período de más de 12 años, asumí la tarea de construir un robot y operarlo. Este es también mi primer proyecto en Arduino Project Hub. La electrónica y la robótica es uno de mis pasatiempos favoritos y, por lo tanto, tomé la tarea de construir el robot en este tiempo de bloqueo debido a Covid19.

El robot detecta las señales de bluetooth transmitidas desde el teléfono móvil. Utiliza el módulo bluetooth HC-05 para detectar las señales de comando del teléfono móvil y controla el robot. Usé la aplicación ArduinoBlueControl para controlar el robot.

El corazón del robot es el Arduino Nano. Recibe las señales del módulo HC-05 a través de la comunicación en serie y controla los motores a través del módulo controlador de motor L298N para el movimiento en las direcciones de avance, retroceso, izquierda y derecha.

Se debe tener cuidado de conectar los pines TX y RX del módulo HC-05 con el Arduino Nano. Se utiliza un convertidor de nivel lógico para lo mismo.

El robot utiliza el módulo de sensor ultrasónico HC SR-04 para detectar obstáculos en su camino. Al detectar cualquier obstáculo durante su movimiento de avance, el robot se detiene. Se utiliza un LED RGB para mostrar el estado del robot.

El robot está montado en una base de 2 ruedas que consta de dos motores de accionamiento con engranajes. El circuito se ensambla sobre una placa con fuente de alimentación (3.3v y 5v). El Arduino Nano no puede accionar los motores directamente debido a un requisito de corriente mucho mayor para los motores. Por lo tanto, el módulo de controlador de motor L298N se utiliza para impulsar los motores. Las señales PWM del Arduino Nano se utilizan para controlar la velocidad de los motores a través de los pines ENA y ENB del módulo del controlador del motor L298N.

Aquí hay un breve video del robot en funcionamiento:

Espero que les haya gustado mi robot para evitar obstáculos controlado por bluetooth. Este robot se puede modificar y ampliar para usos en domótica, vehículos para evitar obstáculos para el taller, etc. y muchos más usos.

Código

  • Código Robot_Arduino controlado por Bluetooth.
Código Robot_Arduino controlado por Bluetooth. C / C ++
 / * Robot para evitar obstáculos controlado por Bluetooth Preparado por:Alok Talukdar Fecha:09.05.2020 * / # include  // Para usar cualquier pin en Arduino para comunicación serial.// Defina los pines digitales para el motor L298 # definir IN1 5 // para motor derecho # definir IN2 4 // para motor derecho # definir IN3 3 // para motor izquierdo # definir IN4 2 // para motor izquierdo # definir ENA 9 // Habilitar A para control PWM del motor derecho # definir ENB 10 // Habilitar B para control PWM del motor izquierdo // Definir los pines digitales para control LED RGB # definir LED rojo 8 # definir LED verde A0 # definir LED azul 11 ​​// Configurar el módulo sensor ultrasónico HC-SR04const int trigPin =6; // Pin TRIG conectado al pin D6 de Arduino Nanoconst int echoPin =7; // Pin ECHO conectado al pin D7 de Arduino Nanoint i, j, k =0; duración flotante, distancia; // variables para la medición de distancias // Configurar el módulo Bluetooth HC05SoftwareSerial mySerial (12,13); // (12 -> RX, 13 -> TX) Datos de cadena; // variables para el control de Bluetooth en btVal; void setup () {// ponga su código de configuración aquí, para que se ejecute una vez:pinMode (trigPin, OUTPUT); // Configurar el pin D6 para transmitir pulsos ultrasónicos pinMode (echoPin, INPUT); // Configure el pin D7 para recibir pulsos ultrasónicos mySerial.begin (9600); // Configure el software en serie a la velocidad de transmisión 9600 pinMode (IN1, OUTPUT); // Configurar IN1 - IN4 como OUTPUT para controlar motores pinMode (IN2, OUTPUT); pinMode (IN3, SALIDA); pinMode (IN4, SALIDA); pinMode (ENA, SALIDA); pinMode (ENB, SALIDA); pinMode (LED rojo, SALIDA); pinMode (blueLED, SALIDA); pinMode (LED verde, SALIDA); escritura digital (IN1, BAJA); // Configure el estado de IN1 - IN4 como LOW digitalWrite (IN2, LOW); escritura digital (IN3, BAJA); escritura digital (IN4, BAJA); analogWrite (LED rojo, 255); // Apague los LED. El LED RGB es un tipo de ánodo común. digitalWrite (blueLED, HIGH); digitalWrite (greenLED, HIGH);} void loop () {// ponga su código principal aquí, para que se ejecute repetidamente:while (mySerial.available ()) {data =mySerial.readStringUntil ('\ n'); } btVal =(data.toInt ()); switch (btVal) {caso 1:adelante (); digitalWrite (LED verde, BAJO); analogWrite (LED rojo, 255); digitalWrite (blueLED, HIGH); dist (); descanso; caso 2:reverso (); escritura digital (LED verde, ALTA); analogWrite (LED rojo, 255); digitalWrite (blueLED, LOW); descanso; caso 3:izquierda (); descanso; caso 4:derecha (); descanso; caso 5:stoprobot (); escritura digital (LED verde, ALTA); analogWrite (LED rojo, 0); digitalWrite (blueLED, HIGH); descanso; predeterminado:digitalWrite (greenLED, HIGH); analogWrite (LED rojo, 255); digitalWrite (blueLED, HIGH); descanso; } if (mySerial.available () <0) {//Serial.println("No Bluetooth Data "); }} // declaraciones de función de control del motor void forward () {for (i =0; i <=100; i ++) {analogWrite (ENA, i); analogWrite (ENB, i); escritura digital (IN1, ALTA); escritura digital (IN2, BAJA); escritura digital (IN3, BAJA); escritura digital (IN4, ALTA); }} anular reverse () {para (j =0; j <=100; j ++) {analogWrite (ENA, j); analogWrite (ENB, j); escritura digital (IN1, BAJA); escritura digital (IN2, ALTA); escritura digital (IN3, ALTA); escritura digital (IN4, BAJA); }} void left () {analogWrite (ENA, 127); analogWrite (ENB, 0); escritura digital (IN1, ALTA); escritura digital (IN2, BAJA); escritura digital (IN3, ALTA); escritura digital (IN4, ALTA); } void right () {analogWrite (ENA, 0); analogWrite (ENB, 127); escritura digital (IN1, ALTA); escritura digital (IN2, ALTA); escritura digital (IN3, BAJA); escritura digital (IN4, ALTA); } stoprobot vacío () {analogWrite (ENA, 0); analogWrite (ENB, 0); escritura digital (IN1, BAJA); escritura digital (IN2, BAJA); escritura digital (IN3, BAJA); escritura digital (IN4, BAJA); } void dist () {digitalWrite (trigPin, LOW); // para enviar un pulso a través del pin TRIG de HC-SR04 delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, BAJO); duración =pulseIn (echoPin, HIGH); // leer la duración del pulso distancia =(duración * 0.0343) / 2; // mide la distancia en cms. La velocidad del sonido es 340 m / so 0.0343 cm / us si (distancia <20) // si la distancia es <20 cms, STOP robot {stoprobot (); escritura digital (LED verde, ALTA); analogWrite (LED rojo, 0); digitalWrite (blueLED, HIGH); } retraso (1000); } 

Esquemas

Diagrama de circuito del robot.

Proceso de manufactura

  1. Un robot móvil con evitación de obstáculos basada en la visión
  2. Robot Raspberry Pi controlado por Bluetooth
  3. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  4. Robot controlado por gestos con Raspberry Pi
  5. ROBOT WIFI DE FRAMBUESA PI CONTROLADO DESDE EL TELÉFONO INTELIGENTE DE ANDROID
  6. Windows 10 IoT Core:Robot controlado por voz
  7. Robot controlado por Wifi usando Raspberry Pi
  8. ROObockey:Robot de hockey callejero asistido por objetivo y controlado a distancia
  9. Evitación de obstáculos utilizando inteligencia artificial
  10. Robot controlado por voz
  11. Brazo robótico controlado a través de Ethernet