roboter_mit_android_steuern
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
roboter_mit_android_steuern [2024/01/26 13:05] – angelegt torsten.roehl | roboter_mit_android_steuern [2024/01/26 13:22] (aktuell) – [Inbetriebnahme des Clients (Mr. Robot)] torsten.roehl | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Roboter mit Android steuern | ====== Roboter mit Android steuern | ||
+ | ---- | ||
+ | {{: | ||
// Mit Android (Wireless) Roboter steuern macht Spaß und ist ausgesprochen lehrreich. Tatsächlich ist dieses Projekt eher etwas für den " | // Mit Android (Wireless) Roboter steuern macht Spaß und ist ausgesprochen lehrreich. Tatsächlich ist dieses Projekt eher etwas für den " | ||
+ | {{ : | ||
Dennoch, wer lediglich die Android App //" | Dennoch, wer lediglich die Android App //" | ||
+ | |||
+ | ==== Worum geht es ? ==== | ||
+ | {{ : | ||
+ | |||
+ | **Prinzip** | ||
+ | |||
+ | * Ein mit Servomotoren gesteuerter Roboterarm wird an einen Adafruit Servo Controller angeschlossen. | ||
+ | * Über einen IO-Warrior wird der Servo Controller angesteuert.Der IO-Warrior ist mit einem Linux Computer verbunden. Auf diesem läuft ein Java-Programm, | ||
+ | * Anschließend kann mit einem Android Gerät (via WLAN) der Roboterarm gesteuert werden. | ||
+ | |||
+ | ==== Themenbereiche==== | ||
+ | Einige der Themenbereiche sind bereits kleine Projekte für sich, z.B. wurde der Roboterarm fotografiert und in der 3D-Modellierungssoftware Blender modelliert. Anschließend wurden die Daten exportiert und mit einem kleinen " | ||
+ | |||
+ | Wem das zu kompliziert ist, kann aber die 3D-Programmierung komplett auslassen. | ||
+ | |||
+ | Anschließend noch eine Liste mit Themenbereichen die in diesem Projekt behandelt werden: | ||
+ | * Android Programmierung | ||
+ | * OpenGL Programmierung unter Android | ||
+ | * 3D Modellierung mit Blender | ||
+ | * Die von Blender erzeugten 3D-Daten werden mit einem kleinen Java Programm in ein für Android lesbares Format exportiert. | ||
+ | * Netzwerkprogrammierung | ||
+ | * Client ↔ Server, Socket Programmierung | ||
+ | * IO-Warrior | ||
+ | * Verwenden der IIC-Schnittstelle zum Ansteuern eines 16 Kanal Adafruit-Servo-Controller | ||
+ | |||
+ | ==== Benötigte Hardware ==== | ||
+ | * Standard Servomotor (1 bis 6 Stück ) | ||
+ | * Netzgerät zur Stromversorgung der Servomotoren (5-6 Volt, 1-2 Ampere) | ||
+ | |||
+ | * PCA9685 Adafruit Servo Controller | ||
+ | * IO-Warrior24 (einfach geht es mit dem Gandalf-Board | ||
+ | * Linux PC um den IO-Warrior24 mit der Serversoftware zu betreiben (es geht auch ein Raspberry-Pi). | ||
+ | * Android Gerät (ab 4.2) um die Motoren zu steuern. | ||
+ | |||
+ | FIXME Aufbau der Hardware | ||
+ | |||
+ | |||
+ | ==== Inbetriebnahme des Servers==== | ||
+ | |||
+ | |||
+ | * getestet wurde ein 32Bit-System | ||
+ | Der Server '' | ||
+ | |||
+ | Deshalb wird ein Aufruf mit : | ||
+ | |||
+ | < | ||
+ | |||
+ | nicht funktionieren, | ||
+ | |||
+ | Unter Linux kann man z.B. die Umgebungsvariable (Envirenmentvariable) '' | ||
+ | |||
+ | Das macht man mit ''" | ||
+ | |||
+ | |{{ : | ||
+ | | Abb. 1 | | ||
+ | |||
+ | In diesem Beispiel liegt sowohl das Programm " | ||
+ | |||
+ | |||
+ | Der Server muss zuerst gestartet werden, anschließend kann eine Verbindung zum Client (AndroidApp) hergestellt werden. Dabei müssen sich der Server und der Client im gleichen Netzwerk befinden. | ||
+ | |||
+ | |||
+ | ==== Inbetriebnahme des Clients (Mr. Robot) ==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Der Client ist unter Android (ab 4.2) schnell installiert. Auch ohne Hardware (bzw. Server) lässt sich die //App// bedienen. | ||
+ | |||
+ | Allerdings macht es erst mit angeschlossener Hardware richtig Spaß! | ||
+ | |||
+ | Die zu installierende Anwendung lautet: '' | ||
+ | |||
+ | (einfacher geht es im Playstore //" | ||
+ | |||
+ | === Konfiguration=== | ||
+ | |{{ : | ||
+ | |Um "Mr. Robot" mit einen angeschlossenen Roboterarm zu verbinden muss der Menüpunkt " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{ : | ||
+ | |Die Adresse des Servers und ein freier Port (z.B. 4444 oder 5555 ) muss eingegeben werden. Die Server-IP gibt die Linux-Rechner, | ||
+ | |||
+ | |||
+ | |||
+ | === Quellcode === | ||
+ | FIXME Quellcode zur Verfügung stellen | ||
+ |
roboter_mit_android_steuern.1706274328.txt.gz · Zuletzt geändert: 2024/01/26 13:05 von torsten.roehl