Menarik dan tidak rumit robot ituyang bergerak di belakang objek warna tertentu.
Untuk menentukan posisi objek, kamera telefon pintar digunakan, dipasang pada casis robot. Anda boleh menggunakan pembina siap sedia, yang telah saya tulis di sini. Berikut ialah senarai apa yang diperlukan oleh penulis. Dengan pengecualian telefon pintar, kos robot ini ialah $ 60
- Arduino Uno
- Telefon pintar dengan OS Android
- Cakera robot
- kabel untuk sambungan
- H jambatan untuk motor DC (penulis menggunakan pololu TB6612FNG)
Gambar menunjukkan bagaimana TB6612FNG dan Arduino Uno bersambung
Kesimpulan pemandu dan apa yang mereka bertanggungjawab untuk:
1) GND - Sambungkannya ke pin GND pada Arduino
2) VCC - Bekalan voltan logik pemandu. Sambungkannya ke pin 5V pada Arduino.
3) A01 - hubungan output, yang dihubungkan dengan terminal positif motor A.
4) A02 - hubungan output, yang disambungkan kepada kutub negatif motor A
5) B02 - hubungan output, yang dihubungkan dengan tiang negatif motor B.
6) B01 - hubungan output yang disambungkan ke terminal positif motor B
7) VMOT - Output voltan motor. Sambungkannya ke tiang positif bateri. (Untuk kuasa enjin)
8) GND- Sambungkannya ke terminal negatif bateri.
9) GND- Sambungkannya ke pin GND pada Arduino.
10) PIN PWMB-PWM pemandu motor untuk menyesuaikan kelajuan motor B. Sambungkannya ke mana-mana pin PWM pada Arduino dan nyatakan nilai kelajuan motor dari 0-255.
11 dan 12) dan BIN2 BIN1 - Input input pemandu motor untuk motor B, yang menentukan arah putaran motor B. Sambungkannya ke mana-mana dua pin digital Arduino.
13) STBY- Sambungkannya kepada sebarang output digital. Apabila dipasang pada tahap yang tinggi, ia termasuk pemandu
14 dan 15) AIN1 dan AIN2- Input kenalan pemandu motor untuk motor, yang menunjukkan arah putaran motor A. Sambungkannya ke mana-mana dua pin digital Arduino.
16) output PWMA-PWM pemandu motor untuk menyesuaikan kelajuan motor A. Sambungkannya ke mana-mana pin PWM pada Arduino dan nyatakan nilai kelajuan motor dari 0-255.
Modul Bluetooth HC-06
Aliexpress berharga kira-kira $ 6
Bagaimanakah semuanya berfungsi?
Projek ini menggunakan telefon pintar Android dengan aplikasi khas yang memproses maklumat dari kamera untuk menentukan tempat objek merah, mengira koordinatnya dan menghantar data melalui Bluetooth ke Arduino.Aplikasi ini menggunakan perpustakaan openCV untuk pemprosesan imej. Ini adalah perpustakaan algoritma untuk penglihatan komputer, pemprosesan imej sumber terbuka. Anda boleh membaca tentangnya atau. Berikut adalah coretan kod untuk aplikasi ini yang melakukan pengiraan ini. Di bawah adalah sekeping kod aplikasi android yang melakukan pengiraan ini
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;
sementara (x <176) {
sementara (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (piksel);
int blueValue = Color.blue (piksel);
int greenValue = Color.green (piksel);
jika (redValue> 200 && blueValue <70 && greenValue <70) {
mata ++;
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;
Dalam arkib, gambarajah sambungan dan papan litar bercetak untuk robot, bagi mereka yang tidak mahu membeli Arduino UNO
Apa yang diperlukan untuk perhimpunan:
- Semua yang disebutkan di atas, atmega 8, 128 atau 328
- LED, tidak kira apa warna
- Penstabil linier 5v (untuk versi tanpa Arduino)
- Penyambung pin M dan F
- PCB terukir dan digerudi (untuk versi tanpa Arduino)
- Bor, besi pematerian.
- Arduino Uno. Bagi mereka yang tidak tahu apa kesimpulan Arduino Uno diperlukan, dalam keterangan fail yang dilampirkan.
Program untuk Arduino
Program untuk Arduino sangat mudah. Kod arkib untuk program ini.
Program untuk telefon
Dalam arkib ini, program untuk telefon dipasang, seperti aplikasi biasa, dan kod sumber program ini. Import ke studio Android, kumpulkan fail apk dan pasang pada telefon pintar anda.
Program ini menggunakan Bluetooth hanya untuk menghantar data. Penerangan perpustakaan (openCV) boleh didapati di Internet. Penulis membuat papan litar bercetak untuk atmega 328. Ingat ini jika anda tidak akan menggunakan papan roti, tetapi akan mengedarkan soket anda: