¿Cómo hacer un robot de limpieza de pisos usando un sensor ultrasónico?

Un robot de limpieza automática de suelos no es un concepto nuevo. Pero estos robots tienen un problema importante. Son muy caros. ¿Y si pudiéramos hacer un robot de limpieza de pisos de bajo costo que sea tan eficiente como el robot disponible en el mercado? Este Robot utilizará un sensor ultrasónico y evitará cualquier obstáculo en su camino. Al hacerlo, limpiará toda la habitación.



(Esta imagen está tomada de Circuit Digest)

¿Cómo usar un sensor ultrasónico para hacer un robot de limpieza automático de pisos?

Como ahora conocemos el resumen de nuestro proyecto. Recopilemos más información para empezar a trabajar.



Paso 1: recopilación de los componentes

El mejor enfoque para iniciar cualquier proyecto es hacer una lista de componentes completos al inicio y hacer un breve estudio de cada componente. Esto nos ayuda a evitar los inconvenientes en medio del proyecto. A continuación se proporciona una lista completa de todos los componentes utilizados en este proyecto.



  • Chasis de rueda de coche
  • Batería
  • Mostrar pincel

Paso 2: estudiar los componentes

Ahora que tenemos una lista completa de todos los componentes, avancemos un paso y estudiemos brevemente el funcionamiento de cada componente.



Arduino nano es una placa microcontroladora que se utiliza para controlar o realizar diferentes tareas en un circuito. Quemamos un Código C en Arduino Nano para decirle a la placa del microcontrolador cómo y qué operaciones realizar. Arduino Nano tiene exactamente la misma funcionalidad que Arduino Uno pero en un tamaño bastante pequeño. El microcontrolador de la placa Arduino Nano es ATmega328p.

Arduino Nano

El L298N es un circuito integrado de alta corriente y alto voltaje. Es un puente completo doble diseñado para aceptar la lógica TTL estándar. Tiene dos entradas de habilitación que permiten que el dispositivo funcione de forma independiente. Se pueden conectar y operar dos motores al mismo tiempo. La velocidad de los motores se varía mediante los pines PWM.



Controlador de motor L298N

La placa HC-SR04 es un sensor ultrasónico que se utiliza para determinar la distancia entre dos objetos. Consta de un transmisor y un receptor. El transmisor convierte la señal eléctrica en una señal ultrasónica y el receptor convierte la señal ultrasónica de nuevo en la señal eléctrica. Cuando el transmisor envía una onda ultrasónica, se refleja después de chocar con cierto objeto. La distancia se calcula utilizando el tiempo que tarda la señal ultrasónica en ir desde el transmisor y volver al receptor.

Sensor ultrasónico

Paso 3: Montaje de los componentes

Como ahora sabemos cómo funcionan todos los componentes, ensamblemos todos los componentes y comencemos a hacer un robot.

Tome un chasis de rueda de automóvil y monte un cepillo de exhibición frente a los chasis. Monte el Scotch Brite debajo del robot. Asegúrese de que esté justo detrás del cepillo para zapatos. Ahora coloque una pequeña placa de pruebas en la parte superior de los chasses y detrás de ella, coloque el controlador del motor. Realice las conexiones adecuadas de los motores al controlador del motor y conecte con cuidado los pines del controlador del motor al Arduino. Monte una batería detrás del chasis. La batería encenderá el controlador del motor que alimentará los motores. El Arduino también tomará energía del controlador del motor. El pin Vcc y la tierra del sensor ultrasónico se conectarán a los 5V y la tierra del Arduino.

Diagrama de circuito

Paso 4: Empezando con Arduino

Si aún no está familiarizado con Arduino IDE, no se preocupe porque a continuación se explica un procedimiento paso a paso para configurar y usar Arduino IDE con una placa de microcontrolador.

  1. Descargue la última versión de Arduino IDE de Arduino.
  2. Conecte su placa Arduino Nano a su computadora portátil y abra el panel de control. en el panel de control, haga clic en Hardware y sonido . Ahora haga clic en Dispositivos e impresoras. Aquí, busque el puerto al que está conectada su placa de microcontrolador. En mi caso es COM14 pero es diferente en diferentes computadoras.

    Encontrar puerto

  3. Haga clic en el menú Herramientas y configure la placa para Arduino Nano.

    Tablero de ajuste

  4. En el mismo menú de herramientas, establezca el puerto en el número de puerto que observó antes en el Dispositivos e impresoras .

    Puerto de configuración

  5. En el mismo menú de herramientas, configure el procesador ATmega328P (antiguo cargador de arranque).

    Procesador

  6. Descargue el código adjunto a continuación y péguelo en su IDE de Arduino. Clickea en el subir para grabar el código en la placa del microcontrolador.

    Subir

Hacer clic aquí para descargar el código.

Paso 5: Comprensión del código

El código está bastante bien comentado y se explica por sí mismo. Pero aún así, se explica brevemente a continuación.

1. Al principio se inicializan todos los pines de Arduino que vamos a utilizar.

int enable1pin = 8; // Pines para el primer motor int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Pines para el segundo motor int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Pines para sensor ultrasónico const int echoPin = 10; const int buzzPin = 6; Larga duración; // Variables para la distancia de flotación del sensor ultrasónico;

2. configuración vacía () es una función en la que configuramos todos los pines para que se utilicen como ENTRADA o SALIDA. La velocidad en baudios también se configura en esta función. La tasa de baudios es la velocidad a la que la placa del microcontrolador se comunica con los sensores conectados.

configuración vacía () {Serial.begin (9600); pinMode (trigPin, SALIDA); pinMode (echoPin, INPUT); pinMode (buzzPin, SALIDA); pinMode (enable1pin, SALIDA); pinMode (enable2pin, SALIDA); pinMode (motor1pin1, SALIDA); pinMode (motor1pin2, SALIDA); pinMode (motor2pin1, SALIDA); pinMode (motor2pin2, SALIDA); }

3. bucle vacío () es una función que se ejecuta continuamente en un bucle. En este bucle, le hemos dicho al microcontrolador cuándo debe avanzar si no se encuentra ningún obstáculo en 50cm. El robot dará un giro brusco a la derecha cuando se encuentre un obstáculo.

bucle vacío () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, BAJO); duración = pulseIn (echoPin, HIGH); distancia = 0.034 * (duración / 2); if (distancia> 50) // Avanzar si no se encuentra ningún obstáculo {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, ALTO); digitalWrite (motor1pin2, BAJO); digitalWrite (motor2pin1, ALTO); digitalWrite (motor2pin2, BAJO); } else if (distancia<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

Ahora, como hemos discutido todo lo que necesita para hacer un robot de limpieza de pisos automático, disfrute haciendo su propio robot de limpieza de pisos eficiente y de bajo costo.