also doch nichts mit "namenlosem Programm" u/o "Arduino im unprogrammierten Zustand" etc.
ist mir auch sehr unverständlich und ungewöhnlich vorgekommen.
Druckbare Version
also doch nichts mit "namenlosem Programm" u/o "Arduino im unprogrammierten Zustand" etc.
ist mir auch sehr unverständlich und ungewöhnlich vorgekommen.
selbstverständlich kommt er unprogrammiert, was sollte das denn auch? Ich müßte ihn leer machen, um die Servos zu initialisieren. Programmiert wird er dann später mit der Arduino-Entwicklungsumgebung, samt Bibliothek und eines Anwendungs-Sketches. Das Zweite ist, wie oben schon gesagt, für die Fernbedienung. Programmierter Controller heißt bei mir, daß sich im Controller ein compiliertes Programm befindet und das ist eigentlich bei sochen Bausätzen sinnvollerweise niemals der Fall.
Eigentlich toll, was man hier alles für wenig Geld bekommt. Adeept bitte ich um Vergebung, daß ich nicht konform zu ihrem Tutorial vorgegangen bin. War alles meine Schuld und hatte ein wenig seine Ursache in dem vorher gebauten Freenove Roboter. Die Fernbedienung ist auch schön. Vier Tasten rufen im Hauptprogramm die einzelnen Steuerungsmodi auf und zwei Joysticks erlauben die Steuerung von Richtung und Geschwindigkeit. Inzwischen ist die Katze mit den Sensoren dran und beim Frisör war der Hexa auch, die Schnüre sind geordnet. Der 4-er Stecker der Katze hat 4 Strippen mit female-Buchsen am Ende, eine davon ist defekt, sie fällt ohne Federkraft auf das Gegenstück. Wißt Ihr, wie diese Verbindungsnorm heißt? Ich kaufe nicht so gerne direkt, da werde ich wegen Kleinigkeiten zur Zollstelle nach Suhl zitiert. Das kostet einen Tag, zusätzlich Geld und war zweimal sehr unangenehm. Einmal war es der Insectbot Mini, der Insectbot Hexa Kit und dann nur wegen eines usb-Tesla Kerzenanzünders.
gruß recke
was das mit dem "Leermachen" soll und das mit dem "Servos initialisieren" verstehe ich immer noch nicht. Kann mir das jemand anderes vlt erklären?
kann ich natürlich, obwohl ich davon ausgehe, daß eigentlich fast jeder es verstanden hat! Zu dem Controller Arduino gibt es eine Entwicklungsumgebung, bestehend aus Programmiersprachen, Compiler, Editoren, Bibliotheken, usw. und Anwendungsprogramme, wie "Blink" oder Servointialisierungs- oder Kalibrierungsprogramme oder eben das Anwendungsprogramm zur Steuerung des fertig aufgebauten Hexapod. In obiger Diskussion ging grundsätzlich darum, ob es für den Hexapod ein Anwendungsprogramm für die Initialisierung der Servos gibt, wie es z.B. für den Quadruped von Freenove der Fall ist. Falls es so ein Programm gäbe würde es kein Lieferant vorher in den Controller laden. Von Adeept gibt es kein Anwendungsprogramm zur Initialisierung, d.h. der "leere" also unprogrammierte Controller wird zur Initialisierung der Servos verwendet. Das ist der Unterschied zu Freenove. Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß von Euch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
Wenn es am schönsten ist soll man gehen, ich ziehe mich zurück
tschüß recke
Was Arduino und dessen IDE ist, ist ja klar.Zitat:
kann ich natürlich, obwohl ich davon ausgehe, daß eigentlich fast jeder es verstanden hat! Zu dem Controller Arduino gibt es eine Entwicklungsumgebung, bestehend aus Programmiersprachen, Compiler, Editoren, Bibliotheken, usw. und Anwendungsprogramme, wie "Blink" oder Servointialisierungs- oder Kalibrierungsprogramme oder eben das Anwendungsprogramm zur Steuerung des fertig aufgebauten Hexapod. In obiger Diskussion ging grundsätzlich darum, ob es für den Hexapod ein Anwendungsprogramm für die Initialisierung der Servos gibt, wie es z.B. für den Quadruped von Freenove der Fall ist. Falls es so ein Programm gäbe würde es kein Lieferant vorher in den Controller laden. Von Adeept gibt es kein Anwendungsprogramm zur Initialisierung, d.h. der "leere" also unprogrammierte Controller wird zur Initialisierung der Servos verwendet. Das ist der Unterschied zu Freenove. Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß von Euch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
Wenn es am schönsten ist soll man gehen, ich ziehe mich zurück
tschüß recke
Wieso soll es keine Hersteller geben, die bestimmte Programme standardmäßig in den Flash eines Controllers (Arduino o.ä.) als Auslieferungszustand laden?
Lassen wir es so dahingestellt sein - mag ntl schon sein, dass der Arduino "leer" war...
- nun war aber öfters von "leer machen" die Rede...:
um etwas leer zu machen, muss aber vorher was drauf hochgeladen worden sein - wer hat also was vorher DOCH auf welchen Arduino hochgeladen?
Was war genau der Auslieferungszustand der (beiden?) Arduinos?
Ein "leerer" Arduino macht aber nichts - GAR nichts. Um irgendwas damit zu machen, muss also zuvor DOCH ein Programm hochgeladen worden sein:
- welche(s) Programm(e) genau wurde(n) also (jeweils) zunächst hochgeladen?
Von welchen Kalibrierungsprogrammen wofür ist die Rede?
Wie und wozu soll man "Servos initialisieren", denn die funktionieren doch jederzeit "aus dem Stand"?
Warum muss der "leere" - also unprogrammierte - Controller zur Initialisierung der Servos verwendet werden ?
- wie kann ein unprogrammierter Controller aber überhaupt irgend etwas machen (initialisieren) ?
Was soll der Vergleich mit einem ominösen "Freemove", was ist das, und inwiefern ist das hier überhaupt von Bedeutung?
Inwiefern wird ein Arduino durch einen Reset "geleert" und in einen unprogrammierten Zustand versetzt? (normalerweise wird beim Reset nur das aufgespielte Programm resettet, also in den Startzustand versetzt, aber nicht der Programm-Flash gelöscht/geleert - CMIIW)...
Viele große Fragezeichen.... :-/
Hallo HaWe, jetzt gibst du dich aber etwas störrisch...
Aber wir fassen den Thread gerne noch mal zusammen:
- Recke hat früher schon mal einen Roboter eines anderen Herstellers zusammengebaut und dachte, hier würde alles so ähnlich funktionieren, was aber nicht der Fall war.
- Auch ein leerer unprogrammieter Mikrokontroller tut offenbar etwas, nämlich an seinen Ausgängen eine logische Null bereitstellen.
- Diese logische Null wertet der Servokontroller als Kommando "Grundstellung" und fährt die angeschlossenen Servo in die entsprechende Lage. Das ist mit "initialisieren" gemeint.
- In genau dieser Servo-Grundstellung sollen nun in ebenfalls genau definierter Position die Servo-Hörner montiert werden.
- Ohne angeschlossenen Arduino sind die Eingänge des Servokontrollers in einem undefinierten Zustand, und folglich fahren dann auch die Servos in eine undefinierte Lage. Das ist dann ein missglückter Initialisierungsversuch.
- Mit einem bereits anderweitig programmierten Arduino klappt es ebenfalls nicht, weil der nicht unbedingt "Null" an den Ausgängen ausgibt. Deshalb muss er ggf. erst wieder "leer gemacht", d.h. resetted werden.
aha, dann ist der adeept "Servocontroller" mit PCA9685 IC also kein reiner PCA9685 Servocontroller, der passiv nur per i2c durch den Arduino angesteuert wird, sondern besitzt ebenfalls einen (zusätzlichen) fest vorprogrammierten oder sogar frei programmierbaren Microprozessor, der seinerseits aktiv irgendwelche Arduino-Pins "auswertet" und dann seine Servos selbsttätig in eine ("Grund-") Position fährt?
(hier würde mich tatsächlich auch der Typ dieses onboard-MCUs sehr interessieren und welche Uno-Pins genau "ausgewertet" werden.)
(- edit - : üblicherweise wird ja ein PCA9685 Servocontroller nur per SCL, SDA, Vc und GND mit einem Arduino verbunden, auf dem ein Steuerprogramm für den PCA9685 geladen ist - Pins "auswerten" kann ein PCA9685 aber von sich aus nicht, und von alleine Servos an best. Positionen fahren auch nicht.)
Wie aber wird ggf. der Arduino (Uno) derart "resettet", dass er "leer gemacht" wird?
Arduinos besitzen einen Reset-Button und auch einen Reset-Pin, das ist bekannt, aber die löschen kein Programm aus dem Flash und machen es nicht "leer", sondern führen nur zu einem Programm-Restart des geladenen Programms - das Programm selbst bleibt dabei aber im Flash erhalten (wie gesagt, CMIIW).
Und stimmt es dann, dass der OP dann nach der anfänglichen Initialisierung mit einem "leeren" Arduino selber Programme auf den/die Arduino(s) hochgeladen hat? (das hatte ich zumindest nirgends gelesen)
Ich vermute allerdings auf Grund dieser bislang nicht plausibel geklärten Fragen, dass hier tatsächlich ganz andere Gegebenheiten u/o Zusammenhänge vorgelegen haben können.
nur zur Klarstellung:
wie kann man laut recke und hbquax dieses tun?
Zitat:
Zitat von recke
Ich wüsste keinen Weg, das zu erreichen, und meine Vermutung ist: das ist hier von recke auch nie gemacht worden.Zitat:
Zitat von hbquax
ok, nachdem da also kein Widerspuch kam und keine Lösung im Sinne von recke und hbquax in Sicht ist, können wir, glaube ich, festhalten:
Es ist nicht möglich, beim Arduino per Reset ein Programm aus dem Programmspeicher zu löschen.
Die einzige mir bekannte Möglichkeit, ein Programm im Flash des Arduinos zu beseitigen, ist, es durch ein neues hochgeladenes Programm zu überschreiben.
Selbst dann ist der Arduino aber nicht "unprogrammiert", sondern hat eben ein neues Programm, das im minimalen Fall ("Null-Sketch") startet, nichts sichtbares tut, und sich dann sogleich wieder beendet - oder aber in einer loop() Dauerschleife hängen bleibt.
Einverstanden?
Arduino IDE öffnen.
Datei - Neu wählen.
Hochladen.
Dann das Verhalten des Boards mit einem fabrikneuen vergleichen.
Der Speicher ist zwar nicht genullt (hysikalisch leer), aber das Verhalten an den Ausgängen ist das selbe.
das ist doch genau das, was ich auch sage (z.B. neuen "Null-Sketch" hochladen, und dadurch ein bestehendes Programm durch ein neues überschreiben).
Es ging aber um die Behauptung, man könne ein Programm per Reset aus dem Speicher löschen und so einen Arduino in einen unprogrammierten Zustand überführen, was jedoch falsch ist, oder?
Die Frage ist also, was recke gemacht hat, um seinen Arduino in einen "unprogrammierten Zustand" zu überführen -
hat er die Reset-Taste gedrückt oder hat er einen Null-Sketch hochgeladen?
Und weiterhin:
ob er vorher selber ein (welches?) Programm selber aktiv hochgeladen hat, bevor er dann versucht hat, es wieder zu löschen.
Mir war mein Abschied zu abrupt und unhöflich, deshalb schaue ich nochmal vorbei. Ihr habt mir viele Ratschläge gegeben und Dank ist angebracht. Es ging auch alles freundlich zu. Neben neuen Erkenntnissen habe ich meinen Schreibtisch aufgeräumt und einen kleinen "Meßplatz" eingerichtet. Da steht nun ein Voltcraft Netzteil, ein pico PC-Oszilloskop und ein G.T. Power Servotester. Ich habe vor dem Servo-Initialisieren wirklich nur einen Reset mit der roten Taste auf der Arduino-Platine gemacht (keinen "Null-Sketch" hochgeladen), denn vorher hatte ich ja schon einmal das Anwendungsprogramm geladen. Alles funktioniert gut, allerdings ist von dem vieradrigen Katzenkabel ein female Stecker defekt. Der fällt locker auf das Gegenstück. die vier Adern sind in einem Katzen-Anschußstecker vereint, da muß ich noch pfriemeln. Ansonsten ziehe ich meine Kopf aus der Schlinge, indem ich Dir, HaWe, zu 100 % recht gebe und mich außerstande sehe Deine tiefschürfenden Fragen zu beantworten.
Habt ein schönes Osterfest
recke
danke gleichfalls!
Dennoch wäre eine Beantwortung meiner Fragen schon wichtig zum Verständnis -
zum Einen für mich, denn bislang ist mir völlig unklar, wovon du exakt ausgegangen bist, was genau du vergeblich probiert hast und was wie dann wieder versucht hast zu korrigieren, bis es dann letztendlich doch funktioniert hat -
und zum Anderen für Dich, denn es macht dir ja keiner einen Vorwurf daraus, dass dein Arduino-Verständnis - NATÜRLICH - nicht perfekt bis in die hintersten Ecken der technischen Zusammenhänge reicht, aber andererseits wird es dir sicherlich helfen, von Mutmaßungen, die in die falsche Richtung und zu Missverständnissen führen, Abstand zu gewinnen und stattdessen auf einem bestimmten Level ein korrekteres Verständnis zu erlangen.
Nach dem Motto: Es ist ja nicht verboten, klüger zu werden.
Das mit dem "unprogrammierten Zustand" per Reset ist z.B. so ein Missverständnis: das funktioniert so nicht!
Auch dass deine Servoplatine in der Lage sein soll, Arduino-Pins von sich aus auszulesen, halte ich für so ein Missverständnis:
ich bin einigermaßen fest davon überzeugt, dass deine Servoplatine ÜBERHAUPT NICHTS selber auslesen kann - weder von einem programmierten noch von einem unprogrammierten Arduino.
Auch dass Servos wie deine in irgendeiner Weise per Software "initialisiert" oder "kalibriert" werden müssen (abgesehen von der mechanisch korrekten Montage), halte ich für ein Missverständnis - alles was für die Servoplatine und die Servos wichtig ist (genaue Frequenzen, channels, sog. duty-cycles etc) wird bereits im Hersteller-Code samt Lib fest voreingestellt sein.
Ein weiteres Missverständnis kann möglicherweise auch darin bestehen, dass entgegen deiner Vermutung Hersteller durchaus in einem Kit bereits die Komponenten vorher durch Grundprogramme vor-initialisieren.
daher meine Fragen:
1) hast du selber vor dem ersten Betrieb deiner Servo-Platine irgendein (welches?) Programm selber aktiv hochgeladen?
2) Oder bist du bis zum Aufstecken der Servoplatine immer vom unveränderten Auslieferungszustand deines Arduinos ausgegangen?
3) Hast du dann versucht, irgendein Arduino-Programm wieder zu löschen, um deine Servos in Grundstellung ausrichten zu können?
4) Wenn ja: wie hast du das versucht: per Reset-Taste oder Hochladen eines anderen Programms, ggf. von welchem?
5) Welches Programm hast du nach der Servo-Montage anschließend hochgeladen, damit deine Katze komplizierte Bewegungsmuster wie in dem Video durchführen konnte?
das würde z.B. bedeuten:Zitat:
Ich habe vor dem Servo-Initialisieren wirklich nur einen Reset mit der roten Taste auf der Arduino-Platine gemacht (keinen "Null-Sketch" hochgeladen), denn vorher hatte ich ja schon einmal das Anwendungsprogramm geladen.
durch Drücken der Reset-Taste hat sich nichts verändert, das "Anwendungsprogramm ", das du drauf gespielt hast, war danach immer noch drauf - es wurde nur erneut frisch gestartet.
Das zeigt, dass deine Servo-Platine nicht den Pin-Zustand eines "unprogrammierten" Arduinos ausliest und benötigt, um irgendwas zu tun.
Das lässt weiterhin sogar vermuten, dass es sogar notwendig ist, um die Ausrichtung in Grundposition zu steuern, und weiterhin, dass es deshalb auch schon vorher drauf gewesen sein könnte.
Du bist ja ein rechtes Fragezeichen, aber ich versuche mal. Hoffentlich klappt mein händisches Zitieren. Vorab es gibt für den Hexapod zwei Anwendungsprogramme, eins für die Fernbedienung und eins für den Roboter. Die Fernbedienung besitzt vier Tasten, die Routinen im Roboterprogramm aufrufen und zwei Joysticks für Vor/zurück/rechts/links sowie die Geschwindigkeiten. Ein Taster wählt die Routine Automatik, da kommt die Katze ins Spiel, sie schwenkt ihren Kopf und weicht bei Hindernissen zurück.
Es ist nur so, daß mit dem RESET an allen Ausgängen (zur logischen Steuerung) statisch das gleiche Signal anliegt und ein vorher in den Arduino geladenes Programm unwirksam wird. (bei mir heißt das "gelöscht").Zitat:
Das mit dem "unprogrammierten Zustand" per Reset ist z.B. so ein Missverständnis: das funktioniert so nicht!
Die Servoplatine ist aus meiner Sicht dazu da die nichtbelastbaren Arduino Ausgänge in für die Servos belastbare umzuwandeln. "Auslesen" würde ich das nicht nennen, habe ich hoffentlich oben auch nicht, man könnte es im weitesten Sinne Impedanzwandler nennen.Zitat:
Auch dass deine Servoplatine in der Lage sein soll, Arduino-Pins von sich aus auszulesen, halte ich für so ein Missverständnis:
ich bin einigermaßen fest davon überzeugt, dass deine Servoplatine ÜBERHAUPT NICHTS selber auslesen kann - weder von einem programmierten noch von einem unprogrammierten Arduino.
Das siehst Du falsch! Da bei diesem Modell überhaupt keine Software zur Initialisierung in den Arduino geladen wird, gibt er wie oben erwähnt, an allen Pins das gleiche Signal aus, D.h. Die Servos fahren alle in einen gleichen Anfangszustand. Die Geometrie der Beine bekomme ich dann über das winkelgetreue Aufsetzen der Servohörner hin. Ein Programm oder eine Bibliothek kommt dabei überhaupt nicht ins Spiel. Bei anderen Modellen erledigt man das mit einem speziellen Kalibrierungsprogramm und einer Papierschablone, auf der man die Füße ausrichtet. Das kann z.B. mit einem in PDE geschriebenen Programm erfolgen.Zitat:
Auch dass Servos wie deine in irgendeiner Weise per Software "initialisiert" oder "kalibriert" werden müssen (abgesehen von der mechanisch korrekten Montage), halte ich für ein Missverständnis - alles was für die Servoplatine und die Servos wichtig ist (genaue Frequenzen, channels, sog. duty-cycles etc) wird bereits im Hersteller-Code samt Lib fest voreingestellt sein.
Mir ist ein solcher Fall nicht bekannt, kann es nicht ausschließen, halte es aus zwei Gründen für unwahrscheinlich: Erstens ist es teurer, wenn bei solchem hart kalkuliertem Spielzeug vorher der Arduino noch "angefaßt" wird, zweitens erkenne ich gar Sinn ein Programm schon vorzuladen und die anderen als Sketche zu verabreichen. Man müßte es ja trotzdem noch zum Selbstladen mitgeben, weil die Gefahr des unbeabsichtigten Drückens der Reset-Taste das Programm ins Nirvana befördern würde.Zitat:
Ein weiteres Missverständnis kann möglicherweise auch darin bestehen, dass entgegen deiner Vermutung Hersteller durchaus in einem Kit bereits die Komponenten vorher durch Grundprogramme vor-initialisieren.
muß kurz unterbrechen und mache später weiter
du verwechselst Grund, Ursache, Anlass und Wirkung.
Und dass dir das eine oder andere nicht bekannt ist, heißt nicht, dass es das nicht gäbe.
Auch dein Verständnis vom Verhalten und Zusammenpiel von Arduino-Progammen mit Peripherie ist anscheinend noch etwas voreingenommen, naiv oder unreflektiert, siehe z.B. Reset-Button, und oben hast du selber vom Auslesen von unpogrammierten Arduino-Pins gesprochen.
Was eine Servoplatine mit PCA9685 IC (wie der deinigen) z.B. macht, schau mal hier:
https://www.adafruit.com/product/815
https://learn.adafruit.com/16-channel-pwm-servo-driver
Insbesondere scheint dir gar nicht kar zu sein, was Servos hier genau veranlasst, eine bestimmte Position anzufahren.
Und gerade dass sie das u.U. tun, OBWOHL dein Anwenderprogramm, das du selber aufgespielt hast, nach wie vor drauf war (und nur neu gestartet wurde), bedeutet nicht, dass dies der Servocontroller von sich aus macht, weil er vom angeblich "unprogramierten" Arduino kein Signal dazu bekäme - und nochmal: RESET MACHT KEINE PROGRAMME UNWIRKSAM!!
Allerdings kenne ich dein Anwenderprogramm nicht und weiß auch nicht, ob deine Servoplatine evt außer ihren eigenen Timern auch eigene Controller-Steuer-Funktionen dafür besitzt.
Immerhin wird ein PCA9685 ausschließlich von einem aktiven Programm über 2 i2c-Pins angesteuert, für alle Servo-Funktionen. Möglicherweise arbeitet dein Anwenderprogramm nur in verschiedenen "Stufen" nach Einschalten oder Neustart.
Ich sehe jedenfalls keine Veranlassung für deinen PCA9685, eine "Grundstellung" anzusteuern, ohne dass er via i2c einen definitiven Befehl dafür bekommen hätte.
oh, ich war doch noch nicht fertig! Also mache ich mit meiner Version weiter:
Ja, das Roboter-Steuerprogramm, eigentlich nur um zu schauen, ob es Fehlermeldungen gibt und ob das Laden klappt.Zitat:
1) hast du selber vor dem ersten Betrieb deiner Servo-Platine irgendein (welches?) Programm selber aktiv hochgeladen?
verstehe ich nicht! So ein Arduino verhält sich doch sehr einfach durchschauhbar! Ich kann Programme laden und löschen, genau wie ich das im PC kann. Wobei im PC noch eher solche Schlitzohren von Programmentwerfern am Werke sind, die beim Deinstallieren ihre "Duftmarken" hinterlassen. Beim Arduino kaum. Wenn das anders wäre und da immer etwas Imaginäres zurückbliebe hätte er nicht die Verbreitung erreicht. All das, was ich in ca. 5 Jahren damit gemacht habe bestätigt mein Eindruck. Das ist doch kein Buch mit 7 Siegeln.Zitat:
2) Oder bist du bis zum Aufstecken der Servoplatine immer vom unveränderten Auslieferungszustand deines Arduinos ausgegangen?
Nicht nur versucht, sondern tatsächlich getan und es hat geklappt.Zitat:
3) Hast du dann versucht, irgendein Arduino-Programm wieder zu löschen, um deine Servos in Grundstellung ausrichten zu können?
Reset natürlich, warum kompliziert, wenn es einfach geht.Zitat:
4) Wenn ja: wie hast du das versucht: per Reset-Taste oder Hochladen eines anderen Programms, ggf. von welchem?
Hatte ich oben erklärt, ist die Routine "Automatic" im Robotersteuerprogramm, die von der Fernbedienung aus angewählt werden kann.Zitat:
5) Welches Programm hast du nach der Servo-Montage anschließend hochgeladen, damit deine Katze komplizierte Bewegungsmuster wie in dem Video durchführen konnte?
Hier noch meine Motive für die Bastelei:
1. Ich bastele gerne, ein Überbleibsel meiner sehr guten Mechanikerlehre vor 60 Jahren
2. Ich möchte Enkel animieren sich dafür zu interessieren. Von 5 Enkeln hats bei einem geklappt. Der ist schon vor dem Abitur ein geachteter Informatiker. Da kann ich nicht mehr mithalten.
3. will ich die Programme wenigstens verstehen, dazu modifiziere ich sie geringfügig, um die Folgen zu sehen. Selbst werde ich keine großen Programme mehr schreiben.
4. schwebt mir vor die Raupe, in die ich jetzt das compilierte Programm über WLAN einspiele (in den Arduino). Den Arduino durch einen Raspberry Pi 2 zu ersetzen. Obwohl ich kein Unix oder Linux-Fan bin, sind mir die großen Vorteile dieses BS bekannt. Inzwischen habe ich unter Linux auch schon ganz kleine Dinge in C programmiert. Allerdings würde ich das Raupensteuerprogramm dann nur auf den Raspberry portieren. Selbst schreiben traue ich mir nicht mehr zu. Dann würde die gesamte Programmentwicklung auf dem Roboter ablaufen. PC nicht mehr nötig. Von dem Raspberry bin ich wirklich sehr begeistert. Habe drei Stück davon, obwohl einer für mich reichen würde :)
Mit einigen Unstimmigkeiten in der Einschätzung der Dinge müssen wir zwei leben können. Ich kann das und ändere meine Meinung immer nur dann, wenn sie durch reale Erfahrungen wiederlegt wird. Im vorliegenden Fall war mein größter Lapsus, die Servoplatine, ohne Arduinoplatine zu nutzen. Da hatte ich mich verrand. Aus jetziger Sicht nicht mehr nachvollziehbar, aber was solls, dank Eurer Hinweise Läuft der Hexapod und damit hat sichs. Bin kein Freund vom Spielen.
gruß recke
schon erstaunlich, mit welcher Borniertheit du auf deinen hanebüchenen Annahmen beharrst. Nuja, glaub was du willst: wenn du nicht dazulernen willst - ich muss dich nicht dazu überreden. :pZitat:
Nicht nur versucht, sondern tatsächlich getan und es hat geklappt.Zitat:
3) Hast du dann versucht, irgendein Arduino-Programm wieder zu löschen, um deine Servos in Grundstellung ausrichten zu können?
Reset natürlich, warum kompliziert, wenn es einfach geht.Zitat:
4) Wenn ja: wie hast du das versucht: per Reset-Taste oder Hochladen eines anderen Programms, ggf. von welchem?
...
Ich kann das und ändere meine Meinung immer nur dann, wenn sie durch reale Erfahrungen wiederlegt wird.
kann es sein, daß Du etwas zu Übertreibungen neigst? aber kein Problem und nehme es Dir auch nicht übel. Wir haben ja alle unsere guten und weniger guten Seiten.Zitat:
du verwechselst Grund, Ursache, Anlass und Wirkung....., mit welcher Borniertheit du auf deinen hanebüchenen Annahmen beharrst
wo siehst Du eigentlich Probleme ? Der Hexapod läuft vollkommen korrekt und alle im Programm realisierten Funktionen funktionieren fehlerfrei. Das heißt doch, daß ich schlußendlich keine zusätzlichen Fehler begangen habe. Natürlich möchte ich immer noch hinzulernen und das klappt ja auch noch ein wenig.
Nichts für ungut
recke
Ein Problem sehe ich nicht im Ergebnis, und das habe ich auch nie, sondern nur in deiner Borniertheit, Sturheit und Beratungsresistenz:
Da kann man dir 3x, 4x oder noch öfters versuchen zu erklären, dass ein Resetbutton-drücken kein Programm aus dem Arduino löscht, sondern nur neu startet und du hast glatt die Stirn, darauf zu antworten, daß dadurch
Zitat:
...ein vorher in den Arduino geladenes Programm unwirksam wird. (bei mir heißt das "gelöscht").
...
Nicht nur versucht (zu löschen), sondern tatsächlich getan und es hat geklappt. (mit) Reset natürlich, warum kompliziert, wenn es einfach geht.
...
Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß vonEuch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
Ja, HaWe , ich gebe Dir recht und werde meine verblaßten Arduino-Kenntnisse auffrischen! Reset bedeutet nicht Deinstallation. Das Geschriebene kann ich leider nicht mehr ungeschrieben machen.
Leider habe ich alle Literatur zum Arduino bis auf "Arduino Workshops" meinem Enkel vermacht. Der wohnt weit entfernt. In dem genannten Buch steht wenig zum Arduino selbst, sondern mehr zur Anwendung. Falls jemand einen guten Buchtipp hat wäre ich dankbar. Anwendung interessiert mich weniger, eigentlich nur der Arduino selbst.
gruß recke