...wollte ich wissen, wie programmiert man so einen Hexapod am besten?
Ziel wäre ein System, auf das ich aufbauen kann.
Sprich, erstmal soll sich der Hexapod nur in X- u. Y-Achse bewegen können. Später hätte ich gerne die Möglichkeit weitere Funktionen hinzuzufügen ohne das gesamte Programm neu schreiben zu müssen. (Bspw. Sensoren oder Bewegungsabläufe etc.)
Was gilt es dabei zu beachten?
Was sollte ich tun?
Was sollte ich auf keinen Fall tun?
Programmieren wollte ich auf einem ArduinoUNO R3 über das IDE in C++
Um die insgesamt 18 Servomotoren anzusteuern habe ich die Wahl zwischen
2 Servos über Arduino / 16 Servos über Servoshield ansteuern.
oder
Alle Servos über zwei Servoshields ansteuern.
Was wäre hier sinnvoller?(in Bezug auf die Programmierung)
Ich freue mich über jede Antwort, bin noch absoluter Neuling. Also auch unerfahrene Programmierer dürfen mir gerne Tipps geben
Da Du selber sagst, dass Du noch keine Ahnung von Programmierung hast, würde ich empfehlen in kleinen Schritten anzufangen und erst mal mit einem oder zwei Servos zu beginnen. Dabei kannst Du erst einmal die Programmierung und die Grundzüge von C++ lernen. Dabei kannst du den Arduino direkt und auch ein Shield verwenden und den Umgang damit lernen.
Das dürfte Dich schon eine Weile beschäftigen.
Mit der Zeit kannst du anfangen Dich mit Klassen und Vererbung zu befassen.
Und wenn Du das drauf hast, kannst du konkret mit deinem Hexapod anfangen.
Es empfiehlt sich, große Herausforderungen in kleinere aufzuteilen und schrittweise Vorzugehen.
solche Schlüsselbegriffe sind schonmal viel Wert!
Auch bei diesem Thema muss ich ja erstmal einen Anfang finden
Habe mir auch 3 Lernbücher zum Thema C++ gekauft, die werde ich auf jedenfall durcharbeiten während ich an meinem Projekt arbeite!
ich werde das auf jeden Fall auch so probieren.
Jedoch wollte ich im Vorfeld schonmal elementares abklären. Habe ja inzwischen rausgefunden dass meine Servos soviel Strom ziehen, sodass ich aktuell, mit Glück - eine anschliessen kann...
Mind. 2 -3 wollte ich schon probieren, mit einer habe ich schon erste Versuche gestartet.
Würde es sich nicht anbieten ein ganzes Bein ( 3Servos) in Bewegung zu bringen ?
Naja und da weder die nötigen Teile für die Stromversorgung noch noch die Bücher da sind, wollte ich die Zeit nutzen und schonmal ein paar Fragen stellen.
Hast Du schon eine einzige Zeile programmiert? Fang doch mal damit an. Mit einem Servo, der bestimmte Bewegungen durchführen soll. Evtl. an einen Sensor (Entfernungsmesser?) gekoppelt...dass je nach Sensorwert der Servo bestimmte Bewegungen ausführt, stoppt usw.
Dein Hexapod wird ja möglicherweise Sensoren brauchen, um auf die Umgebung zu reagieren.
Dann kannst Du dich ja bis zu drei Servos und somit einem Arm, vorarbeiten.
Ich denke das wichtigste ist, mal praktisch anzufangen.
Naja nicht ohne Hilfestellung aus dem Arduino-Projektbuch, das würde ich mir auch noch nicht zutrauen.
Naja um es mal mit meinem Anfängerwissen zu erklären...
Für mich ist programmieren wie etwas zu schreiben.
Naja und wenn ich bisher nur den Buchstaben A und B beherrsche, ist es schwierig für mich erstmal irgendwas zu schreiben (programmieren).
Daher hoffe ich durch die Bücher welche ich bestellt habe, mein Vokabular diesbezüglich etwas zu verbessern
Auf jeden Fall! Aber das ist schon jenseits von dem was ich mir fürs erste erhoffe
...wie gesagt, wenn ich ihm sagen kann, dass er geradeaus gehen soll und der Bewegungsablauf der ganzen Beine aufeinander abgestimmt ist, ist das für mich schon ein riesen Erfolg.
Wenn Du keine Sensoren hast, nimm Microschalter (z.B. als Abschaltung bei einem bestimmten Stellwinkel) und Taster um Bewegungen zu starten, stoppen, steuern.
Ok, scheinbar führt da kein weg drum herum
Dann mach ich das auch so !
Und sobald ich mein Beinchen in ein paar Tagen zusammengeschustert habe, kann ich vllt. auch erfolgreich meine ersten Versuche damit starten...
Ich tu mich noch etwas schwer wie ich Lernen soll...Ich dachte das läuft wie in der Schule damals....erstmal das Alphabet lernen...Diktate schreiben...etc.
Aber beim programmieren scheint es etwas anders zu laufen
Das muss ich noch verstehen...
Das stimmt. (Du meinst "vorwärts" statt "geradeaus")
Das stimmt erst recht.
Melde dich wieder, wenn du denkst, dass er -mit dem Bein in der Luft- die gewünschte Bewegung für einen Schritt macht. Oder melde dich gern auch vorher, wenn es da Probleme gibt.
Dann sieh zu, ob du zurecht kommst ohne zu wissen, ob ein Bein gerade in der Luft ist oder Bodenkontakt (mit Gewicht drauf) hat. Ich denke auch, ein Sensor ist besser als das aus dem Zustand der 6 Beine bei angenommen ebenem Boden auszurechnen.
Hui das muss ich erstmal verarbeiten
Was meinst du mit parallele Verarbeitung?
blockadearm war doch statt mit delay() mit millis() zu arbeiten oder ?
den 2. Punkt verstehe ich garnicht.
Und du hattest mir doch mal gesagt, dass es irgendwo im Guide vorgaben gibt wie man einen Code postet oder ? Wie geht das, hätte da tatsächlich einen fertigen Code, der interessanter Weise Probleme macht. Obwohl ich meine, alles wie im Projektbuch vorgegeben war gemacht zu haben.
Zeitscheiben... die schaue ich mir heute mal genauer an.
Das hört sich nach genau dem an, was ich später brauchen werde!
Mein Problem mit dem Code, konnte ich gestern tatsächlich selbst lösen!
Wenn ich wieder ein Problem haben sollte, werde ich auf jeden Fall versuchen den Code korrekt zu posten
Danke für die Verlinkung.