Hallo liebe Lego Freaks,
Da ich immer nur sporadisch kleine Programme am NXT 2.0 erstellt habe, habe ich nun ein paar detailliertere Fragen an die "echten" Programmierer:
Beim Warte Block muss ich eine Zeit angeben. Bisher habe ich immer einen festen Wert angegeben. Ein aktuelles Projekt erfordert aber nun, dass ich die Zeit als Variable eingeben sollte während dem laufenden Betrieb. Am liebsten die Variable abfragen gleich zu Beginn nach dem Programmstart und dann in den Zeitblock übernehmen. Geht sowas und wenn ja, dann wie ? Die NXT Tastatur hat ja nun auch keine Zahlen zur Verfügung, aber mit den Pfeiltasten könnte man ja wie bei einem Radiowecker die Zeit mit +/- korrigieren bzw. einstellen, z.B. ausgehend von einem fest vorgegebenen Wert 50sec. mit < > das "Feintuning" vornehmen. Dabei keine fremden Hilfsmittel, wie Laptop, Smartfone o.ä., nur die NXT Tasten.
Das selbe müsste ich dann noch haben für die Blöcke der Motorsteuerung. Auch dort will ich Laufzeiten in 0.1 sec. Schritten für die Laufzeit Dauer einstellen.
Für Anregungen, Tips, Anleitungen etc. bin ich Dankbar.
Viele Grüsse,
Tom
Video Channel: http://www.youtube.com/us...oyagetom?feature=watch
brickshelf: http://www.brickshelf.com...ery.cgi?m=voyagetom-01
Flickr: https://www.flickr.com/ph...with/72157711557227973
Hallo Tom,
maydayartist gefällt das
Hi,
also in der Anleitung/Hilfe zum Variablenblock steht folgendes:
"Informationsaustausch zwischen einem Programm und einem Eigenen Block"
Wenn du Daten zwischen deinem Hauptprogramm und einem Eigenen Block (bzw. zwischen zwei .rbt-Dateien) austauschen willst, kannst du dies mit zwei Schritten erreichen:
Definiere dieselbe Variable (gleicher Name, gleicher Datentyp) im Hauptprogramm sowie im Eigenen Block.
Benutze diese Variable in den Variablen-Blöcken des Hauptprogramms sowie im Eigenen Block.
Der Schreib- und Lesezugriff auf diese Variable erfolgt nun von allen Stellen auf denselben Speicherort im NXT.
--------------------------------------------------
Ich krieg's aber irgendwie nicht hin...
Ich könnte auch noch damit leben, jedes mal beim Start die Daten neu einzugeben - ist halt weniger komfortabel.
Der link für die Variablen Definition mit +/- war sehr Hilfreich, das klappt.
Allerdings bleibt beim Wechsel von 10 auf 9 die Null stehen im Display, ähnliches gilt bei Vorzeichenwechsel in den neg. Bereich.
Ich denke aber, ein Display Reset an der richtigen Stelle nochmal eingesetzt schafft Abhilfe.
Jetzt habe ich aber ein anderes Problem:
Die Zahlen-Variablen "Zeit" und "Leistung" mit "Auslesen" vor den Motor Block gesetzt...
Datenleitungen gezogen zu den entsprechenden Stellen am Motor Block, Eingangsseite.
Datenleitungen sind gelb, also meines Erachtens ok. Geltungsbereiche für Zeit und Leistung sind eingehalten.
Die entsprechenden Felder im Motor Block werden aber nicht ausgegraut (immer noch editierbar) und beim Testlauf macht der Motor keinen Muks...
Die Edit Werte im Motor Block scheint er also auch nicht zu nehmen.
Auch beim Warte Block (Zeit in sec.) setze ich eine Zahlen Variable (auslesen) davor und verbinde sie mit dem Wecker. Das geht und die Leitung wird gelb, obwohl der Wecker keinen Dateneingang hat. Der Wecker nimmt die Zahl aber auch nicht an und graut auch das Editier Feld nicht aus...
Grüsse,
Tom
Video Channel: http://www.youtube.com/us...oyagetom?feature=watch
brickshelf: http://www.brickshelf.com...ery.cgi?m=voyagetom-01
Flickr: https://www.flickr.com/ph...with/72157711557227973
Lok24
20.10.2015, 09:22
Als Antwort auf den Beitrag von voyagetom
Editiert von
Lok24
20.10.2015, 09:22
Hallo Tom,
wer soll Dir da helfen?
Wie man die Daten über das Programmende rettet hatte ich Dir schon geschrieben, leider keine Antwort, ob das geklappt hat.
Um "Programmfehler" zu suchen braucht man das Programm, eine Beschreibung wie Deine hilft mir leider nicht.
Und eine Definition, was der "Fehler" ist. Ich kenne sehr viel Programme, die zwar fehlerfrei sind, aber nicht machen, was der Programmierer erwartet
Ich habe leider nicht einmal eine Information, welche "Programmiersprache" Du benutzt.
Stelle das Programm mal zum Download ein, vielleicht kann ich es nachvollziehen.
Grüße
Werner
Tom benutzt das NXT-G, das grafische Interface out-of-the Box sozusagen.
Das mit der Dauer am Motor ist so eine Sache. Ich habe gelesen, kann leider nicht mehr sagen wo, dass der Verbinder auf dei Uhr (logischerweise Zeit) in Wirklichkeit ein Winkel ist. Das fiel mir auf als ich einen Motor eine zufällige Dauer laufen lassen wollte, Zahl zwischen 5 und 20, also gedachten 5 und 20 Sekunden, Motor machte aber nur einen schüternen Muckser, nicht mehr.
Ich muss in den nächsten Tagen mein MOC auch zum Leben erwecken und ein wenig programmieren bzw. Linien ziehen, dann kann ich mehr sagen.
Gerald
My Flickr
Blog zum Trainposter V2
LDraw Teile Update 2019-01
Hallo Gerald,
I see!
Sieht meinem LabView für EV3 ähnlich aber anders.
Er könnte aber hier mal einen Screenshot seines Programms einstellen?
Wird sich doch zum Laufen bringen lassen....
Grüße
Werner
Hallo Werner,
ich benutze die "originale" Software, die beim NXT 2.0 dabei war. Wie sie genau bezeichnet wird, weiss ich nicht.
Screenshot würde ich ja machen, aber das Programm ist 1km lang. Die Bedienoberfläche finde ich nicht sehr komfortabel. Vielleicht genügt ja aber ein Ausschnitt...
Besser wäre es, das Programm hochzuladen. Leider gibt's hier im Forum keine Funktion oder ich kenne sie nicht...
Video Channel: http://www.youtube.com/us...oyagetom?feature=watch
brickshelf: http://www.brickshelf.com...ery.cgi?m=voyagetom-01
Flickr: https://www.flickr.com/ph...with/72157711557227973
Saluton!
Ein bißchen Off-Topic, aber …
„Altgrau“ facere necesse est.
Wer Rechtschreibfehler findet, darf sie mir nennen. Ich lerne nämlich gerne dazu (ich bin allerdings „Altschreiber“).
Moin,
Saluton!
„Altgrau“ facere necesse est.
Wer Rechtschreibfehler findet, darf sie mir nennen. Ich lerne nämlich gerne dazu (ich bin allerdings „Altschreiber“).
\\//_ Build long and ℘rosper!