Interessant og ikke komplisert robotensom beveger seg bak et objekt av en viss farge.
For å bestemme plasseringen av objektet, brukes et smarttelefonkamera, montert på robotchassiset. Du kan bruke en ferdig konstruktør, som jeg allerede skrev om her. Her er en liste over hva forfatteren trengte. Med unntak av smarttelefonen var kostnadene for denne roboten $ 60
- Arduino UNO
- Smarttelefon med Android OS
- Robot chassis
- kabler for tilkobling
- H bro for likestrømsmotorer (forfatter brukt pololu TB6612FNG)
Bildet viser hvordan TB6612FNG og Arduino Uno kobles sammen
Driverens konklusjoner og hva de er ansvarlige for:
1) GND - Koble den til GND-pinnene på Arduino
2) VCC - Forsyningsspenning for driverlogikken. Koble den til 5V-pinnen på Arduino.
3) A01 - utgangskontakt, som er koblet til den positive terminalen til motor A.
4) A02 - utgangskontakt, som er koblet til den negative polen til motor A
5) B02 - utgangskontakt, som er koblet til den negative polen til motor B.
6) B01 - utgangskontakt som er koblet til den positive terminalen til motor B
7) VMOT- Utgangsspenning for motorene. Koble den til den positive polen på batteriet. (For å drive motorene)
8) GND- Koble den til den negative terminalen på batteriet.
9) GND - Koble den til GND-pinnen på Arduino.
10) PWMB- PWM-pinnen til motorføreren for å justere hastigheten på motor B. Koble den til en av PWM-pinnene på Arduino og spesifiser hastighetsverdien for motoren fra 0-255.
11 og 12) og BIN2 BIN1 - Inngangskontakter til motorens driver for motor B, som bestemmer rotasjonsretningen til motor B. Koble den til eventuelle to digitale Arduino-pinner.
13) STBY- Koble den til hvilken som helst digital utgang. Når den er installert på et høyt nivå, inkluderer den en driver
14 og 15) AIN1 og AIN2- Inngangskontakter fra motorens driver for motoren, som indikerer rotasjonsretningen til motor A. Koble den til eventuelle to Arduino digitale pinner.
16) PWMA-PWM-utgangen fra motorføreren for å justere motorhastigheten A. Koble den til en av PWM-pinnene på Arduino og spesifiser hastighetsverdien for motoren fra 0-255.
Bluetooth-modul HC-06
Aliexpress koster rundt $ 6
Hvordan fungerer det hele?
Dette prosjektet bruker en Android-smarttelefon med en spesiell applikasjon som behandler informasjon fra kameraet for å bestemme hvor den røde gjenstanden er, beregner koordinatene og sender data via Bluetooth til Arduino.Applikasjonen bruker openCV-biblioteket for bildebehandling. Dette er et bibliotek med algoritmer for datasyn, åpen kildekode bildebehandling. Du kan lese om det eller. Følgende er et kodebit for dette programmet som utfører disse beregningene. Nedenfor er et stykke av Android-applikasjonskoden som utfører disse beregningene
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;
mens (x <176) {
mens (y <144) {
int-piksel = bitmap.getPixel (x, y);
int redValue = Color.red (piksel);
int blueValue = Color.blue (piksel);
int greenValue = Color.green (piksel);
if (redValue> 200 && blueValue <70 && greenValue <70) {
poeng ++;
all_x = all_x + x;
all_y = all_y + y;
}
y ++;
}
x ++;
y = 0;
}
y = 0;
x = 0;
x_center = alle_x / poeng;
y_center = all_y / poeng;
I arkivet, tilkoblingsskjemaet og kretskortet for roboten, for de som ikke vil kjøpe Arduino UNO
Hva er nødvendig for montering:
- Alt som er nevnt over, atmega 8, 128 eller 328
- LED, uansett hvilken farge
- 5v lineær stabilisator (for versjon uten Arduino)
- Pin-kontakter M og F
- Etset og boret PCB (for versjon uten Arduino)
- Bor, loddejern.
- Arduino Uno. For de som ikke vet hvilke konklusjoner Arduino Uno er nødvendig, i den vedlagte filbeskrivelsen.
Program for Arduino
Programmet for Arduino er veldig enkelt. Arkivkoden for dette programmet.
Program for telefon
I dette arkivet er programmet for telefonen installert, som et vanlig program, og kildekoden til dette programmet. Importer det til Android studio, samle apk-filen og installer den på smarttelefonen.
Dette programmet bruker Bluetooth bare for å sende data. Bibliotekbeskrivelsen (openCV) finner du på Internett. Forfatteren laget et trykt kretskort for atmega 328. Husk dette hvis du ikke vil bruke en brødbrett, men vil distribuere signet: