Interessante e non complicato il robotche si muove dietro un oggetto di un certo colore.
Per determinare la posizione dell'oggetto, viene utilizzata una fotocamera per smartphone, montata sul telaio del robot. Puoi usare un costruttore già pronto, di cui ho già scritto qui. Ecco un elenco di ciò di cui l'autore aveva bisogno. Ad eccezione dello smartphone, il costo di questo robot era di $ 60
- Arduino Nazioni Unite
- Smartphone con sistema operativo Android
- Telaio robot
- cavi per il collegamento
- Ponte H per motori DC (autore utilizzato pololu TB6612FNG)
L'immagine mostra come si collegano TB6612FNG e Arduino Uno
Conclusioni del conducente e di cosa sono responsabili:
1) GND: collegalo ai pin GND di Arduino
2) VCC - Tensione di alimentazione della logica del driver. Collegalo al pin 5V su Arduino.
3) A01 - contatto di uscita, che è collegato al terminale positivo del motore A.
4) A02 - contatto di uscita, che è collegato al polo negativo del motore A
5) B02 - contatto di uscita, che è collegato al polo negativo del motore B.
6) B01 - contatto di uscita collegato al terminale positivo del motore B
7) VMOT - Tensione di uscita dei motori. Collegalo al polo positivo della batteria. (Per alimentare i motori)
8) GND: collegalo al terminale negativo della batteria.
9) GND: collegalo al pin GND di Arduino.
10) Pin PWMB- PWM del driver del motore per regolare la velocità del motore B. Collegalo a uno qualsiasi dei pin PWM su Arduino e specifica un valore di velocità per il motore da 0 a 255.
11 e 12) e BIN2 BIN1 - Contatti di ingresso del driver del motore per il motore B, che determinano il senso di rotazione del motore B. Collegarlo a due pin digitali Arduino.
13) STBY: collegalo a qualsiasi uscita digitale. Se installato ad alto livello, include un driver
14 e 15) AIN1 e AIN2- Pin di ingresso del driver del motore per il motore, che indicano la direzione di rotazione del motore A. Collegarlo a due pin digitali Arduino.
16) Uscita PWMA-PWM del driver del motore per la regolazione della velocità del motore A. Collegare a uno qualsiasi dei pin PWM su Arduino e specificare il valore di velocità per il motore da 0-255.
Modulo Bluetooth HC-06
Aliexpress costa circa $ 6
Come funziona tutto?
Questo progetto utilizza uno smartphone Android con una speciale applicazione che elabora le informazioni dalla telecamera per determinare dove si trova l'oggetto rosso, calcola le sue coordinate e invia i dati via Bluetooth ad Arduino.L'applicazione utilizza la libreria openCV per l'elaborazione delle immagini. Questa è una libreria di algoritmi per la visione artificiale, l'elaborazione di immagini open source. Puoi leggere a riguardo o. Di seguito è riportato un frammento di codice per questa applicazione che esegue questi calcoli. Di seguito è riportato un pezzo del codice dell'applicazione Android che esegue questi calcoli
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;
while (x <176) {
while (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) {
punti ++;
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;
Nell'archivio, lo schema di collegamento e il PCB per il robot, per coloro che non vogliono acquistare Arduino UNO
Cosa è necessario per il montaggio:
- Tutto quanto sopra menzionato, atmega 8, 128 o 328
- LED, indipendentemente dal colore
- Stabilizzatore lineare 5v (per versione senza Arduino)
- Connettori pin M e F
- PCB inciso e forato (per versione senza Arduino)
- Trapano, saldatore.
- Arduino Uno. Per coloro che non sanno quali conclusioni sono necessarie Arduino Uno, nella descrizione del file allegato.
Programma per Arduino
Il programma per Arduino è molto semplice. Il codice di archivio per questo programma.
Programma per telefono
In questo archivio, viene installato il programma per il telefono, come una normale applicazione, e il codice sorgente di questo programma. Importalo in Android Studio, raccogli il file apk e installalo sul tuo smartphone.
Questo programma utilizza il Bluetooth solo per inviare dati. La descrizione della libreria (openCV) è disponibile su Internet. L'autore ha creato un circuito stampato per atmega 328. Ricordalo se non userai una breadboard, ma distribuirai il tuo sigillo: