Interesante y no complicado el robotque se mueve detrás de un objeto de cierto color.
Para determinar la posición del objeto, se utiliza una cámara de teléfono inteligente, montada en el chasis del robot. Puedes usar un constructor listo, sobre el cual ya escribí aqui. Aquí hay una lista de lo que el autor necesitaba. Con la excepción del teléfono inteligente, el costo de este robot fue de $ 60
- Arduino Uno
- Smartphone con sistema operativo Android
- Chasis de robot
- cables para conexión
- Puente H para motores DC (el autor usó pololu TB6612FNG)
La imagen muestra cómo TB6612FNG y Arduino Uno se conectan
Conclusiones de los conductores y de qué son responsables:
1) GND: conéctelo a los pines GND del Arduino
2) VCC - Tensión de alimentación de la lógica del controlador. Conéctelo al pin de 5V en el Arduino.
3) A01 - contacto de salida, que está conectado al terminal positivo del motor A.
4) A02 - contacto de salida, que está conectado al polo negativo del motor A
5) B02 - contacto de salida, que está conectado al polo negativo del motor B.
6) B01 - contacto de salida que está conectado al terminal positivo del motor B
7) VMOT- Voltaje de salida de los motores. Conéctelo al polo positivo de la batería. (Para alimentar los motores)
8) GND: conéctelo al terminal negativo de la batería.
9) GND: conéctelo al pin GND del Arduino.
10) PWMB- PWM pin del controlador del motor para ajustar la velocidad del motor B. Conéctelo a cualquiera de los pines PWM en el Arduino y especifique un valor de velocidad para el motor de 0-255.
11 y 12) y BIN2 BIN1: contactos de entrada del controlador del motor para el motor B, que determinan el sentido de rotación del motor B. Conéctelo a dos pines digitales Arduino.
13) STBY: conéctelo a cualquier salida digital. Cuando se instala en un nivel alto, incluye un controlador
14 y 15) AIN1 y AIN2- Contactos de entrada del controlador del motor para el motor, que indican la dirección de rotación del motor A. Conéctelo a dos pines digitales Arduino.
16) Salida PWMA- PWM del controlador del motor para ajustar la velocidad del motor A. Conéctelo a cualquiera de los pines PWM del Arduino y especifique el valor de velocidad para el motor de 0-255.
Módulo Bluetooth HC-06
Aliexpress cuesta alrededor de $ 6
¿Cómo funciona todo?
Este proyecto utiliza un teléfono inteligente Android con una aplicación especial que procesa la información de la cámara para determinar dónde está el objeto rojo, calcula sus coordenadas y envía datos por Bluetooth al Arduino.La aplicación utiliza la biblioteca openCV para el procesamiento de imágenes. Esta es una biblioteca de algoritmos para visión por computadora, procesamiento de imágenes de código abierto. Puedes leer al respecto o. El siguiente es un fragmento de código para esta aplicación que realiza estos cálculos. A continuación se muestra una parte del código de la aplicación de Android que realiza estos cálculos.
mapa de bits = Bitmap.createBitmap (mRgba.cols (), mRgba.rows (), Bitmap.Config.ARGB_8888); Utils.matToBitmap (mRgba, bitmap);
int x = 0;
int y = 0;
int all_x = 0;
int all_y = 0;
mientras que (x <176) {
mientras que (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (píxel);
int blueValue = Color.blue (píxel);
int greenValue = Color.green (píxel);
if (redValue> 200 && blueValue <70 && greenValue <70) {
puntos ++;
all_x = all_x + x;
all_y = all_y + y;
}
y ++;
}
x ++;
y = 0;
}
y = 0;
x = 0;
x_center = all_x / points;
y_center = all_y / points;
En el archivo, el diagrama de conexión y la placa de circuito impreso para el robot, para aquellos que no quieren comprar Arduino UNO
Lo que se necesita para el montaje:
- Todo lo mencionado anteriormente, atmega 8, 128 o 328
- LED, no importa de qué color
- Estabilizador lineal de 5v (para versión sin Arduino)
- Conectores pin M y F
- Placa de circuito impreso grabada y perforada (para la versión sin Arduino)
- Taladro, soldador.
- Arduino Uno. Para aquellos que no saben qué conclusiones se necesitan Arduino Uno, en la descripción del archivo adjunto.
Programa para Arduino
El programa para Arduino es muy simple. El código de archivo para este programa.
Programa para telefono
En este archivo, se instala el programa para el teléfono, como una aplicación normal, y el código fuente de este programa. Importarlo a Android Studio, recopilar el archivo apk e instalarlo en su teléfono inteligente.
Este programa usa Bluetooth solo para enviar datos. La descripción de la biblioteca (openCV) se puede encontrar en Internet. El autor hizo una placa de circuito impreso para atmega 328. Recuerde esto si no usará una placa de prueba, pero distribuirá su sello: