DarkDust
27.12.2019, 20:53

Editiert von
DarkDust
27.12.2019, 20:54

+1Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Permalink

1000steine-Code

BBCode

HTML


Hallo Leute,
kann mir jemand damit helfen.
Auf dem Bild sind die blaue 1 und die blaue 2 zu sehen. Die nennen sich in dem Fall auf dem Bild nummerische Eingänge oder auch Parameter. Ich habe leider aber noch nicht herausfinden können, wie man die einsetzt oder was man damit genau machen kann. Die Eingänge sind auch nur beim Erstellen von Aktionblöcken (blauer Hintergrund) verfügbar.

Gruß
Jochen

[image]



Lok24 gefällt das


Lok24
28.12.2019, 09:10

Als Antwort auf den Beitrag von DarkDust

Editiert von
Lok24
28.12.2019, 09:14

+2Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Hallo Jochen,

willkommen bei 1000 Steine!

ich habe Dir mal ein Beispiel gebastelt.

[image]


Ein Motor dreht für eine begrenzte Zeit, wartet, und dreht wieder zurück.
Wie Du siehst sind bei mir alle Zeiten mit der "2" besetzt, alle Drehzahlen mit der "1" (oder "1"*-1).
Soweit so nutzlos.

Das wird erst sinnvoll, wenn Du "zurück" gehst, also das "Eigener Block" (blauer Hintergrund) schließt und
dann das hier machst, nämlich den eigenen Block im Programm (grauer Hintergrund) benutzt:

[image]


Und dann hat der genau zwei Kerben unten, die erste ist die Geschwindigkeit, die zweite die Zeit.

Der Motor dreht mit 60 für 2 sec, dann 2 sec Pause, dann 2sec wieder zurück mit 60.
Der Witz? Dein Programm wird übersichtlicher, und die Werte werden an mehreren Stellen genutzt.

Probier mal!
Weitere Fragen werden gerne beantwortet.

Grüße und frohes weiterprogrammieren...

Werner



RobbyRay , Thomas52xxx gefällt das


DarkDust
28.12.2019, 15:59

Als Antwort auf den Beitrag von Lok24

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Hallo Lok24,
vielen Dank für Deine Antwort. So wie auf Deinem Bild, ist es für mich nachvollziehbar.

Vielleicht erkläre ich besser aber mal die komplette Programmierung

Es geht in meinem Fall um eine Programmierung aus dem Buch „Die Lego-Boost-Werkstatt“.
„ Mario schaut sich um..., Handverfolgungsprogramm“
Der Roboter besteht aus einem Kettenfahrgestell angetrieben über A und B. Der Roboter hat einen beweglichen Scankopf (Farbsensor), der über den externen Motor bewegt wird.

Zu Anfang wird der Scankopf automatisch in der Mittelstellung zentriert.
Das ist der Aktionsblock mit dem roten Pfeil nach unten. Der Aktionsblock ist aber für mein Verständnisproblem irrelevant.

[image]



Anschließend passiert folgendes. Der Scankopf bewegt sich immer um 45 Grad. Nach rechts, zur Mitte, nach links und wieder zu Mitte. Das macht er solange, man z.B. die Hand vor den Sensor hält. Erkennt er die Hand, fährt der Roboter in die Richtung in der er die Hand erkannt hat. Ist das rechts, fährt er solange nach rechts, solange er die Hand noch erkennt.
(Er erkennt natürlich nicht eine Hand, sondern einfach nur einen Gegenstand)

Damit das Funktioniert, gibt es zunächst den Aktionsblock „Berichterstattung externer Motor“ (Scankopf)
Und hier fängt mein Verständnisproblem an.

[image]


[image]



Auf dem oberen Bild sieht man den Aktionsblock und dort sind Eingang 1 und 2 aufgeführt.
Auf dem zweiten Bild sieht man unten den Aktionsblock, den man dann in der Programmierung verwenden kann. Der hat aber nur eine Kerbe. Warum nicht zwei?

Jetzt geht es aber weiter. Der Aktionsblock oben „ Berichterstattung externer Motor“ ist selber Teil eines Aktionsblockes, nämlich dem Aktionsblock „Handverfolgung“ und der sieht dann so aus.

[image]



Der Aktionsblock „Handverfolgung“ ist dann in der Programmierung 4x vorhanden. Zu sehen auf dem ersten Bild als die Radarsymbole.

Jetzt wieder zu meinem Verständnisproblem:

1. ich kann in der endgültigen Programmierung nur die Werte für einen Eingang (Nr. 2) angeben. Und zwar immer nur den Winkel mit dem sich der Scankopf hin und her bewegt. Wozu aber gibt es da noch den Eingang Nr.1 und warum kann/muss ich da keinen Wert vorgeben? In Deinem Bespiel gibt es ja auch 2 Kerben.

2. Wenn ich den Aktionsblock „Berichterstattung externer Motor“ als Aktionsblock alleine verwenden würde, für was würde ich unter 123 dann als Wert vorgeben? Drehzahl kann es ja nicht sein, die steht da ja schon an 1. Stelle. Winkel? Und welchen Eingang würde ich damit vorgeben? Nr. 1 oder Nr. 2?

[image]



Hoffe ich konnte mich verständlich ausdrücken!
Die Programmierung ansicht funktioniert ja wunderbar. Ich verstehe allerdings nicht genau, wie das mit den Eingängen funktioniert.

Gruß
Jochen



Lok24
28.12.2019, 16:14

Als Antwort auf den Beitrag von DarkDust

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

DarkDust hat geschrieben:

Damit das Funktioniert, gibt es zunächst den Aktionsblock „Berichterstattung externer Motor“ (Scankopf)
Und hier fängt mein Verständnisproblem an.

[image]



Auf dem zweiten Bild sieht man unten den Aktionsblock, den man dann in der Programmierung verwenden kann. Der hat aber nur eine Kerbe. Warum nicht zwei?

Hm. Es sind zwei Kerben, die mit dem Pfeil und die mit den Zahlen?



DarkDust
28.12.2019, 18:43

Als Antwort auf den Beitrag von Lok24

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Ich meine Kerben mit der Beschriftung 123. Bei Dir haben beide Kerben 123 als Beschriftung.
Denke die Kerben mit 123 sind die für die Eingänge, oder?

Jochen



Lok24
28.12.2019, 18:58

Als Antwort auf den Beitrag von DarkDust

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

DarkDust hat geschrieben:

Ich meine Kerben mit der Beschriftung 123. Bei Dir haben beide Kerben 123 als Beschriftung.
Denke die Kerben mit 123 sind die für die Eingänge, oder?

Äh - nein?
Es gibt nur Eingänge?

Die "Beschriftung" ist als Hinweis gedacht, was da reingehört.
Und die erste wird von dem grünen Motorblock in dem eigenen Block übernommen, das wären also der Pfeil ; da die "2" aber in einem Mathe-Block steckt wird hier die "123" übernommen in das Bild bei der Benutzung des Blocks.
Mache unter die 1 im Block auch mal eine Mathe-Operation (+0, zb), dann bekommt das auch "123"

Habe ich die Frage überhaupt verstanden?



DarkDust
28.12.2019, 19:43

Als Antwort auf den Beitrag von Lok24

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Ah, jetzt kapiere ich es langsam. Da habe ich mich wohl durch den Pfeil der sonst die Drehzahl des Motor symbolisieren soll, täuschen lassen. Aber jetzt gibt das ja alles Sinn.
2x Eingang = 2x Kerbe (Beschriftung zweitranging)
1. Kerbe = Eingang 1
2. Kerbe = Eingang 2
usw....

Jochen



Lok24
28.12.2019, 19:51

Als Antwort auf den Beitrag von DarkDust

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

DarkDust hat geschrieben:

Ah, jetzt kapiere ich es langsam. Da habe ich mich wohl durch den Pfeil der sonst die Drehzahl des Motor symbolisieren soll, täuschen lassen.


Nicht "sonst", die 1 geht direkt in den Motorblock, also auch in dem Fall gibst Du eine Geschwindigkeit an.
Also alles gut, freut mich.



DarkDust
29.12.2019, 06:23

Als Antwort auf den Beitrag von Lok24

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Hallo Lok24,
ich habe auch den Fehler gemacht und gedacht, die Eingänge gelten global.
Soll heißen, Eingang 1 hat auch in anderen Aktionsblöcken die gleichen Wert. Aber das ist ja so nicht.
In einem anderen Aktionsblock mit Eingängen, gelten die wieder nur für den einen Aktionsblock.
Deshalb hat mich das verwirrt, vor allem weil ja auch ein Aktionsblock noch in einem anderen integriert war. Man muss eben die Eingänge immer nur als Eingang für den einen Aktionsblock sehen.

Danke für Deine Hilfe!

Jochen



Lok24
29.12.2019, 09:10

Als Antwort auf den Beitrag von DarkDust

Editiert von
Lok24
29.12.2019, 09:53

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Hallo Jochen,

ah, alles klar!

Nein, wie Du erkannt hast, das sind immer die Parameter eines Blocks
Als in einer "normalen" Programmiersprache
Call MyBlock("12","16")

Globale Variablen gibt es aber auch, die benutze ich oft, im Weißen Tab, die Kiste mit der Weltkugel.

Aber Du könntest Mir einen Gefallen tun:
Mal das "Innenleben" des ersten Blocks (der mit dem roten Pfeil, Justierung) hier zeigen?
Danke.

Grüße

Werner



DarkDust
30.12.2019, 20:47

Als Antwort auf den Beitrag von DarkDust

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

[image]



Der Code um den Scankopf auf Mittelstellung zu programmieren sieht so aus.
Zuerst fährt der Scankopf soweit bis er am Anschlag stehen bleibt und von dort aus 145 Grad zurück. Da ist dann die Mittelstellung.

Jochen



Lok24
31.12.2019, 10:03

Als Antwort auf den Beitrag von DarkDust

Re: Lego Boost App / Powered Up-App (nummerische / logische Eingänge (Parameter)

Hallo Jochen,

danke, das bestätigt meine Theorie ,-)

Guten Rutsch!

Grüße

Werner