Mohii
15.01.2022, 19:17

EV3 Programm Code Erklärung?

Hey,

Ich muss ein Projekt mit meiner Gruppe vorstellen im Fach Informatik.

Den Programm Code muss ich dann vorstellen und erklären, was jeder Block für eine Funktion hat (unten das Bild).

Ich bräuchte dann Hilfe und wil wissen was die einzelnen Blöcke können und was der Roboter macht.


[image]



5 vorhergehende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen Beitragsbaum

Technicmaster0
16.01.2022, 16:16

Als Antwort auf den Beitrag von Lok24

Re: EV3 Programm Code Erklärung?

Permalink

1000steine-Code

BBCode

HTML


Lok24 hat geschrieben:

Doch, mit der Variablen wird die Anzeige am Display aktualisiert; allerdings wird sie bei jedem Schleifendurchlauf um 0 erhöht...
Und die Schleife wird verlassen bis der Sensor blau meldet. (Standard wäre "gelb")
Da in der Schleife ein Befehl mit unbestimmter Dauer läuft kann der Interrupt sinnvoll sein, denke ich.
Aber der allererste Block ist schon eher sinnlos, einen Timer auslesen, den ich nie gesetzt habe?
Alles merkwürdig.
Deswegen meine Frage wer das Programm geschrieben/ vorgegeben hat.

Die Variable wird nie auf dem Display ausgegeben. Sie wird um 0,00irgendwas erhöht und dann wieder in die Variable geschrieben. Aber ein Display Block ist damit nicht verbunden.
Die Schleife selbst hat als Abbruchbedienung die Farben blau und gelb. Das sind genau die Farben, die der Schalter unterscheidet. Je nachdem, wo das Programm grad ist, wird bei gelb das obere ausgeführt oder die Schleife abgebrochen. Bei Blau wird nur abgebrochen. Das könnte man alles viel schöner machen.
Der Interrupt wird nur ausgeführt, wenn am Anfang des Schalters blau ist. Aber wie gesagt, dann wäre eh die Abbruchbedienung der Schleife da.
Vielleicht war das mit der Abbruchbedienung auch anders herum, dass die nur abgebrochen wird, wenn das nicht erfüllt ist. Aber dann bräuchte man den Schleifeninterrupt auch nicht.

Den ersten Block finde ich hingegen gar nicht so sinnlos. Man weiß ja nicht unbedingt, ob der Timer schon vor dem Programm läuft. Damit kann man quasi den Startwert auslesen. Es wäre natürlich einfacher, den Timer am Anfang zurückzusetzen.

Dass alles merkwürdig ist, da gebe ich dir recht. Sieht eher wie n automatisch generierter Code aus



Lok24
16.01.2022, 16:35

Als Antwort auf den Beitrag von Technicmaster0

Re: EV3 Programm Code Erklärung?

Technicmaster0 hat geschrieben:

Die Variable wird nie auf dem Display ausgegeben. Sie wird um 0,00irgendwas erhöht und dann wieder in die Variable geschrieben. Aber ein Display Block ist damit nicht verbunden.
links neben dem "+" Block? Stimmt, das steht nicht 0, da steht offenbar 0,000x, das ist hier aber nur zu entziffern, wenn ich das Bild erstmal mit Irfanview verbessere

Technicmaster0 hat geschrieben:
Die Schleife selbst hat als Abbruchbedienung die Farben blau und gelb. Vielleicht war das mit der Abbruchbedienung auch anders herum, dass die nur abgebrochen wird, wenn das nicht erfüllt ist.

Nein das stimmt schon so. Aber ein Schleifeninterrupt kann sinnvoll sein, um den Motor sofort zu stoppen - nur an der Stelle nicht ....

Technicmaster0 hat geschrieben:
Den ersten Block finde ich hingegen gar nicht so sinnlos. Man weiß ja nicht unbedingt, ob der Timer schon vor dem Programm läuft. Damit kann man quasi den Startwert auslesen. Es wäre natürlich einfacher, den Timer am Anfang zurückzusetzen.

Der Startwert ist 0....alle acht Timer starten beim Programmstart.

Technicmaster0 hat geschrieben:
Dass alles merkwürdig ist, da gebe ich dir recht. Sieht eher wie n automatisch generierter Code aus



Technicmaster0
16.01.2022, 16:46

Als Antwort auf den Beitrag von Lok24

Re: EV3 Programm Code Erklärung?

Lok24 hat geschrieben:

links neben dem "+" Block?

Da war ich wohl blind. Ich war davon überzeugt, dass das ein Motorblock sei...

Lok24 hat geschrieben:
Nein das stimmt schon so. Aber ein Schleifeninterrupt kann sinnvoll sein, um den Motor sofort zu stoppen - nur an der Stelle nicht ....

Dieses ganze Schalter-Schleife-Interrupt Konstrukt ergibt halt nicht viel Sinn.

Lok24 hat geschrieben:
Der Startwert ist 0....alle acht Timer starten beim Programmstart.

Vielleicht wollte die Lehrkraft beibringen, dass man sowas nicht erwarten darf. Sonst gibts später bei Low Level Sachen Probleme
Es ist allgemein eine gute Idee, sicher zu stellen, dass alle Initialzustände korrekt sind. Gilt ja auch für Variablendeklaration und Definition.



Mohii
16.01.2022, 19:22

Als Antwort auf den Beitrag von Technicmaster0

Re: EV3 Programm Code Erklärung?

[image]

Technicmaster0 hat geschrieben:
Lok24 hat geschrieben:
links neben dem "+" Block?

Da war ich wohl blind. Ich war davon überzeugt, dass das ein Motorblock sei...

Lok24 hat geschrieben:
Nein das stimmt schon so. Aber ein Schleifeninterrupt kann sinnvoll sein, um den Motor sofort zu stoppen - nur an der Stelle nicht ....

Dieses ganze Schalter-Schleife-Interrupt Konstrukt ergibt halt nicht viel Sinn.

Lok24 hat geschrieben:
Der Startwert ist 0....alle acht Timer starten beim Programmstart.

Vielleicht wollte die Lehrkraft beibringen, dass man sowas nicht erwarten darf. Sonst gibts später bei Low Level Sachen Probleme
Es ist allgemein eine gute Idee, sicher zu stellen, dass alle Initialzustände korrekt sind. Gilt ja auch für Variablendeklaration und Definition.



Mohii
16.01.2022, 19:24

Als Antwort auf den Beitrag von Mohii

Re: EV3 Programm Code Erklärung?

Mohii hat geschrieben:

[image]

Technicmaster0 hat geschrieben:
Lok24 hat geschrieben:
links neben dem "+" Block?

Da war ich wohl blind. Ich war davon überzeugt, dass das ein Motorblock sei...

Lok24 hat geschrieben:
Nein das stimmt schon so. Aber ein Schleifeninterrupt kann sinnvoll sein, um den Motor sofort zu stoppen - nur an der Stelle nicht ....

Dieses ganze Schalter-Schleife-Interrupt Konstrukt ergibt halt nicht viel Sinn.

Lok24 hat geschrieben:
Der Startwert ist 0....alle acht Timer starten beim Programmstart.

Vielleicht wollte die Lehrkraft beibringen, dass man sowas nicht erwarten darf. Sonst gibts später bei Low Level Sachen Probleme
Es ist allgemein eine gute Idee, sicher zu stellen, dass alle Initialzustände korrekt sind. Gilt ja auch für Variablendeklaration und Definition.


Hier wäre dann ein schärferes Bild davon

Also im Prinzip sollte der Roboter ein gelbes Viereck abfahren. Wenn er blau sieht dann biegt er nach links ab



Mohii
16.01.2022, 19:25

Als Antwort auf den Beitrag von Mohii

Re: EV3 Programm Code Erklärung?

Mohii hat geschrieben:

Mohii hat geschrieben:

[image]

Technicmaster0 hat geschrieben:
Lok24 hat geschrieben:
links neben dem "+" Block?

Da war ich wohl blind. Ich war davon überzeugt, dass das ein Motorblock sei...

Lok24 hat geschrieben:
Nein das stimmt schon so. Aber ein Schleifeninterrupt kann sinnvoll sein, um den Motor sofort zu stoppen - nur an der Stelle nicht ....

Dieses ganze Schalter-Schleife-Interrupt Konstrukt ergibt halt nicht viel Sinn.

Lok24 hat geschrieben:
Der Startwert ist 0....alle acht Timer starten beim Programmstart.

Vielleicht wollte die Lehrkraft beibringen, dass man sowas nicht erwarten darf. Sonst gibts später bei Low Level Sachen Probleme
Es ist allgemein eine gute Idee, sicher zu stellen, dass alle Initialzustände korrekt sind. Gilt ja auch für Variablendeklaration und Definition.


Hier wäre dann ein schärferes Bild davon

Also im Prinzip sollte der Roboter ein gelbes Viereck abfahren. Wenn er blau sieht dann biegt er nach links ab


Und jetzt bräuchte ich Hilfe und weiß nicht, wie ich die Blöcke da erklären soll



Lok24
16.01.2022, 19:54

Als Antwort auf den Beitrag von Mohii

Re: EV3 Programm Code Erklärung?

Hallo,

ja so kann man was erkennen, danke.
Aber es fehlt der rechte Programmteil?

Hast Du die Hilfe gefunden und schon mal geschaut was die Blöcke ungefähr so machen?
Also nicht im Zusammenspiel, sondern erstmal jeder für sich alleine.

Ich stelle mir das so vor:
Ich habe einen blauen Fußboden und lege eine gelbe Pappe in die Mitte des Raumes, da stelle ich den Robotor drauf.
Und dann fährt er, und wenn er außerhalb des Gelb kommt, biegt er links ab (und kommt somit wieder auf seine Pappe)?
Richtig?

Soll das nur einmal passieren oder sich immer wieder wiederholen?
(Ich vermute mal letzteres)

Und wichtigste Frage: wer hat das Programm entwickelt, deine Gruppe?
(Bis wann soll es fertig sein?)

Zwei Sachen noch:
Bitte nur Antworten, nicht zitieren,das wird sonst unübersichlich, und alle Antworten in einem Post bündeln, danke!

Ich habe morgen Zeit mich darum zu kümmern.



Mohii
16.01.2022, 20:13

Als Antwort auf den Beitrag von Lok24

Re: EV3 Programm Code Erklärung?

Hey,
Also ich habe überall recherchiert, was die Blöcke so drauf haben und habe nichts gefunden. Vielleicht hast du ja was, was du mir schicken kannst. Und da zu, was du aufgeschrieben hast mit dem Teppich stimmt auch. Und zu deiner Frage, das meiste hat halt eine Person aus meiner Gruppe gemacht, aber das ist eig. irrelevant. Und das Projekt müssen wir am Dienstag vorstellen, deswegen will ich mich halt so vorbereiten



Technicmaster0
17.01.2022, 00:06

Als Antwort auf den Beitrag von Mohii

Re: EV3 Programm Code Erklärung?

Mohii hat geschrieben:

Hey,
Also ich habe überall recherchiert, was die Blöcke so drauf haben und habe nichts gefunden. Vielleicht hast du ja was, was du mir schicken kannst. Und da zu, was du aufgeschrieben hast mit dem Teppich stimmt auch. Und zu deiner Frage, das meiste hat halt eine Person aus meiner Gruppe gemacht, aber das ist eig. irrelevant. Und das Projekt müssen wir am Dienstag vorstellen, deswegen will ich mich halt so vorbereiten

Die Software, die man sich kostenlos herunterladen kann, hat eine Hilfefunktion. Den Link findest du weiter oben.

Hat jemand getestet, ob das Programm tatsächlich funktioniert?



Lok24
17.01.2022, 10:01

Als Antwort auf den Beitrag von Mohii

Editiert von
Lok24
17.01.2022, 10:29

Re: EV3 Programm Code Erklärung?

Hallo Mohii,

Ich hatte Dir eigentlich im ersten Beitrag alles geschrieben

1.) LabView für EV3 installieren
- das scheint ja inzwischen geklappt zu haben, da Du die .EV3 öffnen konntest

2.) Programm starten und F1 für Hilfe drücken
- das hast Du nicht gemacht?

Du landest dann hier:

[image]



Das erste Symbol in eurem Programm ist der "Zeitgeber", wenn Du das anklickst sieht das dann so aus:

[image]


Und da steht alles. Ergebnis der Recherche:
Der Wert des Zeitgebers mit der Nummer 1 wird aum Ausgang des Blocks bereitgestellt.

Das musst Du halt für alle verschiedenen Blöcke machen.

Wie auch technicmaster0 bin ich nicht ganz davon überzeugt dass Euer Programm tut was es soll.....
Zur Aufgabe, der Roboter soll doch sicher wieder auf das Gelbe zurück, wenn er blau sieht? Oder einfach stehenbleiben (das wäre ja keine sinnvolle Aufgabe)

Hier mal eine grobe Struktur, wie ich das als ersten Test programmieren würde, es ist genau die von Euch entwickelte Methode mit Schleife und Abfrage der Farbe.

[image]




Zum Programm, Du schreibst "Wenn er blau sieht dann biegt er nach links ab", das genügt nicht,er muss dann auch ein kleines Stück geradeaus fahren.
Warum? Geh mal aus Deinem Zimmer in den Flur (Huch, falscher Boden), drehe dich nach Links (90°) und prüfe den Boden (Huch, falscher Boden), drehe nach links...
Aber das hängt ganz von der Programmstruktur ab.



10 nachfolgende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen

Gesamter Thread: