Interessant und nicht kompliziert der Roboterdas bewegt sich hinter einem Objekt einer bestimmten Farbe.
Zur Bestimmung der Position des Objekts wird eine Smartphone-Kamera verwendet, die am Robotergehäuse montiert ist. Sie können einen vorgefertigten Konstruktor verwenden, über den ich bereits geschrieben habe hier. Hier ist eine Liste der Bedürfnisse des Autors. Mit Ausnahme des Smartphones betrugen die Kosten für diesen Roboter 60 US-Dollar
- Arduino Uno
- Smartphone mit Android OS
- Roboterchassis
- Kabel zum Anschluss
- H-Brücke für Gleichstrommotoren (Autor verwendet pololu TB6612FNG)
Das Bild zeigt, wie TB6612FNG und Arduino Uno verbunden werden
Schlussfolgerungen des Fahrers und wofür sie verantwortlich sind:
1) GND - Verbinden Sie es mit den GND-Pins am Arduino
2) VCC - Versorgungsspannung der Treiberlogik. Verbinden Sie es mit dem 5V-Pin am Arduino.
3) A01 - Ausgangskontakt, der mit dem Pluspol von Motor A verbunden ist.
4) A02 - Ausgangskontakt, der mit dem Minuspol von Motor A verbunden ist
5) B02 - Ausgangskontakt, der mit dem Minuspol von Motor B verbunden ist.
6) B01 - Ausgangskontakt, der mit dem Pluspol von Motor B verbunden ist
7) VMOT- Ausgangsspannung der Motoren. Schließen Sie es an den Pluspol der Batterie an. (Um die Motoren anzutreiben)
8) GND- Schließen Sie es an den Minuspol der Batterie an.
9) GND- Verbinden Sie es mit dem GND-Pin am Arduino.
10) PWMB - PWM-Pin des Motortreibers zum Einstellen der Drehzahl von Motor B. Verbinden Sie ihn mit einem der PWM-Pins am Arduino und geben Sie den Drehzahlwert für den Motor von 0 bis 255 an.
11 und 12) und BIN2 BIN1 - Eingangskontakte des Motortreibers für Motor B, die die Drehrichtung von Motor B bestimmen. Schließen Sie ihn an zwei beliebige digitale Arduino-Pins an.
13) STBY- Schließen Sie es an einen beliebigen digitalen Ausgang an. Bei der Installation auf hoher Ebene ist ein Treiber enthalten
14 und 15) AIN1 und AIN2 - Eingangskontakte des Motortreibers für den Motor, die die Drehrichtung von Motor A anzeigen. Schließen Sie ihn an zwei beliebige digitale Arduino-Pins an.
16) PWMA-PWM-Ausgang des Motortreibers zum Einstellen der Motordrehzahl A. Schließen Sie ihn an einen der PWM-Pins am Arduino an und geben Sie den Drehzahlwert für den Motor von 0 bis 255 an.
Bluetooth-Modul HC-06
Aliexpress kostet etwa 6 US-Dollar
Wie funktioniert das alles?
Dieses Projekt verwendet ein Android-Smartphone mit einer speziellen Anwendung, die Informationen von der Kamera verarbeitet, um festzustellen, wo sich das rote Objekt befindet, und seine Koordinaten berechnet und sendet Daten über Bluetooth an das Arduino.Die Anwendung verwendet die openCV-Bibliothek für die Bildverarbeitung. Dies ist eine Bibliothek von Algorithmen für Computer Vision und Open Source-Bildverarbeitung. Sie können darüber lesen oder. Das Folgende ist ein Codeausschnitt für diese Anwendung, die diese Berechnungen ausführt. Unten finden Sie einen Teil des Android-Anwendungscodes, der diese Berechnungen durchführt
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;
während (x <176) {
während (y <144) {
int pixel = bitmap.getPixel (x, y);
int redValue = Color.red (Pixel);
int blueValue = Color.blue (Pixel);
int greenValue = Color.green (Pixel);
if (redValue> 200 && blueValue <70 && greenValue <70) {
Punkte ++;
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;
Im Archiv das Anschlussdiagramm und die Platine für den Roboter, für diejenigen, die Arduino UNO nicht kaufen möchten
Was wird für die Montage benötigt:
- Alles was oben erwähnt wurde, atmega 8, 128 oder 328
- LED, egal welche Farbe
- 5V Linearstabilisator (für Version ohne Arduino)
- Steckverbinder M und F.
- Geätzte und gebohrte Leiterplatte (für Version ohne Arduino)
- Bohren, Lötkolben.
- Arduino Uno. Für diejenigen, die nicht wissen, welche Schlussfolgerungen Arduino Uno benötigt werden, finden Sie in der beigefügten Dateibeschreibung.
Programm für Arduino
Das Programm für Arduino ist sehr einfach. Der Archivcode für dieses Programm.
Programm für Telefon
In diesem Archiv wird das Programm für das Telefon wie eine normale Anwendung und der Quellcode dieses Programms installiert. Importieren Sie es in Android Studio, sammeln Sie die APK-Datei und installieren Sie es auf Ihrem Smartphone.
Dieses Programm verwendet Bluetooth nur zum Senden von Daten. Die Bibliotheksbeschreibung (openCV) finden Sie im Internet. Der Autor hat eine Leiterplatte für atmega 328 hergestellt. Denken Sie daran, wenn Sie kein Steckbrett verwenden, sondern Ihr Siegel verteilen: