Intéressant et pas compliqué le robotqui se déplace derrière un objet d'une certaine couleur.
Pour déterminer la position de l'objet, une caméra de smartphone est utilisée, montée sur le châssis du robot. Vous pouvez utiliser un constructeur prêt à l'emploi, sur lequel j'ai déjà écrit ici. Voici une liste de ce dont l'auteur avait besoin. À l'exception du smartphone, le coût de ce robot était de 60 $
- Arduino Uno
- Smartphone avec Android OS
- Châssis de robot
- câbles de connexion
- Pont en H pour moteurs à courant continu (auteur utilisé pololu TB6612FNG)
L'image montre comment TB6612FNG et Arduino Uno se connectent
Conclusions du conducteur et responsabilités:
1) GND - Connectez-le aux broches GND de l'Arduino
2) VCC - Tension d'alimentation de la logique du pilote. Connectez-le à la broche 5V de l'Arduino.
3) A01 - contact de sortie, qui est connecté à la borne positive du moteur A.
4) A02 - contact de sortie, qui est connecté au pôle négatif du moteur A
5) B02 - contact de sortie, qui est connecté au pôle négatif du moteur B.
6) B01 - contact de sortie connecté à la borne positive du moteur B
7) VMOT - Tension de sortie des moteurs. Connectez-le au pôle positif de la batterie. (Pour alimenter les moteurs)
8) GND - Connectez-le à la borne négative de la batterie.
9) GND - Connectez-le à la broche GND sur l'Arduino.
10) PWMB - Broche PWM du pilote de moteur pour régler la vitesse du moteur B. Connectez-le à l'une des broches PWM de l'Arduino et spécifiez la valeur de vitesse pour le moteur de 0 à 255.
11 et 12) et BIN2 BIN1 - Contacts d'entrée du pilote de moteur pour le moteur B, qui déterminent le sens de rotation du moteur B. Connectez-le à deux broches numériques Arduino.
13) STBY - Connectez-le à n'importe quelle sortie numérique. Lorsqu'il est installé à un niveau élevé, il comprend un pilote
14 et 15) AIN1 et AIN2 - Contacts d'entrée du pilote de moteur pour le moteur, qui indiquent le sens de rotation du moteur A. Connectez-le à deux broches numériques Arduino.
16) Sortie PWMA-PWM du pilote de moteur pour régler la vitesse du moteur A. Connectez-le à l'une des broches PWM de l'Arduino et spécifiez la valeur de vitesse du moteur de 0 à 255.
Module Bluetooth HC-06
Aliexpress coûte environ 6 $
Comment ça marche?
Ce projet utilise un smartphone Android avec une application spéciale qui traite les informations de la caméra pour déterminer où se trouve l'objet rouge, calcule ses coordonnées et envoie des données via Bluetooth à l'Arduino.L'application utilise la bibliothèque openCV pour le traitement d'image. Il s'agit d'une bibliothèque d'algorithmes pour la vision par ordinateur, le traitement d'image open source. Vous pouvez lire à ce sujet ou. Voici un extrait de code pour cette application qui effectue ces calculs. Vous trouverez ci-dessous un morceau du code d'application Android qui effectue ces calculs
bitmap = 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;
tandis que (x <176) {
tandis que (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (pixel);
int blueValue = Color.blue (pixel);
int greenValue = Color.green (pixel);
if (redValue> 200 && blueValue <70 && greenValue <70) {
points ++;
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;
Dans l'archive, le schéma de connexion et la carte de circuit imprimé pour le robot, pour ceux qui ne veulent pas acheter Arduino UNO
Ce qui est nécessaire pour l'assemblage:
- Tout ce qui est mentionné plus haut, atmega 8, 128 ou 328
- LED, quelle que soit la couleur
- Stabilisateur linéaire 5v (pour version sans Arduino)
- Connecteurs à broches M et F
- PCB gravé et percé (pour version sans Arduino)
- Perceuse, fer à souder.
- Arduino Uno. Pour ceux qui ne savent pas quelles conclusions Arduino Uno sont nécessaires, dans la description du fichier joint.
Programme pour Arduino
Le programme pour Arduino est très simple. Le code d'archive de ce programme.
Programme pour téléphone
Dans cette archive, le programme pour le téléphone est installé, comme une application régulière, et le code source de ce programme. Importez-le dans Android studio, collectez le fichier apk et installez-le sur votre smartphone.
Ce programme utilise Bluetooth uniquement pour envoyer des données. La description de la bibliothèque (openCV) est disponible sur Internet. L'auteur a fait une carte de circuit imprimé pour atmega 328. N'oubliez pas ceci si vous n'utiliserez pas de planche à pain, mais distribuerez votre chevalière: