Ciekawe i nieskomplikowane robotporusza się za obiektem określonego koloru.
Aby określić pozycję obiektu, używana jest kamera smartfona, zamontowana na ramie robota. Możesz użyć gotowego konstruktora, o którym już pisałem tutaj. Oto lista potrzebnych autorom. Z wyjątkiem smartfona koszt tego robota wyniósł 60 USD
- Arduino Nie
- Smartfon z systemem operacyjnym Android
- Podwozie robota
- kable do podłączenia
- Mostek H do silników prądu stałego (autor użył pololu TB6612FNG)
Zdjęcie pokazuje, jak łączą się TB6612FNG i Arduino Uno
Wnioski kierowcy i za co są odpowiedzialni:
1) GND - Podłącz go do styków GND w Arduino
2) VCC - napięcie zasilania logiki sterownika. Podłącz go do styku 5 V w Arduino.
3) A01 - styk wyjściowy, który jest podłączony do dodatniego zacisku silnika A.
4) A02 - styk wyjściowy, który jest podłączony do bieguna ujemnego silnika A
5) B02 - styk wyjściowy, który jest podłączony do bieguna ujemnego silnika B.
6) B01 - styk wyjściowy podłączony do dodatniego zacisku silnika B
7) VMOT - napięcie wyjściowe silników. Podłącz go do dodatniego bieguna akumulatora. (Aby zasilać silniki)
8) GND - Podłącz go do ujemnego bieguna akumulatora.
9) GND - Podłącz go do styku GND w Arduino.
10) Styk PWMB-PWM sterownika silnika do regulacji prędkości silnika B. Podłącz go do dowolnego styku PWM w Arduino i określ wartość prędkości dla silnika od 0-255.
11 i 12) oraz BIN2 BIN1 - Styki wejściowe sterownika silnika dla silnika B, które określają kierunek obrotów silnika B. Podłącz go do dowolnych dwóch pinów cyfrowych Arduino.
13) STBY - Podłącz go do dowolnego wyjścia cyfrowego. W przypadku instalacji na wysokim poziomie zawiera sterownik
14 i 15) AIN1 i AIN2 - Styki wejściowe sterownika silnika dla silnika, które wskazują kierunek obrotów silnika A. Podłącz go do dowolnych dwóch pinów cyfrowych Arduino.
16) Wyjście PWMA-PWM sterownika silnika do regulacji prędkości silnika A. Podłącz go do dowolnego z pinów PWM w Arduino i określ wartość prędkości dla silnika od 0-255.
Moduł Bluetooth HC-06
Aliexpress kosztuje około 6 USD
Jak to wszystko działa?
Ten projekt wykorzystuje smartfon z Androidem i specjalną aplikację, która przetwarza informacje z kamery, aby ustalić, gdzie znajduje się czerwony obiekt, oblicza jego współrzędne i przesyła dane przez Arduino przez Bluetooth.Aplikacja korzysta z biblioteki openCV do przetwarzania obrazów. Jest to biblioteka algorytmów do wizji komputerowej, przetwarzania obrazów typu open source. Możesz o tym przeczytać lub. Poniżej znajduje się fragment kodu dla tej aplikacji, która wykonuje te obliczenia. Poniżej znajduje się fragment kodu aplikacji na Androida, który wykonuje te obliczenia
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;
podczas gdy (x <176) {
podczas gdy (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (pixel);
int blueValue = Color.blue (piksel);
int greenValue = Color.green (piksel);
if (redValue> 200 && blueValue <70 && greenValue <70) {
punkty ++;
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;
W archiwum schemat połączeń i płytka drukowana robota dla tych, którzy nie chcą kupować Arduino UNO
Co jest potrzebne do montażu:
- Wszystko, co wspomniano powyżej, atmega 8, 128 lub 328
- LED, bez względu na kolor
- Stabilizator liniowy 5 V (dla wersji bez Arduino)
- Złącza wtykowe M i F.
- Wytrawiona i wywiercona płytka drukowana (dla wersji bez Arduino)
- Wiertło, lutownica.
- Arduino Uno. Dla tych, którzy nie wiedzą, jakie wnioski są potrzebne Arduino Uno, w załączonym opisie pliku.
Program dla Arduino
Program dla Arduino jest bardzo prosty. Kod archiwum dla tego programu.
Program na telefon
W tym archiwum jest zainstalowany program dla telefonu, podobnie jak zwykła aplikacja i kod źródłowy tego programu. Zaimportuj go do studia Android, zbierz plik apk i zainstaluj go na smartfonie.
Ten program używa Bluetooth tylko do wysyłania danych. Opis biblioteki (openCV) można znaleźć w Internecie. Autor stworzył płytkę drukowaną dla atmega 328. Pamiętaj o tym, jeśli nie użyjesz płyty pilśniowej, ale rozprowadzisz swój sygnet: