• Herzlich willkommen!

    Das Team von »Doctor Brick« heißt Euch herzlich willkommen und wünscht Euch viel Spaß hier!
    »Doctor Brick« ist eine anerkannte Community (RLOC) für erwachsene LEGO Enthusiasten, auch AFOLs (= Adult Fans Of LEGO) genannt.
    Wir können uns hier über alle Belange des LEGO Hobbys austauschen wie z.B. Set- und Teilefragen, Vorstellung und Rezensionen von Legobauten.
    Bitte beachtet die Nutzungsbedingungen und den Verhaltensleitfaden.

Lego Spike Prime / Essential

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Am Hub können max 20 Programme gespeichert werden. Beim Einschalten des Hubs wird das "Herz" Programm gestartet (universal testprogramm von Motoren und sensoren)
Die eigenen Programme kann man über 2 Pfeiltasten auswählen (1-20 wird am auf der 25 Punkt LED Matrix angezeigt), mit dem großen Einschaltbutton wird es dann gestartet.
In den Programmen selbst kann man noch die Beleuchtung des Einschaltbuttons Programmieren (ca 9 Farben) und dei 2 Pfeiltasten mit Funktionen belegen.
Lange drücken des Einschaltbuttons schaltet den Hub wieder aus.
 

Lok24

Elektronikbahner
Registriert
11 Sep. 2019
Beiträge
1.451

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Wobei ich da eher skeptisch bin dass das der Zug-Hub und Technic Hub einen eigenen Prozessor und Speicher haben und Programmen speichern und ausführen können.

Da würde sich ja Lego selbst die Produklinie "Lego Spike" auf lange Sicht komplett unnötig machen.
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Neue Erkenntnis:
Der Hub muss regelmäßig (am Kabel) sein Firmware aktualieren wobei bisher immer der gleiche Firmwareversionstand nach dem Update ist. Warum weiß ich nicht.

PU Motoren kann man ohne bedenken während des Programmablaufs ab und anstecken.
SPIKE Motoren die nur als Winkelgeber agieren, dh sie selber nicht laufen, dürfen auch abgesteckt werden.
SPIKE Motoren die aktiv sind und zb in einer Programmschleife auf ein das signal des winkelgebermotors warten und somit jederzeit laufen können, beenden das Programm sobald man ihn absteckt.
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Das Lego "eigene" Dateiformat am PC mit der Dateiendung "llsp" ist ein simples Zip File.
Darin findet sich
icon.svg
manifest.json
scratch.sb3

Leider kann Scratch mit der datei nix anfangen, ich denke mal weil die passenden Codeblöcke in scratch nicht vorhanden sind.

Umgekehrt kann man aber eine Scratch Datei welche WeDo,Boost und EV3 Blöcke enthält wieder verpacken und mit Spike öffnen. Dann sieht man alle Blöcke und hat sie sogar in der Auswahl links und könnte selbst darin programmieren (aber nix sinnvolles weil der Spike hub speichert und verarbeitet es nicht und das Programme verbindet sich auch nicht mit den angeführten Hubs).


Bei PU-Motoren mit Winkelsensor wird dieser, wie schon bekannt, nicht angezeigt.
Sehr wohl funktioniert aber "Motor X Grad drehen".
Der Befehl "Drehe Motor X Umdrehungen" funtktioniert wiederum nicht.


Hab mit dem Farbsensor Prototypen einen manuel zu bedienenden Mehrfachschalter gebaut der später wie der einer Hydraulikbedieneinheit (hebel-hoch-runter-links-rechts) aussehen soll.

Der Farbsensor kennt
Schwarz - wenns recht spiegelt glaubt er manchmal es ist weiß
Spike-Prime-Violett
blau - Technic Sitz Blau zb
Medium Azure?
Grün
Gelb
Rot
Weiß - Light Bluish Grey wird auch als Weiß erkannt
Farblos

Kann damit den Motor des Schwanenhals als auch der Stützeinheit separat bedienen.
Der Schalter kann mit den 9 möglichen Farben theortisch 9 Schaltzuständen abbilden. Praktisch werden 6-8 möglich sein je nach Schalteraufbau da man zwischen den Schaltenden Farben eine Trennfarbe einbauen soll damit man den schalter auch auf 0 stellen kann.

Programme die am Hub gespeichert sind können nicht wieder in die (PC-) App zurückkopiert werden.
Wenn das Orignal am PC weg ist und der Hub ein Firmwareupdate macht ist alles weg.

Edit: farbe Korrigiert
 
Zuletzt bearbeitet:

Ts__

Eisenbahner
Registriert
6 Jan. 2016
Beiträge
2.542
Ort
Zwickau / Sachsen
Hallo Georg,

berichte bitte weiter, ich finde das sehr interessant. Kann zwar nicht viel beitragen, aber du hast auch "stille" Mitleser

Thomas
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Lenkwinkelabnahme geht automatisch permanent und war eigentlich das leichteste am ganzen.
Über die Hebel kann ich später den schwanenhals, die Stütze und Verriegelung manuell nachregel. Als Zusatz könnte ich noch über den Hebel Zb einen begrenzent Lenkwinkel auswählen um Zb beim zurückfahren die Lenkung zu deaktivieren.
An und absenken des Schwanenhals geht theortisch automatisch über das auslesen des Neigungswinkel des Hubs. Ob es praktisch dann geht weiß ich noch nicht. Ausgelöst wird es durch eine der beiden Pfeiltasten am Hub.
 

mick29

Meister
Registriert
26 Jan. 2015
Beiträge
2.747
Ort
Krumbach
wie viel Widerstand hat der Moter, wenn er als Winkelsensor genutzt wird? wäre es auch denkbar einen 2.Motor einzubauen und damit die Fahrtrichtung zu erkennen und dadurch die Lenkung bei rückwärtsfahrt automatisch zu deaktivieren?
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
In etwa so wie bei den pu XL Motoren. Der Widerstand kommt durch das interne Planetengetriebe.
An so etwas hatte ich auch schon gedacht aber war mir dann zu zu aufwendig.
Da ich zum abkuppeln des Schwanenhals sowieso manuell (wie beim Vorbild) die Kabel abstecken muss wähle ich das auch über den Schalter aus.
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Neue Erkenntnis zum Spike Hub:

Es gibt den "Sensor" Zeitgeber. Der misst die Zeit ab dem Start des Programms und zählt laufend hinauf. Man kann den Zeitgeber zwar auf 0 zurücksetzen aber nie stoppen.

Zuerst dacht ich damit kann ich die Zeit ab auslösen eines Ereignisses messen zb als Stoppuhr. Das klappt so leider nicht. Eine sinnvolle verwendung ergibt sich mir damit momentan nicht.

Manuel kann man sich eine Stoppuhr bauen mit einer Schleife die eine Variable um zb 1 erhöht und dann 1 Sekunde wartet.


Sämtliche Elemente die im Programm sind aber nicht aktiv in einem Block ein Funktion haben (zb Reste die man zur Seite geschoben hat um sie für später aufzuheben) verbrauchen ebenfalls Speicher am Hub und werden mitübertragen.

Leider kann man auch keine fertigen Blöcke von einem Programm in eine anders kopieren am PC kopieren. Bei Android hab ich das noch nicht ausprobiert.

Soundeffekte werden nur am PC wiedergegeben, Pieptöne am Hub
 
Zuletzt bearbeitet:

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Stellmotoren die durch entsprechende Programmierung nicht permant durch einen "Winkelsensor"-Motor angesteuert werden können ohne Programmabstürze ab- und wieder angesteckt werden.

Die Werte von Variabeln sollten immer beim Programmstart auf einen Standartwert gestetzt werden.
Da ich beim Testen mehrmals hintereinander immer das gleiche Programm auf den Hub übertragen und gestartet habe, blieben höchstwahrscheinlich alte Werte im Speicher und haben zwischendurch zu unerklärichem Verhalten geführt welches ich vorher immer nur durch stromlos machen oder starten eines anderen Programms beheben kommte.

Zum Winkelauslesen der Motoren:
Unter den "Motoren"-Blöcken gibt es den Sersorwert "Position". Der gibt immer nur absolute Werte im Bereich von 0-360° aus. (Für meinen Zweck erfordert das eine höheren Programmieraufwand)

Unter "Erweiterte Motorblöcke" gibt es den Sensorwert "Grad Zählen". Dabei verhält sich der Spike-Motor wie ein Pu-Motor und zählt von der relativen Position +- ins "unendliche". Dabei wir der absolute 0-Punkt ignoriert und bei einem Programmstart/Ab-und-Anstecken-des-Motors wird der aktuelle Winkel zum realtiven Nullpunkt. (Hatte mich gefreut als ich den Block gefunden hab damit ich mein Programm vereinfachen könnte, hat sich aber dann durch den fehlenden absoluten 0-Punkt als nicht dafür geeignet herausgestellt :mad::facepalm:)
 

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
Kannst Du nicht beim Programmstart "Position" auslesen und dann mit "Grad zählen" weiterarbeiten?
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Klappt leider in dem Fall nicht da ich beim Sensormotor und Stellmotor zwingend den absoluten Nullpunkt brauche.
Sonst würde am Anhänger der Sensormotor am Königszapfen bei Programmstart entweder den relativen Wert 0 Grad ausgeben obwohl der LKW zum Anhänger zb 30 Grad verdreht steht oder die Programmierung würde um noch um ein vielfaches komplizierter.

Ein Programm zum Nullpunkkalibireren zb einer Lenkung bei der der Mittelpunkt über
("Grad zählen MAX" - "Grad zählen MIN") /2 = Mittelpunkt
ermittelt wird hab ich geschrieben, integrierte in mein Hauptprogramm verursacht das aber noch einen Programmabruch wobei ihc noch nicht weiß warum..
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Der Eindruck zum Windows Software ist mitlerweil nur noch OK.
Regelmäßig schmiert die laufenden Programmierinstanz ab und man muss das Lego Spike Programm neu starten.
Da es kein Log gibt kann man Fehler auch nur durch ständiges Probieren ausmerzen oder man hilft sich und bau selbst Variablen ein die mit jedem abgeschlossenen Bereich hochzählen/whatever.....

EDIT:
Variablen die Hochzählen um abgeschlossen Programmblöcke zu dokumentieren werden auch hochgezählt wenn der teil nicht korrekt ausgeführt wird.

Das selbe Programm im Streamingmodus wird korrekt ausgeführt, im Downloadmodus Standalone wird der betroffen Programmteil übersprungen.
 
Zuletzt bearbeitet:

RR76

Urgestein
Registriert
8 Apr. 2019
Beiträge
1.147
So langsam klingt das als ob man schon sehr puristisch sein muss um nicht auf Arduino etc. umzusteigen.
 

gatewalker

Urgestein
Registriert
7 Okt. 2018
Beiträge
1.765
Ort
Niederösterreich Bezirk Zwettl
Die Funktionen sind etwas denen von PU überlegen.
Mein bisheriger Eindruck ist das es softwaretechnisch noch nicht ganz ausgereift ist und momentan EV3 besser ist (hab aber kein EV3 zum direkten Vergleich, der Vorteil dort das man sogar Debian Linux darauf laufen lassen kann sagt schon einiges)

ein riesen Problem ist das es keine gescheite Dokumentation gibt. In der App gibt's zwar beispiele aber die sind eher rudimentär.
Ein Handbuch in denen alle Funktionen ausführlich erklärt sind wäre extrem hilfreich.
Selbiges wäre noch wichtiger für die Phyton Programmierschnittstelle.


Würde ich arduino programmieren können und es ein Adapter Board für die PU/Spike Motoren geben hatte ich das, mit meinem jetzigen Wissen wahrscheinlich, eher gekauft ;)

Prinzipiell läuft das Programm schon wie gewünscht und ich kann damit schon den Anhänger mit allen gewünschten Funktionen bauen. Was jetzt noch zu programmieren ist/noch-nicht-funktioniert sind nur Sicherheits-komfort-funktionen falls jemand andere Mal den Anhänger in Betrieb nimmt :biggrin:
 
Zuletzt bearbeitet:

GBCPeter

Herr der Bälle
Teammitglied
Registriert
21 Apr. 2012
Beiträge
3.404
Ort
Wuppertal
Hallo Georg
Den Arduino kannst du mit C++ programmieren, ist die Standardsprache dafür also kein Geheimnis.

mfg GBCPeter
 
Oben