Interesanti un nav sarežģīti robotskas pārvietojas aiz noteiktas krāsas objekta.
Objekta pozīcijas noteikšanai tiek izmantota viedtālruņa kamera, kas uzstādīta uz robota šasijas. Jūs varat izmantot gatavu konstruktoru, par kuru es jau rakstīju šeit. Šeit ir saraksts ar autoru. Izņemot viedtālruni, šī robota izmaksas bija 60 USD
- Arduino Uno
- Viedtālrunis ar Android OS
- robotu šasija
- kabeļi savienošanai
- H tilts līdzstrāvas motoriem (autors izmantoja pololu TB6612FNG)
Attēlā redzams, kā savienojas TB6612FNG un Arduino Uno
Autovadītāja secinājumi un par ko viņi ir atbildīgi:
1) GND - pievienojiet to GND tapām Arduino
2) VCC - vadītāja loģikas barošanas spriegums. Pievienojiet to Arduino 5 V spraudnim.
3) A01 - izejas kontakts, kas ir savienots ar motora A pozitīvo spaili.
4) A02 - izejas kontakts, kas ir savienots ar motora A negatīvo polu
5) B02 - izejas kontakts, kas ir savienots ar motora B negatīvo polu.
6) B01 - izejas kontakts, kas savienots ar motora B pozitīvo spaili
7) VMOT- motoru izejas spriegums. Pievienojiet to akumulatora pozitīvajam polam. (Lai darbinātu motorus)
8) GND - pievienojiet to akumulatora negatīvajam spailei.
9) GND - pievienojiet to GND tapai Arduino.
10) Motora vadītāja PWMB- PWM tapa, lai pielāgotu motora ātrumu. Pievienojiet to jebkuram PWM tapām uz Arduino un norādiet motora ātruma vērtību no 0 līdz 255.
11 un 12) un BIN2 BIN1 - motora B ieejas kontakti, kas nosaka motora B griešanās virzienu. Pievienojiet to jebkuriem diviem Arduino ciparu tapām.
13) STBY - pievienojiet to jebkurai digitālajai izvadei. Ja tas ir uzstādīts augstā līmenī, tas ietver draiveri
14 un 15) AIN1 un AIN2 - motora vadītāja ieejas kontakti, kas norāda motora griešanās virzienu. Pievienojiet to jebkuram diviem Arduino ciparu tapām.
16) Motora vadītāja PWMA-PWM izeja motora ātruma noregulēšanai A. Pievienojiet to jebkuram PWM tapām uz Arduino un norādiet motora ātruma vērtību no 0 līdz 255.
Bluetooth modulis HC-06
Aliexpress maksā apmēram 6 USD
Kā tas viss darbojas?
Šajā projektā tiek izmantots Android viedtālrunis ar īpašu lietojumprogrammu, kas apstrādā informāciju no kameras, lai noteiktu, kur atrodas sarkanais objekts, aprēķina tā koordinātas un ar Bluetooth palīdzību nosūta datus uz Arduino.Lietojumprogramma attēlu apstrādei izmanto OpenCV bibliotēku. Šī ir datoru redzēšanas, atvērtā pirmkoda attēlu apstrādes algoritmu bibliotēka. Jūs varat lasīt par to vai. Šis ir koda fragments šai lietojumprogrammai, kas veic šos aprēķinus. Zemāk ir redzams android lietojumprogrammas kods, kas veic šos aprēķinus
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;
kamēr (x <176) {
kamēr (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (pikselis);
int blueValue = Color.blue (pikselis);
int greenValue = krāsa.green (pikselis);
if (redValue> 200 && blueValue <70 && greenValue <70) {
punkti ++;
all_x = all_x + x;
all_y = all_y + y;
}
y ++;
}
x ++;
y = 0;
}
y = 0;
x = 0;
x_centrs = visi_x / punkti;
y_center = visi_y / punkti;
Arhīvā savienojuma shēma un robota PCB tiem, kas nevēlas iegādāties Arduino UNO
Kas nepieciešams montāžai:
- Viss, kas minēts iepriekš, atmega 8, 128 vai 328
- LED neatkarīgi no krāsas
- 5 V lineārais stabilizators (versijai bez Arduino)
- Tapu savienotāji M un F
- iegravēts un urbts PCB (versijai bez Arduino)
- Urbis, lodāmurs.
- Arduino Uno. Tiem, kuri nezina, kādi secinājumi ir nepieciešami Arduino Uno, pievienotajā faila aprakstā.
Programma Arduino
Arduino programma ir ļoti vienkārša. Šīs programmas arhīva kods.
Programma tālrunim
Šajā arhīvā ir instalēta tālruņa programma, tāpat kā parastajā lietojumprogrammā, un šīs programmas avota kods.Iimportējiet to Android studijā, savāciet apk failu un instalējiet viedtālrunī.
Šī programma izmanto Bluetooth tikai datu nosūtīšanai. Bibliotēkas aprakstu (openCV) var atrast internetā. Autore izgatavoja iespiedshēmas plati atmega 328. Atcerieties to, ja neizmantojat maizes dēli, bet izplatīsit savu parakstu: