Mehrere Sensoren/Aktoren am Port A1

Hallo zusammen,
ich möchte über den Ultraschallsensor Events registrieren und den zeitlichen Abstand auf das „4-Ziffern-Display“ ausgeben. Dummerweise müssen ja beide am Port A1 angeschlossen werden, den es ja nur einmal gibt. Nach einiger Recherche sehe ich nur zwei Lösungen - entweder erfolgt die Ausgabe über ein Display, welches am Port A0 angeschlossen wird (z.B. SSD1306) oder es erfordert einen Port-Verteiler wie den „Seeed Studio 103030000 Bus Verteiler“.

Würden die beiden Varianten funktionieren oder gibt es noch eine andere Lösung?

Besten Dank schon mal vorab für eure Hilfe.

Das „4-Ziffern-Display“ kannst du auch an die Ecken P0 - P3 anschließen und beim Start in dem Block nur die richtigen Pins einstellen. So können sogar zwei solche Displays gleichzeitig angeschlossen werden. Du musst nur ein Kabel basteln. Es passen übrigens 4mm Bananenstecker genau in die Löcher. Das ist besser als Krokodilklemmen aus den Baukästen.

Ich habe das wie auf dem Bild probiert, es geht aber auch an den Ecken Pins.

Vielen Dank, das klingt interessant. Auch wenn ich noch nicht ganz verstehe, wie es genau angeschlossen und angesprochen wird. Ich werde mal in die Dokumentation des Calliope eintauchen und schauen, ob ich da weiterkomme.

1 „Gefällt mir“

@asp.net
Herzlichen Dank für die anschauliche Erklärung, damit komme ich klar :wink:
Ich werde das morgen mal testen und berichten.

@asp.net
Ich habe gerade das OLED Display SSD1306 angeschlossen und damit etwas gespielt, das ist aber natürlich sehr klein, da ist das 4-Digit-Display schon die komfortablere Lösung.

Das SSD1306 scheint aber nur unter Makecode zu laufen und nicht unter OpenRoberta (obwohl das mit dem Arduino klappt. Kannst Du mir vielleicht noch sagen, ob es Displays gibt, die mit OpenRoberta laufen. Oder gibt es eine Übersicht der Aktoren/Sensoren, die mit dem Calliope Mini unter OpenRoberta laufen?

Hallo OppaD,

OpenRoberta bietet nicht so eine einfache Möglichkeit der Hardwareansteuerung, da es keine fertigen Befehle für den I2C-Port gibt.
Für die kleine Anzeige mit dem OLED habe ich extra die Erweiterung OLEDpaint für Makecode geschrieben. Ich behaupte dass sie mindestens so cool ist wie das 4-digit Display :wink:
grafik

Viel Spaß

Michael

Hallo Michael,
das klingt gut, auch wenn ich dafür dann doch auf Makecode umsteigen muss. Mit Makecode konnte ich mich bisher nicht so richtig anfreunden, es erscheint mit mit Blick auf zusätzliche Aktoren/Sensoren aber wesentlich flexibler zu sein.

Ich werde das heute mal testen. Vielen Dank.

@asp.net,
deine Lösung funktioniert prima, besten Dank nochmal. Da ich bisher nur in OpenRoberta programmiert habe, ist der Umstieg auf Makecode aber sehr gewöhnungsbedürftig. Kannst Du mir vielleicht noch etwas zu diesem Fehler sagen? Ich möchte einen Rundenzähler für die Carrera-Bahn programmieren, bekommen aber bei dem Zählervergleich eine Fehlermeldung, die ich auch nach langer Suche nicht klären konnte.


@klmi
Hallo Michael,
vielen Dank für dieses tolle Tool, die Möglichkeiten, das OLED1306 zu nutzen sind ja riesig. Das hat auch alles prima geklappt, nur meine Defizite hinsichtlich Makecode steht mir noch im Weg, da ich bisher in OpenRoberta programmiert habe :wink:
Ich möchte einen Rundenzähler für die Carrera-Bahn programmieren, Der erste Ansatz funktioniert auch soweit - Messung der Durchläufe und Erkennung über eine rote LED. Mein Problem ist aber, dass das nur bei langsamer Geschwindigkeit funktioniert. Bei höheren Geschwindigkeiten registriert das Programm den Durchlauf aber nicht - vermutlich dann, wenn der Durchlauf in dem Moment erfolgt, wo der Wert „Abstand“ auf´s Display geschrieben wird. Kannst du mir einen Tipp geben, was ich ich hier Falsch gemacht habe?
Besten Dank schon mal.

VG Dieter

Hallo @OppaD

wenn du das Projekt teilst (über das Icon rechts oben, neben ‚Home‘), dann kann man das direkt bearbeiten und man muss es nicht nachbauen. Das macht die Hilfe einfacher.

Ich habe es jetzt mal so mit einem Calliope mini V3 angelegt (die Version ist dabei aber egal, aber ich hatte die Vorlage schon offen): Abstand
Das 7-Segment habe ich gerade nicht hier gehabt. Das musst du noch einbauen, wenn du es nutzt
Wenn du die Anzeige aus der Dauerhaftschleife nimmst, rattert die nicht die ganze Zeit. Ich denke, dass das wohl das Problem war. Da wird ja permanent gemessen und angezeigt, es reicht ja aber, die Distanz zu sehen, wenn das Auto vorbei fährt oder?
Das sollte aber eigentlich genau so wie bei Open Roberta sein. Du kannst übrigens MakeCode ebenso wie Open Roberta programmieren und die Events direkt in der Dauerhaftschleife integrieren. Wenn du dir diese dann als ‚Start‘ denkst, ist es eigentlich identisch. Einfacher ist aber natürlich, wenn du Events parallel nutzt (dann funktionieren die auch ohne extra darauf warten zu müssen).

1 „Gefällt mir“

Hallo @joern.alraun,
danke für den Hinweis, die Programme auch hochladen kann, das kannte ich noch nicht, macht die Nachvollziehbarkeit aber deutlich besser.

Die ersten Versuche in MakeCode waren als quick&dirty Programm tatsächlich sehr verschachtelt und das war wohl die Ursache. Ich habe mittlerweile einige Programme spaßeshalber von Nepo nach MakeCode adaptiert und habe mich dadurch schon etwas besser mit MakeCode angefreundet :wink:

Vielen Dank für die Hinweise.