CFW: Brickly (war Blockly)

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 23 Dez 2016, 17:44

Okay, haben mit Kakao und Plätzchen die Motorfunktion getestet - auch das klappt!

Sag mal, wird es auch irgendwann sowas wie Multithreading geben? Nur so, um z.B. "nebenbei" eine Lampe blinken zu lassen?

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

jona2004
Beiträge: 116
Registriert: 10 Jun 2011, 22:30

Re: CFW: Brickly (war Blockly)

Beitrag von jona2004 » 23 Dez 2016, 21:46

Hallo MoG,
Danke für den Einsatz, ich bin noch nicht zu Testen gekommen, aber ich habe mir aber den python code für die Motorsteuerung angeschaut. Wenn ich es richtig verstanden habe, wird der Eingangswert auf 0 ... 100 limitiert und dann auf die PWM = Motorenwerte 0 .... 512 übersetzt. Zusätzlich kommt noch die Richtungsangabe (rechts/links) hinzu.
In RoboPro kann man die Motoren mit den Werten -512 ... +512 (respektive in der vereinfachten Form -8 ... +8) ansteuern.
Das Vorzeichen gibt den rechts/links Lauf vor. Das fand ich für einige Regelalgorithmen ganz praktisch, weil man dann am Nullpunkt keine Fallunterscheidung treffen musste.
Vielleicht eine kleine Anregung.

Frohe Weihnachten Joachim

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 23 Dez 2016, 22:01

So, jetzt gibt es auch Support für Encodermotoren. Da nehme ich gerne Feedback, wie man das ggf. verständlicher darstellen kann.

Außerdem ist das auf TXT-Encoder-Motoren eingestellt. Meines Erachtens gab/gibt es auch welchen mit anderen Übersetzungsverhältnissen. Die müsste man dann ggf. separat einbinden. Das auch noch am Motor-Block konfigurierbar zu machen ist m.E. overkill und macht es nur noch unübersichtlicher als es eh schon ist ....

Mit positiven und negativen Werten zu arbeiten ist für Anfänger m.E. eher weniger einleuchtend, von daher würde ich das links/rechts-Ding nicht weglassen. Aber ich könnte zusätzlich negative Werte akzeptieren, die dann eben die eingestellte Drehrichtung umkehren.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 23 Dez 2016, 22:06

MasterOfGizmo hat geschrieben: Über Weihnachten wird aber nicht mehr sehr viel passieren.
Yupp, is klar, das passiert einfach vorher...

DANKE und frohes Fest!
Peter

PS.
mit den vielfältigen Möglichkeiten brauchen wir jetzt aber doch irgendwas, um Programme up- und downloaden zu können.......
Moderative Beiträge sind explizit gekennzeichnet!

richard.kunze
Administrator
Beiträge: 555
Registriert: 26 Dez 2015, 23:49
Wohnort: Rhein-Main-Gebiet

Re: CFW: Brickly (war Blockly)

Beitrag von richard.kunze » 23 Dez 2016, 22:23

PHabermehl hat geschrieben:Sag mal, wird es auch irgendwann sowas wie Multithreading geben? Nur so, um z.B. "nebenbei" eine Lampe blinken zu lassen?
PHabermehl hat geschrieben:mit den vielfältigen Möglichkeiten brauchen wir jetzt aber doch irgendwas, um Programme up- und downloaden zu können.......
Ich bin nicht sicher ob MoG das in Brickly einbauen will (das soll ja explizit besonders einfach sein), aber RoboBlocks wird sowohl Laden/Speichern von (RoboBlocks-)Apps anbieten als auch Mutlithreading-fähig sein. Das kommt aber ganz bestimmt vor Weihnachten nicht mehr :-)

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 23 Dez 2016, 22:41

Ich weiss nicht, was ich noch alles einbaue. Sehr bald kommt erstmal ein Skill-Level-System, damit ich alles, was ich jetzt an überflüssigem Kram eingebaut habe auch wieder abschalten kann :D
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 23 Dez 2016, 23:18

Ich freue mich schon jetzt wie ein kleines Kind (in der Hoffnung, daß das Kind sich dann morgen freut...)

Es wäre halt sehr schön, wenn man ein Brickly-Programm weitergeben könnte. Und naiv wie ich bin, dachte ich, daß man ja "nur" den Programmspeicher in irgendeiner Form dumpen und abspeichern muß, sozusagen einen Download des Programms im Browser. Und dann geht das ja bestimmt auch irgendwie wieder rückwärts...

Eine Möglichkeit zur Dokumentation (hardcopy, Ausdruck der einzelnen Module) wäre auch ganz toll, geht aber notfalls auch per screenshot - scrollen - screenshot...

Ganz wesentlich jetzt aber nochmal herzlichen Dank an Euch alle, die Ihr so viel Zeit und Herzblut für diese Projekte aufbringt!

Frohes Fest dann und viele Grüße
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 23 Dez 2016, 23:42

richard.kunze hat geschrieben:Das kommt aber ganz bestimmt vor Weihnachten nicht mehr :-)
Nach Weihnachten ist vor dem nächsten Weihnachten...
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 24 Dez 2016, 10:55

PHabermehl hat geschrieben:Ich freue mich schon jetzt wie ein kleines Kind (in der Hoffnung, daß das Kind sich dann morgen freut...)
So gehört sich das ... ist der TXT ein Weihnachtsgeschenk?
Es wäre halt sehr schön, wenn man ein Brickly-Programm weitergeben könnte. Und naiv wie ich bin, dachte ich, daß man ja "nur" den Programmspeicher in irgendeiner Form dumpen und abspeichern muß, sozusagen einen Download des Programms im Browser. Und dann geht das ja bestimmt auch irgendwie wieder rückwärts...
Das aktuelle Programm liegt auf dem TXT unter

Code: Alles auswählen

  /opt/ftc/apps/user/1f2d90a3-11e9-4a92-955a-73ffaec0fe71/brickly.xml
und der daraus generirte Python-Code unter

Code: Alles auswählen

  /opt/ftc/apps/user/1f2d90a3-11e9-4a92-955a-73ffaec0fe71/brickly.py
Du kannst übrigens ganze Teile per rechtsklick "kollabieren" und dann "deaktivieren". So machen das meine Kinder immer, wenn sie Code "aufheben" wollen.
Eine Möglichkeit zur Dokumentation (hardcopy, Ausdruck der einzelnen Module) wäre auch ganz toll, geht aber notfalls auch per screenshot - scrollen - screenshot...
Es gibt in Netz Leute, die die Grafiken versucht haben zu exportieren. Aber das ist wohl etwas knifflig:
https://groups.google.com/forum/#!topic ... OW5cQCZSf0
Ganz wesentlich jetzt aber nochmal herzlichen Dank an Euch alle, die Ihr so viel Zeit und Herzblut für diese Projekte aufbringt!
Im Prinzip ist es ja purer Egoismus, dass ich keinen PC am Laufen halten will, nur damit die Kinder den TXT benutzen können.
Frohes Fest dann und viele Grüße
Peter
Von mir auch!
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 25 Dez 2016, 20:52

Hallo MoG,
wir haben heute ein bisschen mit dem Industry Robots II Roboter gespielt.
Dabei stolperten wir ein wenig über einen von Dir schon genannten Punkt - der Robby hat ja keine Encoder-_Motoren, sondern Power- und S-Motoren mit Impulszahnrädern, und damit eine "dramatisch" unterschiedliche Pulszahl pro Umdrehung.
Bestünde die Möglichkeit, daß bie der Motorsteuerung doch irgendwo die Anzahl Pulse pro Umdrehung wählbar wäre? Oder das nicht Umdrehungen sondern Anzahl Schritte vorgegeben werden?
Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 25 Dez 2016, 23:04

PHabermehl hat geschrieben: Bestünde die Möglichkeit, daß bie der Motorsteuerung doch irgendwo die Anzahl Pulse pro Umdrehung wählbar wäre? Oder das nicht Umdrehungen sondern Anzahl Schritte vorgegeben werden?
Dann würde ich eher eigene Blöcke für diese anderen Motoren anlegen. Ggf. in einer eigenen Baukasten-spazifischen Kategorie. Allerdings habe ich weder einen solchen Kasten noch andere Encoder-Motoren als die aus dem Discovery-Set.

Am einfachen behilfst Du Dir zur Zeit, indem du in den Umdrehungen-Teil eine Multiplikation mit dem Übersetzungsverhältnis einsetzt.

Auf Schritte auszuweichen fände ich schade. Das macht die Benutzung für die meisten Leute deutlich schwieriger. Meine Kinder wüssten nicht, wie sie die Schritte eines TXT-Motors rausfinden sollten.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 29 Dez 2016, 00:34

So, wir sind von den Schwiegereltern zurück :mrgreen:
MasterOfGizmo hat geschrieben:
PHabermehl hat geschrieben:Ich freue mich schon jetzt wie ein kleines Kind (in der Hoffnung, daß das Kind sich dann morgen freut...)
So gehört sich das ... ist der TXT ein Weihnachtsgeschenk?
Ja, zum Teil für mich selbst, vor allem aber für unsere 9-jährige Tochter. Sie hat etwas Scratch-Erfahrung und gestern das von Dir weiter oben verlinkte Blockly-Trainigslager (bis auf Level 10) komplett und alleine abgearbeitet, morgen gehts dann an eine Ampelsteuerung mit Brickly auf dem TXT.
Es wäre halt sehr schön, wenn man ein Brickly-Programm weitergeben könnte. Und naiv wie ich bin, dachte ich, daß man ja "nur" den Programmspeicher in irgendeiner Form dumpen und abspeichern muß, sozusagen einen Download des Programms im Browser. Und dann geht das ja bestimmt auch irgendwie wieder rückwärts...
Das aktuelle Programm liegt auf dem TXT unter

Code: Alles auswählen

  /opt/ftc/apps/user/1f2d90a3-11e9-4a92-955a-73ffaec0fe71/brickly.xml
und der daraus generirte Python-Code unter

Code: Alles auswählen

  /opt/ftc/apps/user/1f2d90a3-11e9-4a92-955a-73ffaec0fe71/brickly.py
Du kannst übrigens ganze Teile per rechtsklick "kollabieren" und dann "deaktivieren". So machen das meine Kinder immer, wenn sie Code "aufheben" wollen.
Das ist erstmal schon absolut ausreichend. Ich werd vielleicht 'n kleines GUI für das hin- und herschieben von Projektdateien per scp machen, aber so kann ich die Programme problemlos "irgendwo" sichern...

Vielen Dank für die Infos!

Bzgl. des Ausdruckens muß ich mir den Link nochmal genauer ansehen, da scheint mir im letzten Eintrag vom 23.Mai gleich ne js-funktion zum konvertieren des Workspace in SVG beigefügt zu sein (https://gist.github.com/acbart/dcda6775 ... 54270dc80b). Bin leider etwas unwissend - evtl. kannst Du da ja bitte nochmal einen Blick drauf werfen. Vielleicht kannst Du dann mit dieser Funktion in Brickly einen Button einbauen, der dann das SVG generiert und als download anbietet.
Bis später
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 29 Dez 2016, 00:45

MasterOfGizmo hat geschrieben: Dann würde ich eher eigene Blöcke für diese anderen Motoren anlegen. Ggf. in einer eigenen Baukasten-spazifischen Kategorie. Allerdings habe ich weder einen solchen Kasten noch andere Encoder-Motoren als die aus dem Discovery-Set.
Hallo MoG,
zur Info, "früher" gab es Rast-Impulszahnräder, zunächst mit fünf (https://ft-datenbank.de/details.php?Art ... 36a7a250f4), dann mit vier Zähnen (https://ft-datenbank.de/details.php?Art ... d2b5d23a89), die in Verbindung mit einem ft-Taster dann also vier (resp. acht bei Berücksichtigung beider Flanken) bzw. fünf (resp. zehn) Pulse pro Umdrehung lieferten. Die "Gemeinheit" dabei ist daß man ja das Impuls-Zahnrad zur Erhöhung der Genauigkeit noch untersetzen kann. Es muß ja auch nicht zwangsläufig auf der Motor- oder Getriebeausgangswelle sitzen. Das betrifft dann vor allem selbstentworfene Modelle...

Zugegebenermaßen sind das Anwendungsfälle, die weit ab von dem liegen, wofür du Brickly überhaupt entwickelt hast. Aber vielleicht wäre ein zweiter Counter-Motor-Block mit einem einstellbaren "n Impulse pro Umdrehung" da die Lösung...

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 29 Dez 2016, 08:02

Ich werde mal testweise den Motorteil in einzelne Blöcke auftrennen. Dann wird das übersichtlicher und man kann auch Übersetzungen angeben.

Aber jetzt mache ich gerade den In-App-Restart. Das macht die Sache viel schneller. Dauert noch zwei, drei Tage. Ich poste dann hier, wie und wo man an. Die Versionen kommt.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 29 Dez 2016, 12:02

Super, vielen Dank. Im Moment scheint ja gerade überall Dampf auf dem Kessel zu sein.
Naja, unser TXT mit 0.9.2 und Brickly tut :-) und ich bin nebenbei dran, den RPi2 von meiner Tochter (der bei ihr durch einen RPi3 ersetzt wurde) als Steuerung an unseren Maoam-Automaten viewtopic.php?f=6&t=3168 zu frickeln, damit der endlich "standalone" läuft...

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 29 Dez 2016, 16:16

Es gibt ein Update unter:
https://github.com/harbaum/cfw-apps/raw ... rickly.zip
Einfach mit dem PC runterladen und dann auf der Startseite des Web-Interface des TXT's ganz unten wieder hochladen.

In dieser Version wird die App nicht bei jedem "Run" neu gestartet. Damit dauert es nur noch ca. 3-4 Sekunden für den reinen Datenupload vom Browser auf den TXT bis nach einem Klick auf "Run" der Code läuft. Das hat aber noch Optimierungpotenzial und ich denke, dass ich im nächsten Update unter 1 Sekunde komme,
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 29 Dez 2016, 16:21

PHabermehl hat geschrieben: Bzgl. des Ausdruckens muß ich mir den Link nochmal genauer ansehen, da scheint mir im letzten Eintrag vom 23.Mai gleich ne js-funktion zum konvertieren des Workspace in SVG beigefügt zu sein
Ja, das denke ich auch. Aber da gibt es erstmal ein paar wichtigere Bausteillen. U.a. Laden und Speicher mehrerer Projekte, Optimierung der Motor-Ansteuerung, Export und Import von Projekten (damit man Porgramme tauschen kann) und ganz dringend: Töne am Handy aufzeichnen und am TXT abspielen. Das wünschen sich meine Kinder ganz dringend ...

Und der ganze Bedienablauf soll schnell, einfach und flüssig sein. Das ist mir am wichtigsten. Aber das wird gerade ja deutlich besser ,,,
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
MasterOfGizmo
Beiträge: 1815
Registriert: 30 Nov 2014, 07:44

Re: CFW: Brickly (war Blockly)

Beitrag von MasterOfGizmo » 29 Dez 2016, 21:20

Neue Version :-)

https://github.com/harbaum/cfw-apps/raw ... rickly.zip

Wenn die Brickly-App erstmal läuft sind Start und Stopp nun eine Sache von Millisekunden.
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 29 Dez 2016, 23:11

Da bin ich doch glatt geneigt, in eine mir sonst eher fremde Ausdrucksweise zu verfallen: Nur geil, danke :mrgreen:
Moderative Beiträge sind explizit gekennzeichnet!

Benutzeravatar
PHabermehl
Moderator
Beiträge: 1720
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: CFW: Brickly (war Blockly)

Beitrag von PHabermehl » 29 Dez 2016, 23:27

Hallo MoG,

mir ist gerade aufgefallen, daß nun bei einem Stopp nicht die Ausgänge resettet werden. Wäre das ggf. auch im Sinne einer "Notabschaltung" nicht vielleicht sinnvoll?

Gruß
Peter
Moderative Beiträge sind explizit gekennzeichnet!

Antworten