Lok24
26.08.2020, 15:53

Editiert von
Lok24
27.08.2020, 08:42

+17Powered Up mit M5Stack Atom

Hallo zusammen,

heute möchte ich mal eine weitere Lösung für die bekannten Probleme mit Powered Up zeigen:

- kein Smartphone nötig
- Krokodil o.ä. lässt sich mit der FB regeln
- Zwei Motoren gegenläufig mit derselben Taste der FB
- Wenn es heute geht, geht es auch in 10 Jahren noch
- Plug and play (s.u.)

Das „Geheimnis“ ist ein kleiner Microprozessor, nur 3x3 Noppen groß.

Die Hardware

Es ist ein ESP32 „M5Stack ATOM Matrix“. Das Schöne daran: er hat oben eine 5x5 LED Matrix, und diese Fläche ist auch ein Taster.
Außerdem ist er genau 3x3 Noppen groß und grau ...

[image]



[image]



Das Testprogramm

Es handelt sich um ein c++ - Programm und nutzt die legoino-Bibliotheken von Cornelius Munz.
Ich habe das so gestaltet, dass der ATOM das Programm fest eingebaut hat, dennoch aber aus mehreren Optionen (Profilen) gewählt werden kann.



Die Idee

- Man überlegt sich eine Anwendung (z.B. FB mit Regelung für alle Motoren)
- Schreibt das Programm dazu (das gibt es als Beispiel auch zum Download)
- schreibt das fest in den Controller
- fertig

Ab dann macht dieser Prozessor nach dem Einschalten (1 sec) immer genau das und nur das.
(Bis jemand was neues reibschreibt, aber das muss man ja nicht….)

Dazu braucht er nur noch 5V, mehr nicht. Kein PC, kein SmartDevice, nichts von alledem. Vor allem: keine Ahnung was der überhaupt wie macht.

Und erweitert…

Im Video zeige ich wie man auch mehrere „Profile“ anlegen kann, also wie Remote und Hub agieren sollen, bei welchen Tastendrücken was wie passieren soll. Aber man könnte auch ein Profil „Haunted House“ oder „Karussell“ oder irgendwas anderes hinzufügen, in denselben Baustein.

Die Kosten

Die ATOM starten bei ca 6 $ beim Chinamann, der Matrix kostet da um 8$, meiner hat 16 € bei Bezug in D gekostet. Das war‘ schon.

In 10 Jahren …

… läuft das immer noch genauso, wenn nichts kaputtgeht (und man es sich verkneift, das LEGO Hub upzudaten….)

Für Entwickler

Man braucht
- die Arduino IDE
- die legoino-Bibliothek
- die ESP32-Bibliotheken
- einen PC

Das hat man in einer Viertelstunde zusammengesammelt, wenn man sich mittel bis wenig auskennt. Es gibt etliche Tutorials im Netz, da hab ich mein Weisheiten auch her. (habe aber länger gebraucht, da ich gar kein c++ kannte)

Plug and Play

Doch, schon.
Irgendwer (mit Ahnung)
- schreibt ein Programm („2 beliebige Motoren gegenläufig“)
- kauft den ATOM für x €
- schafft das Programm drauf (max. 5 Minuten Arbeit)
- und verkauft das Ganze für x +y € weiter

Der Empfänger steckt es an sein USB-Ladeteil, fertig.

Oder man hat in der Bekanntschaft jemanden der das kann. Wenn die Programme irgendwo vorliegen braucht man das nur zuammenzuklicken.

Ausblick

Was fehlt sind also Ideen, was man überhaupt programmieren kann und will und braucht, und Leute die des Ganzen mächtig sind.

Grüße

Werner

Ps:
Hier als Teaser mal das "Profil1", das ist schon sehr überschaubar....

void control1() {

int sstep = 10;
int sdelay = 400;
int vmax = 75;

if (FB.isLeftRemoteUpButtonPressed()) Speed = min(vmax, oldSpeed + sstep);
if (FB.isLeftRemoteDownButtonPressed()) Speed = max(vmax * -1, oldSpeed - sstep);
if (FB.isLeftRemoteStopButtonPressed()) Speed = 0;

if ( Speed != oldSpeed) {
TrainHub.setMotorSpeed(portA, Speed * 1);
TrainHub.setMotorSpeed(portB, Speed * -1);
oldSpeed = Speed;
disSpeed(Speed);
delay(sdelay);
}
}



Dirk1313 , RobbyRay , asper , hassel62 , cubo , MTM , Legoben4559 , aap134 , SuklaaTalvella , Ben® , Xris , Garbage Collector , tastenmann , freakwave , SirJoghurt , UncleTom , JuL gefällt das (17 Mitglieder)


31 vorhergehende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen Beitragsbaum

Ruppie
01.09.2020, 17:17

Als Antwort auf den Beitrag von Lok24

Re: Powered Up - Sensoren gehen jetzt

Lok24 hat geschrieben:

Hallo Marc,

Nichtsdestrotz. Als Laie halte ich das legoino immer noch für falsch.
Es darf nicht 0 ausgeben, wenn gar nix da ist.


Hallo Werner,
ich weis nicht genau wie der Farbsensor arbeitet: Vermutung er strahlt ein element an und wertet das Reflektierte Lich aus-

Wenn das so ist, wird eben in dem Falle, wo du nix vor den Sensor innerhalb des "erlaubten" Bereiches vor sen Sensor hälst auch nix reflektiert.
Nix refelxtieren wäre aber gleichbedeutend mit Schwarz = 0. Oder vereinfacht, vermutlich erhälst du 0 für alle nicht interpretierbaren Farben.

Wie beschrieben, ohne Doku zum Sensor nur geraten.



Lok24
01.09.2020, 17:33

Als Antwort auf den Beitrag von Ruppie

Re: Powered Up - Sensoren gehen jetzt

Moin Marc,

Ruppie hat geschrieben:

Nix refelxtieren wäre aber gleichbedeutend mit Schwarz = 0. Oder vereinfacht, vermutlich erhälst du 0 für alle nicht interpretierbaren Farben.


Nein. Es gibt definierte Farben (5,6,7 etc, auch da sind die Beispiele falsch).
Und es gibt schwarz = 0.
Und es gibt undefined = 255, das ist das was Du meinst. Das liefert er auch, wenn er denn arbeitet.

Aber der Sensor arbeitet ja gar nicht.
Eine sinnvolle und korrekte Ausgabe wäre also NULL statt 0.
(gilt auch für Distance und Rotations)



ElTentakel
02.09.2020, 16:37

Als Antwort auf den Beitrag von Lok24

Editiert von
ElTentakel
02.09.2020, 16:39

Re: Powered Up mit M5Stack Atom

Lok24 hat geschrieben:

Hallo zusammen,

heute möchte ich mal eine weitere Lösung für die bekannten Probleme mit Powered Up zeigen:

- kein Smartphone nötig
- Krokodil o.ä. lässt sich mit der FB regeln
- Zwei Motoren gegenläufig mit derselben Taste der FB
- Wenn es heute geht, geht es auch in 10 Jahren noch
- Plug and play (s.u.)

Das „Geheimnis“ ist ein kleiner Microprozessor, nur 3x3 Noppen groß.



Ich hab den kleinen jetzt hier - was mir aber noch fehlt wäre das Beispielprogramm aus dem Video. Das wäre extrem nützlich, damit man "Profile" tauschen kann und eine gemeinsame Entwicklungsbasis hat (und nicht jeder das gleiche für sich entwickelt ^^)

Ich habe schon verschiedene Dinge mit Bricknil umgesetzt - fand es aber immer etwas aufwendig erst das Raspberry pi herauszuholen.

Alternativ würde sich übrigens der Odroid Go anbieten. Das ist ein Gameboy Clone mit Esp32 - also Tasten und Display. Damit könnter man sogar sehr viel mehr live konfigurieren.



Lok24
02.09.2020, 18:57

Als Antwort auf den Beitrag von ElTentakel

Editiert von
Lok24
02.09.2020, 19:00

Re: Powered Up mit M5Stack Atom

Hallo,

ElTentakel hat geschrieben:

Ich hab den kleinen jetzt hier - was mir aber noch fehlt wäre das Beispielprogramm aus dem Video. Das wäre extrem nützlich, damit man "Profile" tauschen kann und eine gemeinsame Entwicklungsbasis hat (und nicht jeder das gleiche für sich entwickelt ^^)

Leider hast Du die Privatnachrichten abgeschaltet....sonst hätte ich es da schnell eingestellt.

Aber es ist nichts viel anderes als das Legoino PoweredUpRemote-Beispiel, halt bißchen garniert mit den Anzeigen.
Das control3 ist außer Betrieb.

Natürlich müsste man das noch besser strukturieren und Funktionen und LOG/Display evtl. auslagern.
Wichtig ist am Anfang: was soll es tun? Denn danach richten sich ja die Anzeigen und Konfigurationen (wenn überhaupt nötig)



ElTentakel
02.09.2020, 21:30

Als Antwort auf den Beitrag von Lok24

Re: Powered Up mit M5Stack Atom

Lok24 hat geschrieben:

Hallo,
Aber es ist nichts viel anderes als das Legoino PoweredUpRemote-Beispiel, halt bißchen garniert mit den Anzeigen.
Das control3 ist außer Betrieb.


Jap - ich habe bereits mein eigenes Beispiel damit gebaut und frage mich ob man es schafft trotz der wenigen Anzeigeelemente eine Konfigurierbarkeit zu schaffen, die es in einem begrenzten Maße möglich macht auch ohne PC einfache Szenarien zu konfigurieren.

Defakto hat man ja mit einer PoweredUp Fernbedienung 6 frei programmierbare Knöpfe. Der M5Stack Atom hat zudem einen Beschleunigungs- und Neigungssensor. Man könnte z.B. den Display Knopf nehmen um in einen Menu-Modus zu kommen, in dem man Motoren per Fernbedienung miteinander Verknüpfen oder entgegensetzen kann. Farben helfen für die Visualisierung. Das wäre für viele Hilfreicher als eine feste Programmierung mit Profilen. Auch Servos ließen sich so konfigurieren.

Das muss so schnell gehen, dass es nicht nervt, es nach jedem Anschalten neu machen zu müssen. Ggf. kann man Profile auch per EEPRom speichern. Es würde ja (erstmal) reichen, wenn das letzte Profil gespeichert bleibt.



Ruppie
03.09.2020, 06:09

Als Antwort auf den Beitrag von ElTentakel

Re: Powered Up mit M5Stack Atom

ElTentakel hat geschrieben:

Lok24 hat geschrieben:
Hallo,

Das muss so schnell gehen, dass es nicht nervt, es nach jedem Anschalten neu machen zu müssen. Ggf. kann man Profile auch per EEPRom speichern. Es würde ja (erstmal)


Bur so ein Gedanke, weil ich den nicht habeM
Laut Produktbeschreibung hat der doch eine UART Schnittstelle.

@Werner, da du GianCarlo ja gut zu kennen scheinst, las dir mal sein demo geben zum ESP32 mit Farbsensor.
Die Idee: Die Umschaltung der Programme / Parametrierung geschieht durch die erkannten Farben.



Lok24
03.09.2020, 09:08

Als Antwort auf den Beitrag von ElTentakel

Re: Powered Up mit M5Stack Atom

Hallo,


ElTentakel hat geschrieben:

Jap - ich habe bereits mein eigenes Beispiel damit gebaut und frage mich ob man es schafft trotz der wenigen Anzeigeelemente eine Konfigurierbarkeit zu schaffen, die es in einem begrenzten Maße möglich macht auch ohne PC einfache Szenarien zu konfigurieren.

Ja, natürlich.
Leider wird das jetzt wieder theoretisch, die Frage ist doch: wer braucht das?

ElTentakel hat geschrieben:
Defakto hat man ja mit einer PoweredUp Fernbedienung 6 frei programmierbare Knöpfe. Der M5Stack Atom hat zudem einen Beschleunigungs- und Neigungssensor. Man könnte z.B. den Display Knopf nehmen um in einen Menu-Modus zu kommen, in dem man Motoren per Fernbedienung miteinander Verknüpfen oder entgegensetzen kann. Farben helfen für die Visualisierung. Das wäre für viele Hilfreicher als eine feste Programmierung mit Profilen.

Wer sind die "vielen", und was wollen sie damit machen?

ElTentakel hat geschrieben:
Auch Servos ließen sich so konfigurieren.

Wie willst Du die bedienen?

ElTentakel hat geschrieben:
Das muss so schnell gehen, dass es nicht nervt, es nach jedem Anschalten neu machen zu müssen.
Es wird nerven. Es widerspricht auch meiner ursprünglichen Idee vom Plug&Play.

ElTentakel hat geschrieben:
Ggf. kann man Profile auch per EEPRom speichern. Es würde ja (erstmal) reichen, wenn das letzte Profil gespeichert bleibt.

Ja, richtig.

Insgesamt ist das alles nicht schwierig, weil der ATOM ja auch Texte ausgeben kann.
Und Zahlen. Und Farben. Und Symbole. Aber, viel wichtiger als Rückmeldung ist doch das Modell selbst. Man sieht doch, was es tut.

Also: ohne eine tiefergehende Analyse der möglichen Anwendungen (Ich sehe ungefähr drei) wird man keine sinnvollen Möglichkeiten finden.
Ich finde Deine Ideen gehen in die die richtige Richtung, sind aber schon zu kompliziert.



ElTentakel
04.09.2020, 09:39

Als Antwort auf den Beitrag von Lok24

Editiert von
ElTentakel
04.09.2020, 09:47

Re: Powered Up mit M5Stack Atom

Lok24 hat geschrieben:

Hallo,


ElTentakel hat geschrieben:
Jap - ich habe bereits mein eigenes Beispiel damit gebaut und frage mich ob man es schafft trotz der wenigen Anzeigeelemente eine Konfigurierbarkeit zu schaffen, die es in einem begrenzten Maße möglich macht auch ohne PC einfache Szenarien zu konfigurieren.

Ja, natürlich.
Leider wird das jetzt wieder theoretisch, die Frage ist doch: wer braucht das?

ElTentakel hat geschrieben:
Defakto hat man ja mit einer PoweredUp Fernbedienung 6 frei programmierbare Knöpfe. Der M5Stack Atom hat zudem einen Beschleunigungs- und Neigungssensor. Man könnte z.B. den Display Knopf nehmen um in einen Menu-Modus zu kommen, in dem man Motoren per Fernbedienung miteinander Verknüpfen oder entgegensetzen kann. Farben helfen für die Visualisierung. Das wäre für viele Hilfreicher als eine feste Programmierung mit Profilen.

Wer sind die "vielen", und was wollen sie damit machen?

ElTentakel hat geschrieben:
Auch Servos ließen sich so konfigurieren.

Wie willst Du die bedienen?

ElTentakel hat geschrieben:
Das muss so schnell gehen, dass es nicht nervt, es nach jedem Anschalten neu machen zu müssen.
Es wird nerven. Es widerspricht auch meiner ursprünglichen Idee vom Plug&Play.

ElTentakel hat geschrieben:
Ggf. kann man Profile auch per EEPRom speichern. Es würde ja (erstmal) reichen, wenn das letzte Profil gespeichert bleibt.

Ja, richtig.

Insgesamt ist das alles nicht schwierig, weil der ATOM ja auch Texte ausgeben kann.
Und Zahlen. Und Farben. Und Symbole. Aber, viel wichtiger als Rückmeldung ist doch das Modell selbst. Man sieht doch, was es tut.

Also: ohne eine tiefergehende Analyse der möglichen Anwendungen (Ich sehe ungefähr drei) wird man keine sinnvollen Möglichkeiten finden.
Ich finde Deine Ideen gehen in die die richtige Richtung, sind aber schon zu kompliziert.


Ich denke da brauch es keine tiefgreifende
Analyse. Sollte ich die Zeit finden, das Vorhaben zu implementieren würde ein Test viel mehr Aussagekraft haben als eine Diskussion ohne Gefühl für das Ergebnis. Es braucht keine komplizierten Menüs für das Vorhaben - nur ein Verständnis für minimalistische intuitive Symbolgebung und Farbsetzung.

Profile haben das Problem das sie erklärt werden müssen. Sie schrenken auch die Kreativität ein - Eigenkreationen mit Speicherplätzen schafft mehr Raum für Kreativitat und endspricht eher der ursprünglichen Lego Idee.

Noch zum Verständnis: Die Konfigurierbarkeit ist komplett durch Fernbedienung und das Gerat selbst gegeben - also alles Plug and Play.



Lok24
04.09.2020, 10:44

Als Antwort auf den Beitrag von ElTentakel

+1Re: Powered Up mit M5Stack Atom

Hallo,

ja, verstehe. Ich habe vielleicht keine glücklichen Begriffe gewählt.

Die "Profile" weisen auf bestimmte Sets, z.B. CityTrain, Krokodil, Haunted House, Karussell, Achterbahn etc.
Die "Konfiguration" weist auf die Art wie es zu bedienen ist, also z.B. mit oder ohne FB, bei Tastendruck etwas tun, oder Toggle etc.
Und die "Parameter" legen individuelle Einstellungen fest, also z.B. wie schnell sich das Karussell drehen soll. Oder wie lange.

Aber erstmal müsste man klären wie man das Sensor-Problem und das Verbindungsproblem mit legoino löst.



Phlox gefällt das


Phlox
05.09.2020, 11:23

Als Antwort auf den Beitrag von Lok24

Re: Powered Up mit M5Stack Atom

Hallo,
ich bin neu im Sektor powered up/ boost.
Den Personenzug gab es Weihnachten 2019 und jetzt gehts es mal ans Programmieren, bevor ein Boost ins Haus kommt. Leider muss dann immer die App laufen.

Ich suche nach einer Möglichkeit nur mit der Bluetooth Fernbedienung (also ohne App) neben dem Zugmotor (der auf Kanal A bereits mit + , - und Stop zu bedienen ist)
1. einen Farbsensor auf Kanal B auszuwerten und farbspezifisch Befehle auszuführen.
2. Weiter möchte ich die noch freie rechte Seite der Fernbedienung verwenden (3 Tasten, also + - und Stop), um 3 Weichen mit jeweils einem HUB 88009 per
Tastendruck umzuschalten.

Es wären also 4 HUBs (1 HUB im Zug, wobei Kanal B den Farbsensor erhält; und die 3 anderen bei den Weichen) anzusprechen.

Ist sowas möglich mit dem M5Stack Atom und entsprechender Programmierung? Oder verlange ich da zuviel von so einem Atömchen, oder von den verfügbaren Bibliotheken? Lautsprecher wären natürlich auch noch super....

Danke für jede Antwort, auch für vernichtende

Schöne Grüße

Phlox



20 nachfolgende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen

Gesamter Thread: