Įdomu ir nėra sudėtinga robotaskuris juda už tam tikros spalvos objekto.
Objekto padėčiai nustatyti naudojama išmaniojo telefono kamera, sumontuota ant roboto važiuoklės. Galite naudoti gatavą konstruktorių, apie kurį aš jau rašiau čia. Čia yra sąrašas to, ko reikėjo autoriui. Išskyrus išmanųjį telefoną, šio roboto kaina buvo 60 USD
- Arduino Uno
- Išmanusis telefonas su „Android OS“
- Roboto važiuoklė
- jungiamieji laidai
- H tiltas nuolatinės srovės varikliams (autorius naudojo pololu TB6612FNG)
Nuotraukoje parodyta, kaip jungiasi TB6612FNG ir Arduino Uno
Vairuotojo išvados ir už ką jie atsakingi:
1) GND - prijunkite jį prie GND kaiščių Arduino
2) VCC - vairuotojo logikos maitinimo įtampa. Prijunkite jį prie „Arduino“ 5 V kaiščio.
3) A01 - išėjimo kontaktas, prijungtas prie teigiamo variklio A gnybto.
4) A02 - išėjimo kontaktas, prijungtas prie neigiamo variklio A poliaus
5) B02 - išėjimo kontaktas, prijungtas prie neigiamo variklio B poliaus.
6) B01 - išvesties kontaktas, prijungtas prie teigiamo variklio B gnybto
7) VMOT- variklių išėjimo įtampa. Prijunkite jį prie teigiamo akumuliatoriaus poliaus. (Varikliams maitinti)
8) GND - prijunkite jį prie neigiamo akumuliatoriaus gnybto.
9) GND - prijunkite jį prie GND kaiščio Arduino.
10) PWMB- PWM variklio vairuotojo kaištis, skirtas sureguliuoti variklio B greitį. Prijunkite jį prie bet kurio „Arduino“ PWM kaiščio ir nurodykite variklio greičio vertę nuo 0 iki 255.
11 ir 12) ir BIN2 BIN1 - Variklio B variklio pavaros įvesties kontaktai, kurie nustato variklio B sukimosi kryptį. Prijunkite jį prie bet kurių dviejų „Arduino“ skaitmeninių kaiščių.
13) STBY - prijunkite jį prie bet kokio skaitmeninio išvesties. Įdiegus aukštą lygį, jame yra tvarkyklė
14 ir 15) AIN1 ir AIN2- variklio variklio įvesties kontaktai, nurodantys variklio A sukimosi kryptį. Prijunkite jį prie bet kurių dviejų „Arduino“ skaitmeninių kaiščių.
16) Variklio vairuotojo PWMA-PWM išėjimas, skirtas sureguliuoti variklio greitį A. Prijunkite jį prie bet kurio Arduino PWM kaiščio ir nurodykite variklio greičio vertę nuo 0 iki 255.
„Bluetooth“ modulis HC-06
„Aliexpress“ kainuoja apie 6 USD
Kaip visa tai veikia?
Šis projektas naudoja „Android“ išmanųjį telefoną su specialia programa, kuri apdoroja informaciją iš fotoaparato, kad nustatytų, kur yra raudonas objektas, apskaičiuoja jo koordinates ir „Bluetooth“ ryšiu siunčia duomenis į Arduino.Paraiška naudoja „openCV“ biblioteką vaizdų apdorojimui. Tai kompiuterinio matymo, atvirojo kodo vaizdų apdorojimo algoritmų biblioteka. Galite perskaityti apie tai arba. Toliau pateiktas šios programos, atliekančios šiuos skaičiavimus, kodo fragmentas. Žemiau yra „Android“ programos kodo dalis, atliekanti šiuos skaičiavimus
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;
o (x <176) {
o (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Spalva.red (pikselis);
int blueValue = Spalva mėlyna (pikselis);
int greenValue = Spalva.green (pikselių);
if (redValue> 200 && blueValue <70 && greenValue <70) {
taškai ++;
all_x = visi_x + x;
all_y = all_y + y;
}
y ++;
}
x ++;
y = 0;
}
y = 0;
x = 0;
x_center = visi_x / taškai;
y_center = visi_y / taškai;
Archyve, prijungimo schema ir spausdinta plokštė robotui, nenorintiems pirkti Arduino UNO
Ko reikia surinkimui:
- Visa tai, kas paminėta aukščiau, „Atmega 8“, 128 ar 328
- Šviesos diodas, nesvarbu, kokia spalva
- 5 V linijinis stabilizatorius (versijai be „Arduino“)
- M ir F kaiščių jungtys
- išgraviruotas ir išgręžtas PCB (versijai be „Arduino“)
- Gręžtuvas, lituoklis.
- Arduino Uno. Tiems, kurie nežino, kokių išvadų reikia Arduino Uno, pridedamame failo aprašyme.
Programa „Arduino“
Programa „Arduino“ yra labai paprasta. Šios programos archyvo kodas.
Programa telefonui
Šiame archyve yra įdiegta telefono programa, kaip ir įprastoje programoje, ir šios programos šaltinis. Importuokite ją į „Android“ studiją, surinkite „apk“ failą ir įdiekite į savo išmanųjį telefoną.
Ši programa naudoja „Bluetooth“ tik duomenims siųsti. Bibliotekos aprašymą (openCV) galima rasti internete. Autorius pagamino spausdintą plokštę, skirtą „atmega 328“. Prisiminkite tai, jei nenaudosite lentos, o išplatinsite savo užrašą: