Interessant i no complicat el robotque es mou darrere d’un objecte d’un cert color.
Per determinar la posició de l'objecte, s'utilitza una càmera de telèfons intel·ligents muntada al xassís del robot. Podeu utilitzar un constructor ja preparat, sobre el qual ja he escrit aquí. Aquí teniu una llista del que l'autor necessitava. A excepció del telèfon intel·ligent, el cost d’aquest robot va ser de 60 dòlars
- Arduino Uno
- Smartphone amb sistema operatiu Android
- Xassís robot
- cables per a connexió
- Pont H per motors de corrent continu (autor pololu TB6612FNG)
La imatge mostra com es connecten TB6612FNG i Arduino Uno
Conclusions del conductor i de què són responsables:
1) GND: connecteu-lo als pins GND de l'Arduino
2) VCC - Tensió d’alimentació de la lògica del conductor. Connecteu-lo al pin 5V de l’Arduino.
3) A01 - contacte de sortida, que està connectat al terminal positiu del motor A.
4) A02 - contacte de sortida, que està connectat al pol negatiu del motor A
5) B02 - contacte de sortida, que està connectat al pol negatiu del motor B.
6) B01 - contacte de sortida que es connecta al terminal positiu del motor B
7) VMOT: Voltatge de sortida dels motors. Connecteu-lo al pol positiu de la bateria. (Potència dels motors)
8) GND: connecteu-lo al terminal negatiu de la bateria.
9) GND: connecteu-lo al passador GND de l'Arduino.
10) PWMB - PWM pin del conductor del motor per ajustar la velocitat del motor B. Connecteu-lo a qualsevol dels pins PWM de l'Arduino i especifiqueu el valor de velocitat del motor de 0-255.
11 i 12) i BIN2 BIN1 - Contactes d'entrada del conductor del motor per al motor B, que determinen el sentit de gir del motor B. Connecteu-lo a qualsevol dels dos pins digitals Arduino.
13) STBY: connecteu-lo a qualsevol sortida digital. Quan s’instal·la en un nivell alt, inclou un controlador
14 i 15) AIN1 i AIN2- Contactes d'entrada del conductor del motor per al motor, que indiquen el sentit de gir del motor A. Connecteu-lo a qualsevol dels dos pins digitals Arduino.
16) Sortida PWMA - PWM del conductor del motor per ajustar la velocitat del motor A. Connecteu-la a qualsevol dels pins PWM de l'Arduino i especifiqueu el valor de velocitat del motor de 0-255.
Mòdul Bluetooth HC-06
Aliexpress costa uns 6 dòlars
Com funciona tot?
Aquest projecte utilitza un smartphone Android amb una aplicació especial que processa informació de la càmera per determinar on es troba l’objecte vermell, calcula les seves coordenades i envia dades mitjançant Bluetooth a Arduino.L’aplicació utilitza la biblioteca openCV per al processament d’imatges. Es tracta d'una biblioteca d'algorismes per al processament d'imatges de codi obert de visió per ordinador. Podeu llegir-ne o. A continuació es mostra un fragment de codi per a aquesta aplicació que realitza aquests càlculs. A continuació, es mostra un codi del codi d’aplicació Android que realitza aquests càlculs
bitmap = Bitmap.createBitmap (mRgba.cols (), mRgba.rows (), Bitmap.Config.ARGB_8888); Utils.matToBitmap (mRgba, mapa de bits);
int x = 0;
int y = 0;
int tot_x = 0;
int tot_y = 0;
mentre que (x <176) {
while (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) {
punts ++;
all_x = all_x + x;
all_y = all_y + y;
}
y ++;
}
x ++;
y = 0;
}
y = 0;
x = 0;
x_center = tot_x / punts;
y_center = tots_y / punts;
A l'arxiu, el diagrama de connexió i la placa de circuit imprès del robot, per a aquells que no vulguin comprar Arduino UNO
Què es necessita per al muntatge:
- Tot el que s’ha esmentat anteriorment, atmega 8, 128 o 328
- LED, no importa quin color
- Estabilitzador lineal de 5 v (per a versió sense Arduino)
- Pin connectors M i F
- PCB gravat i perforat (per a versió sense Arduino)
- Perforador, soldadura.
- Arduino Uno. Per a aquells que no saben quines conclusions cal Arduino Uno, a la descripció del fitxer adjunt.
Programa per a Arduino
El programa per a Arduino és molt senzill. El codi d’arxiu d’aquest programa.
Programa per telèfon
En aquest arxiu, s’instal·la el programa per al telèfon, com una aplicació regular i el codi font d’aquest programa. Importeu-lo a l’estudi d’Android, recopileu el fitxer APK i instal·leu-lo al vostre telèfon intel·ligent.
Aquest programa utilitza Bluetooth només per enviar dades. La descripció de la biblioteca (openCV) es troba a Internet. L’autor va fer una placa de circuit imprès per a atmega 328. Recordeu-ho si no fareu servir un panell, sinó que distribuireu el vostre signet: