Benutzer-Werkzeuge

Webseiten-Werkzeuge


aldebaran_a

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
aldebaran_a [2023/01/30 11:12] – [Setup] torsten.roehlaldebaran_a [2023/04/26 11:14] (aktuell) torsten.roehl
Zeile 4: Zeile 4:
 |{{:hexapode_02.jpg?200|}}| |{{:hexapode_02.jpg?200|}}|
 |BH3-R Hexapode von Lynxmotion mit SSC-32 Controller. | |BH3-R Hexapode von Lynxmotion mit SSC-32 Controller. |
- 
  
 =====Übersicht===== =====Übersicht=====
Zeile 160: Zeile 159:
 </code> </code>
 ==TEST: SerialExample== ==TEST: SerialExample==
-==Java API für den Hexapoden (WIP)== +Wir übersetzen das SerialExample 
-==Java API=+ 
-==Tutorial== +<code>sudo javac -classpath .:classes:/opt/pi4j/lib/'*' -d . SerialExample.java</code> 
-==Quellen==+ 
 +Wir testen, ob das Beispiel SerialExample gestartet werden kann (da wir nichts angeschlossen haben, sollte das Programm nach dem Start wieder beendet werden). 
 + 
 +<code>sudo java -classpath .:classes:/opt/pi4j/lib/* SerialExample</code> 
 + 
 +==Java API für den Hexapoden == 
 + 
 +<code>
 +// NFO Java Carriage Return java \r  
 +Serial gui cutecom (sudo apt-get install cutecom) //INFO 
 + </code> 
 + 
 +Tutorial : http://fablab-wiki.fsg-preetz.de/index.php?title=Hexapod_Api_Tutorials  
 +Quellen 
 + 
 +Source code : https://github.com/Creepler13/Hexapode-Lynxmotion-Roboter-Java-Api 
 + 
 +JavaDoc : https://creepler13.github.io/Hexapode-Lynxmotion-Roboter-Java-Api/ 
 + 
 +(Api by Lukas.D und Denis.S)  
 ====Ansprechen des Hexapoden ohne API==== ====Ansprechen des Hexapoden ohne API====
 +Es ist natürlich auch möglich den Hexapoden ohne die kleine Java API anzusprechen. Hierbei ist es aber wichtig die Funktionsweise des Lynxmotion SSC­32U Servo Controllers zu verstehen. Hierzu können sie sich den [[https://fablab-wiki.fsg-preetz.de/images/8/86/Lynxmotion_ssc-32u_user_guide.pdf  | User Guide]] durchlesen. Um den Servo Controller und damit die Motoren anzusprechen, muss über die Serielle Schnittstelle ein Befehl gesendet werden mit folgendem Aufbau:
 +
 +<code># <ch> P <pos> S <sg> T <zeit> <cr></code>
 +
 +  * <ch> Pin/Kanal von 1 bis 31
 +  * <pos> Position zu der der Servo sich bewegen soll
 +  * <sg> Servo geschwindigkeit in Microsekunden pro Sekunde (1000≈90°/s)
 +  * <zeit> Zeit in Millisekunden um zum neuen Ort zu gelangen.
 +  * <cr> carriage return (ASCII 13)
 +
 +
 +Ein Beispiel für einen Befehl wäre zum Beispiel:
 +
 +<code>#3 P1600 T1000 <cr></code>
 +
 +Hier wird der Servo 3 in einer Sekunde zur Position 1600 bewegt. Es ist aber auch möglich mehrere Motoren gleichzeitig zu bewegen:
 +
 +<code>#5 P1600 #10 P750 T2500 <cr></code>
 +
 +Hier wird der Servo 5 zu Position 1600 bewegt und der Servo 10 zu Position 750. Beide haben für diese Bewegung 2,5 sekunden zeit.
 +
 +
 +Um dies in PI4J umzusetzten muss erst einmal die Serielle Schnittstelle wie im Serial Example eröffnet werden. Danach können die Befehle einfach per
 +
 +<code>Serial.write("<befehl>");</code>
 +
 +gesendet werden. 
 +
 ====Programm ausführen==== ====Programm ausführen====
 +Wenn sie ein Programm geschreiben haben, dass entweder die Java APi benutzt oder welches sie händisch programmiert haben, dann müssen sie dieses erst einmal auf den Raspberrypi verschieben. 
 ===Dateien mit SCP verschieben=== ===Dateien mit SCP verschieben===
 +Datein können sie mit SCP verschieben. Hierzu gehen sie in das Verzeichniss in dem Ihr Projekt liegt und führen sie folgenden Befehl aus:
 +
 +<code>scp ./<Projektordner> <user>@<Adresse>:~/<Zeilort></code>
 +
 ===Projekte mit Git kopieren=== ===Projekte mit Git kopieren===
 +Wenn sie Git benutzen stellen sie sicher,dass Git auf ihrem Raspberry Pi installiert ist. Wenn nicht, dann installieren sie es mit:
 +
 +<code>sudo apt-get install git</code>
 +
 +Programme mit den Befehlen auf den Raspberry Pi laden:
 +
 +Kopiert die Git Reposetory ins momentane Verzeichnis:
 +
 +<code>git clone <Adresse></code>
 +
 +Aktualisiert (lädt Änderungen) die Git Reposetory im momentane Verzeichnis:
 +
 +<code>git pull <Adresse></code>
 +
 ===Programm starten=== ===Programm starten===
 +Nun müssen sie folgenden Befehl auf der Konsole ausführen um das Programm zu compilieren:
 +
 +<code>javac -classpath .:classes:/opt/pi4j/lib/'*' -d . <Dateiname>.java</code>
 +
 +Und im Anschluss das kompilierte Programm starten:
 +
 +<code>sudo java -classpath .:classes:/opt/pi4j/lib/* <Dateiname></code>
 +
 +Nun sollte das Programm laufen. Wenn dies nicht der Fall ist, testen sie die Beispiele der Pi4j Library. 
 +
 ===Quellen=== ===Quellen===
 +Die wichtigste Quelle für dieses Projekt ist der SSC-32U User Guide. Er enthält u.a. das Protokoll für die serielle Kommunikation. 
 +  * [[https://fablab-wiki.fsg-preetz.de/images/8/86/Lynxmotion_ssc-32u_user_guide.pdf |SSC-32U Servo Controller]]
 +
 +Weitere Quellen zum SCC-32 Servo-Controller:
 +  * http://www.lynxmotion.com/images/html/build185.htm
 +  * http://www.lynxmotion.com/s-4-electronics-guides.aspx
 +  * http://www.robotshop.com/en/lynxmotion-ssc-32u-usb-servo-controller.html#Useful-Links
 +
 +Die Pi4J Bibliothek wird benötigt, um mit Java die serielle Schnittstelle des Raspberry ansprechen zu können.
 +  * http://pi4j.com/
 +
 +Api
 +  * https://github.com/Creepler13/Hexapode-Lynxmotion-Roboter-Java-Api
 +
 ===History=== ===History===
 +  * bis Juni 2019 Hannes. H
 +  * ab Juni 2019 bis Februar 2021 Denis. S & Lukas. D
  
aldebaran_a.1675077131.txt.gz · Zuletzt geändert: 2023/01/30 11:12 von torsten.roehl