# Calliope2.1 und Calli!bot2e Problem mit Antrieb

**URL:** <https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701>\
**Category:** Software allgemein\
**Created:** [20. Oktober 2023 um 17:15 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701 "2023-10-20T17:15:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [20. Oktober 2023 um 17:15 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/1 "2023-10-20T17:15:53Z")

</div>

Ich versuche mit dem Roboter und der Stoßstange unter MakeCode den Roboter anzusteuern.  
Ich habe das mit 2 Dauerhaft-Bereichen realisiert.  
Eine davon steuert einfach nur die LEDs am Boden des Fahrzeugs an, solange das Fahrzeug gestartet ist.  
Die andere steuert das Fahrzeug. Mit 2 ineinandergeschachtelten Wenn-Bedingungen. Die erste für den Start an sich, die 2. für die Stoßstangen-Sensoren und die entsprechende Reaktionen der Antriebsräder.  
Das funktioniert meist auch ganz gut. Leider schaltet der Roboter hin und wieder einfach auf volle Geschwindigkeit, obwohl ich dies nicht angesteuert habe. Hin und wieder geht auch ein Antrieb gar nicht an, obwohl er angesteuert wird. Ich habe die entsprechenden Programmteile über die LEDs signalisiert, so dass ich sicher bin, was passieren sollte aber leider irgendwie nicht passiert.  
Habe mein Programm schon diverse Male umgestellt und mit mehreren Geschwindigkeiten herumexperimentiert. Leider alles ohne Erfolg. Vielleicht passiert es mit höheren Geschwindigkeiten nicht ganz so oft, bzw. bei voller Geschwindigkeit sieht man auch nicht mehr, ob er diese außer der Reihe ansteuert.  
Falls da jemand eine Idee hat, würde mich über Hinweise freuen…  
Die neueste Firmware habe ich auf den Calliope aufgespielt und die passende Erweiterung (Calli:bot 2E) habe ich verwendet.

---

<div class="post-metadata">

**Author:** ![asp.net](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/asp.net/32/2780_2.png) [@asp.net](https://forum.calliope.cc/u/asp.net)\
**Post date:** [21. Oktober 2023 um 08:04 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/2 "2023-10-21T08:04:33Z")

</div>

Du darfst den i2c-Bus nicht aus verschiedenen Ereignissen heraus aufrufen. Bei mehreren Dauerhaft Schleifen oder der grünen _alle xx ms_ Schleife kommt es zu Kollisionen. Und alles, was auf dem Calli:bot drauf ist, wird über i2c angesteuert.

Das gilt übrigens auch für den Kompass-Lage-Sensor. Winkel und Beschleunigung müsste auch in der selben Schleife abgefragt werden.

Entferne die Schleife für die LEDs und baue den Code mit in die andere Schleife rein. Es sollte möglich sein, in einer zweiten Schleife Variablen zu setzen, die dann in einer einzigen „i2c-Schleife“ ausgewertet werden.

Das muss ich noch updaten:

> **[i2c](https://calliope-net.github.io/i2c/)**
>
> Calliope Blöcke zur Programmierung beliebiger i2c Module ohne JavaScript. Typ ‘Buffer’ mit Blöcken verwenden.

25.10. Die Readme Seite und die Erweiterung i2c ist aktualisiert. Interessant ist auch **i2c-Scan**. Damit können alle aktiven i2c-Adressen am Bus gefunden werden, auch die internen.

Vielleicht kann mir noch jemand helfen, wie ich bei den Blöcken als Parameter eine Variable anzeigen kann, die erst entsteht wenn man die Blöcke benutzt? Also dort wo man Löcher sieht, wo eigentlich ein Buffer rein muss. Mit shadow gelingt das mit Funktionen, aber nicht mit Variablen, (die noch gar nicht da sind).  
 ![image](https://canada1.discourse-cdn.com/flex027/uploads/calliope/original/2X/b/b3b24055a71b28111c645276f02feacce051f672.png)

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 09:23 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/3 "2023-10-21T09:23:35Z")

</div>

vielen Dank für die schnelle Reaktion.  
Ich bau meinen Ablauf entsprechend um.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 10:31 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/4 "2023-10-21T10:31:42Z")

</div>

ich bin am Verzweifeln mit dem MakeCode Editor. Jedes Mal wenn ich von Python auf Blöcke zurückschalte, sind die Motor-Ansteuerungen mit Vorwärts/Rückwärts defekt, da es anscheinend Probleme mit den Umlauten beim Konvertieren gibt. Bisher habe ich leider keine Möglichkeit gefunden das in den Einstellungen anzupassen…

---

<div class="post-metadata">

**Author:** ![asp.net](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/asp.net/32/2780_2.png) [@asp.net](https://forum.calliope.cc/u/asp.net)\
**Post date:** [21. Oktober 2023 um 10:45 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/5 "2023-10-21T10:45:41Z")

</div>

Versuche es mal mit der Erweiterung vom M. Klein. Er hat die Umlaute in den Enums repariert.

MKleinSB/pxt-callibot

[MKleinSB/pxt-callibot: Extension for the Calliope mini Calli:bot 1 and 2 (github.com)](https://github.com/MKleinSB/pxt-callibot)

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 10:53 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/6 "2023-10-21T10:53:23Z")

</div>

super, vielen Dank.  
Ich hab jetzt meinen Ablauf umgestellt. Alles in einem Ablauf. Leider immer noch mit den gleichen Problemen.  
Sollten die Aufrufe für die LEDs und die für Antriebe auch nur einmal am Ende des Ablaufs erfolgen? Aktuell habe ich einfach mal 2 Schrittketten eingebaut. Zuerst die für die LEDs, dann die für die Antriebe.  
Das Gefährt wehrt sich 🤨

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 13:11 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/7 "2023-10-21T13:11:51Z")

</div>

Ich habe jetzt das ganze noch mit der neuen Erweiterung gemacht. Das Umstellen von Python auf Blöcke funktioniert jetzt tadellos.  
Vielen Dank dafür!  
Leider immer noch das gleiche Verhalten bei den Antrieben…

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 13:21 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/8 "2023-10-21T13:21:16Z")

</div>

Habe überlegt, obe es noch an der Pin0 / Pin3 / KnopfA/B Abfrage liegen könnte.  
Diese nutze ich zum Einstellen der Geschwindigkeit und zum Eun- und Ausschalten.  
Habe sie temporär entfernt, leider ohne Verbesserung.  
Poste hier mal meinen Code:

Start = 0  
Geschwindigkeit = 0  
ZeitAktuell = 0  
BelDauer = 0  
ZeitBelWechsel = 0  
SchrittnummerGlobal = 0  
SchrittNummerLED = 0  
BelBlau = 0  
BelGruen = 0  
BelRot = 0  
SchrittnummerGlobalAlt = 0  
SchrittnummerLEDAlt = 0

def on\_button\_a():  
global Start  
Start = 0  
input.on\_button\_event(Button.A, input.button\_event\_click(), on\_button\_a)

def on\_button\_b():  
global Start  
Start = 1  
input.on\_button\_event(Button.B, input.button\_event\_click(), on\_button\_b)

def on\_pin\_touch\_p0():  
global Geschwindigkeit  
Geschwindigkeit = Geschwindigkeit - 4  
if Geschwindigkeit \< 0:  
Geschwindigkeit = 0  
input.on\_pin\_touch\_event(TouchPin.P0, input.button\_event\_down(), on\_pin\_touch\_p0)

def on\_pin\_touch\_p3():  
global Geschwindigkeit  
Geschwindigkeit = Geschwindigkeit + 4  
if Geschwindigkeit \> 100:  
Geschwindigkeit = 100  
input.on\_pin\_touch\_event(TouchPin.P3, input.button\_event\_down(), on\_pin\_touch\_p3)

def on\_forever():  
global ZeitAktuell, BelDauer, Geschwindigkeit, Start, SchrittnummerGlobal, BelBlau, BelGruen, BelRot, SchrittNummerLED, ZeitBelWechsel, SchrittnummerGlobalAlt, SchrittnummerLEDAlt  
ZeitAktuell = control.millis()  
BelDauer = ZeitAktuell - ZeitBelWechsel  
if SchrittnummerGlobal == 0:  
calliBot2.motor\_stop(C2Motor.BEIDE, C2Stop.BREMSEN)  
Geschwindigkeit = 20  
Start = 0  
basic.set\_led\_color(0x00ff00)  
basic.show\_string(„ON“)  
SchrittnummerGlobal = 10  
elif SchrittnummerGlobal == 10:  
if Start == 1:  
basic.show\_icon(IconNames.HAPPY)  
if calliBot2.read\_bumper\_sensor(C2Sensor.RECHTS, C2State.AN) and calliBot2.read\_bumper\_sensor(C2Sensor.LINKS, C2State.AN):  
calliBot2.set\_led(C2Motor.LINKS, True)  
calliBot2.set\_led(C2Motor.RECHTS, True)  
calliBot2.motor(C2Motor.LINKS, C2Dir.RUECKWAERTS, Geschwindigkeit)  
calliBot2.motor(C2Motor.RECHTS, C2Dir.RUECKWAERTS, Geschwindigkeit)  
basic.pause(500)  
calliBot2.motor(C2Motor.LINKS, C2Dir.VORWAERTS, Geschwindigkeit)  
calliBot2.motor(C2Motor.RECHTS, C2Dir.RUECKWAERTS, Geschwindigkeit)  
basic.pause(400)  
elif calliBot2.read\_bumper\_sensor(C2Sensor.RECHTS, C2State.AN):  
calliBot2.motor\_stop(C2Motor.RECHTS, C2Stop.BREMSEN)  
calliBot2.motor(C2Motor.LINKS, C2Dir.RUECKWAERTS, Geschwindigkeit)  
calliBot2.set\_led(C2Motor.LINKS, False)  
calliBot2.set\_led(C2Motor.RECHTS, True)  
elif calliBot2.read\_bumper\_sensor(C2Sensor.LINKS, C2State.AN):  
calliBot2.motor\_stop(C2Motor.LINKS, C2Stop.BREMSEN)  
calliBot2.motor(C2Motor.RECHTS, C2Dir.RUECKWAERTS, Geschwindigkeit)  
calliBot2.set\_led(C2Motor.LINKS, True)  
calliBot2.set\_led(C2Motor.RECHTS, False)  
else:  
calliBot2.motor(C2Motor.LINKS, C2Dir.VORWAERTS, Geschwindigkeit)  
calliBot2.motor(C2Motor.RECHTS, C2Dir.VORWAERTS, Geschwindigkeit)  
calliBot2.set\_led(C2Motor.LINKS, False)  
calliBot2.set\_led(C2Motor.RECHTS, False)  
if SchrittNummerLED == 1:  
if Start == 1:  
BelBlau = 0  
BelGruen = 0  
BelRot = 16  
SchrittNummerLED = 2  
SchrittNummerLED = 2  
ZeitBelWechsel = control.millis()  
elif SchrittNummerLED == 2:  
calliBot2.set\_rgb\_led(C2RgbLed.LV, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.RV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.LH, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RH, 0, 0, 0)  
if BelDauer \>= 10:  
SchrittNummerLED = 3  
ZeitBelWechsel = control.millis()  
elif SchrittNummerLED == 3:  
calliBot2.set\_rgb\_led(C2RgbLed.LV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RV, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.LH, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RH, 0, 0, 0)  
if BelDauer \>= 10:  
SchrittNummerLED = 4  
ZeitBelWechsel = control.millis()  
elif SchrittNummerLED == 4:  
calliBot2.set\_rgb\_led(C2RgbLed.LV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RH, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.LH, 0, 0, 0)  
if BelDauer \>= 10:  
SchrittNummerLED = 5  
ZeitBelWechsel = control.millis()  
elif SchrittNummerLED == 5:  
calliBot2.set\_rgb\_led(C2RgbLed.LV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RV, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.RH, 0, 0, 0)  
calliBot2.set\_rgb\_led(C2RgbLed.LH, BelRot, BelGruen, BelBlau)  
if BelDauer \>= 10:  
SchrittNummerLED = 2  
ZeitBelWechsel = control.millis()  
if BelRot \> 0:  
BelBlau = 0  
BelGruen = 16  
BelRot = 0  
elif BelGruen \> 0:  
BelBlau = 16  
BelGruen = 0  
BelRot = 0  
elif BelBlau \> 0:  
BelBlau = 0  
BelGruen = 0  
BelRot = 16  
else:  
calliBot2.set\_rgb\_led(C2RgbLed.ALL, 0, 0, 0)  
if Start == 0:  
BelBlau = 0  
BelGruen = 0  
BelRot = 0  
SchrittNummerLED = 1  
calliBot2.set\_rgb\_led(C2RgbLed.LV, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.RV, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.LH, BelRot, BelGruen, BelBlau)  
calliBot2.set\_rgb\_led(C2RgbLed.RH, BelRot, BelGruen, BelBlau)  
calliBot2.motor\_stop(C2Motor.BEIDE, C2Stop.BREMSEN)  
if Geschwindigkeit \> 96:  
basic.show\_leds(„“"  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
„“„)  
elif Geschwindigkeit \> 92:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
# # # # .  
„“„)  
elif Geschwindigkeit \> 88:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
# # # . .  
„“„)  
elif Geschwindigkeit \> 84:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
# # . . .  
„“„)  
elif Geschwindigkeit \> 80:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
# . . . .  
„“„)  
elif Geschwindigkeit \> 76:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # #  
. . . . .  
„“„)  
elif Geschwindigkeit \> 72:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # # .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 68:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # # . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 64:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# # . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 60:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
# . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 56:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # #  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 52:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # # .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 48:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # # . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 44:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# # . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 40:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
# . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 36:  
basic.show\_leds(“„“  
# # # # #  
# # # # #  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 32:  
basic.show\_leds(“„“  
# # # # #  
# # # # .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 28:  
basic.show\_leds(“„“  
# # # # #  
# # # . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 24:  
basic.show\_leds(“„“  
# # # # #  
# # . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 20:  
basic.show\_leds(“„“  
# # # # #  
# . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 16:  
basic.show\_leds(“„“  
# # # # #  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 12:  
basic.show\_leds(“„“  
# # # # .  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 8:  
basic.show\_leds(“„“  
# # # . .  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 4:  
basic.show\_leds(“„“  
# # . . .  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
elif Geschwindigkeit \> 0:  
basic.show\_leds(“„“  
# . . . .  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“„)  
else:  
basic.show\_leds(“„“  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
. . . . .  
„“")  
SchrittnummerGlobalAlt = SchrittnummerGlobal  
SchrittnummerLEDAlt = SchrittNummerLED  
basic.forever(on\_forever)

---

<div class="post-metadata">

**Author:** ![asp.net](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/asp.net/32/2780_2.png) [@asp.net](https://forum.calliope.cc/u/asp.net)\
**Post date:** [21. Oktober 2023 um 21:14 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/9 "2023-10-21T21:14:30Z")

</div>

Du könntest in MakeCode oben auf das Symbol _Projekt teilen_  
 ![image](https://canada1.discourse-cdn.com/flex027/uploads/calliope/original/2X/f/fc2355ea9b07bbc470047354b02ff798b89e28de.png)  
klicken und dann den Link hier posten. Der sieht ungefähr so aus:  
[https://makecode.calliope.cc/\_xyz](https://makecode.calliope.cc/_xyz)  
Dann können wir dein Projekt mit einem Klick sehen.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [21. Oktober 2023 um 22:15 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/10 "2023-10-21T22:15:13Z")

</div>

Ok, danke für den Hinweis:

> **[Calli:botV1](https://makecode.calliope.cc/12147-91977-87748-62150)**
>
> Erstellt mit ❤️ in Microsoft MakeCode for Calliope mini.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [22. Oktober 2023 um 08:25 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/11 "2023-10-22T08:25:21Z")

</div>

So, ein Problem hab ich gefunden. Der angezeigte Smiley im Fahr-Betrieb hat das ganze ziemlich ausgebremst.  
Leider fährt manchmal ein Antrieb immer noch nicht und manchmal fährt der Bot einfach mit 100%.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [22. Oktober 2023 um 10:27 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/12 "2023-10-22T10:27:24Z")

</div>

Hab noch vermutet, dass die Pause-Befehle eventuell noch zu Problemem führen und hab die Pausen jetzt auch über die Schrittkette gelöst.  
Das hatte allerdings keinen Einfluss.  
Ich habe jetzt noch nach meiner Richtungsänderung noch ein „Stoppe Motor beide auslaufend“ eingefügt, bevor ich wieder vorwärts fahre. Das hat geholfen. Das Problem dass nur noch ein Antrieb angeht, ist damit gelöst.  
Lediglich das Problem, dass der Bot hin und wieder mit hoher Geschwindigkeit fährt besteht weiterhin

---

<div class="post-metadata">

**Author:** ![asp.net](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/asp.net/32/2780_2.png) [@asp.net](https://forum.calliope.cc/u/asp.net)\
**Post date:** [22. Oktober 2023 um 12:53 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/13 "2023-10-22T12:53:34Z")

</div>

Schön, wie geduldig du bist.  
Die Anzeige in der 5x5 LED Matrix dauert extrem lange, die würde ich in einer Schleife, die Echtzeit simuliert, nicht verwenden. Weil davon der i2c-Bus nicht betroffen ist, könnte das in einer zweiten Schleife stehen. Da würde ich nicht **dauerhaft** nehmen, sondern z.B. **alle 1000 ms**.

Wie fährt denn das Modell, wenn nichts angezeigt wird? Auch die LEDs auf dem Modell würde ich mal weg lassen, um nur die Motoren zu testen.

Es gibt unter LED einen Block **Zeichne Säulendiagramm** , der könnte das vereinfachen. Habe ich noch nicht probiert.

Wenn zu schnell auf den i2c-Bus gehämmert wird, kann der Datenpakete verschlucken. Auch braucht Hardware manchmal Millisekunden, bis so ein Kommando verarbeitet ist, bevor das nächste akzeptiert wird. Es ist auch nicht effektiv, jedes Byte einzeln zu übertragen, so wie das programmiert ist.

Ich würde versuchen zwischen den kritischen Blöcken, die z.B. den Motor steuern, kurze Pausen einzuschieben. 50ms kann schon reichen.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [22. Oktober 2023 um 14:25 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/14 "2023-10-22T14:25:53Z")

</div>

Danke für Deine Erleuterungen.  
Ich habe den Calliope ausprobiert, weil meine Tochter in der 4. Klasse damit ankam.  
Den Calli:bot fand ich ganz nett, um auch etwas Anschauliches zu haben.  
Ich habe allerdings nicht mit so vielen Schwierigkeiten gerechnet, da ich davon ausgegangen bin, dass das Ganze „Schülertauglich“ wäre.  
So wie ich das sehe, muss, dass das Ganze auch wirklich „Schülertauglich“ wird, ich eine Ansteuerung finden, die stabil läuft und etwas sicherer ist bei der Signalübertragung.  
Ich muss mich also noch wesentlich tiefer und eingehender mit dem Thema befassen…  
Vorerst läuft der Bot aber soweit, dass meine Kids sich damit beschäftigen.  
Ich versuch mal ein Video zu machen…

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [22. Oktober 2023 um 14:45 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/15 "2023-10-22T14:45:00Z")

</div>

[![](https://canada1.discourse-cdn.com/flex027/uploads/calliope/original/2X/f/f5b3c8cf5f367f70b8ea66f021bbfb65fbf9fd29.jpeg "Calliope...der erste Versuch") ](https://www.youtube.com/watch?v=7psnO8tJKmg)

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [22. Oktober 2023 um 14:47 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/16 "2023-10-22T14:47:49Z")

</div>

ist das Fahrzeug gestoppt, kann die Geschwindigkeit mit den P0 / P3 eingestellt werden. Das ganze in 4% Schritten und auf den LEDs visualisiert. Mit den Tastern am Calliope wird das Fahrzeug gestartet / gestoppt

---

<div class="post-metadata">

**Author:** ![asp.net](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/asp.net/32/2780_2.png) [@asp.net](https://forum.calliope.cc/u/asp.net)\
**Post date:** [23. Oktober 2023 um 10:57 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/17 "2023-10-23T10:57:37Z")

</div>

Ich mache selbst Ganztagsangebot mit Calliope in 4 Schulen. Calliope sind überall in ausreichenden Stückzahlen vorhanden - und werden im Unterricht nicht genutzt. Dazu müssten sie erst mal „Werkenlehrerinnentauglich“ sein. Welche Werken-Lehrerin hat jemals programmiert? Ich schätze sehr, wenn das im Einzelfall mal passen sollte. Es wird aber auch nicht die Gelegenheit genutzt, Experten mit in den Unterricht zu holen, die sich mit so was auskennen.

Im Gymnasium waren bei vielen Batterieboxen die schwarzen Kabel raus gerissen und die Batterien leer + ausgelaufen. Da wurden sie wohl doch benutzt.

„Schülertauglich“ gilt wohl nur für den Calliope mini, wie er geliefert wird. Die ganzen MakeCode Erweiterungen hinterlassen bei mir den Eindruck, dass sie einmal in die Welt gesetzt wurden und dann nicht mehr gepflegt werden. Schließlich sind das alles Privatpersonen, die sich einmal engagiert haben und dann keine Zeit mehr haben. Das soll keine Kritik sein, aber man muss das einordnen und kann keinen Support erwarten.

In den pädagogischen Anleitungen wird auch meistens Roberta benutzt, da ist das Thema Erweiterungen sehr übersichtlich. MakeCode scheint für die Hobbybastler wie Du und ich geeignet zu sein, und Open Roberta für die Pädagogen. Schüler sind da flexibel.

Genau wie du schreibst: „Ich muss mich mit dem Thema befassen.“ habe ich mich erinnert, dass ich Programmierer bin und dann habe ich mich nach 3 Jahren Calliope mit Schülern in den Sommerferien (alleine) mit GitHub beschäftigt und meine Erweiterungen und Blöcke selber programmiert. Das war dann viel einfacher als erwartet… Ich kann es empfehlen.

Meine eigenen Erweiterungen für Hardware laufen dann im Dauertest und ich bin überrascht, dass es tatsächlich funktionieren kann. Das Problem ist wohl die Software. Und da sind die Programmierer unter uns gefragt.

Schüler lernen sehr schnell nach einem gedruckten Schnappschuss die Blöcke nach zu bauen. Die Übertragung per Bluetooth scheitert dann aber meistens nicht an den Schülern, sondern wieder an fehlerhafter … Software.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [23. Oktober 2023 um 13:28 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/18 "2023-10-23T13:28:15Z")

</div>

Ich hab mir das Thema mit den Erweiterungen angeschaut. Sieht auf jeden Fall machbar aus, nur muss ich schauen, wieviel Zeit ich in meiner Freizeit wirklich in das Thema investieren kann und möchte. Ich hab das Thema beruflich schon an der Backe… (Softwareentwicklung für Sondermaschinen)…  
Ich habe auf jeden Fall noch ein paar Projekte geplant, werde also auf jeden Fall dran bleiben (Meine Fischertechnik Computing Modelle warten auch noch auf ein Revival. Calli:bot hat auch noch Sensoren, die noch benutzt werden sollen…)  
Auch wenn der Calliope eher schülertauglich ist, haben meine Kids deutlich mehr Interesse, sobald sich auch etwas bewegt. Beim Calliope alleine waren sie nicht sehr ausdauernd.  
Der Calli:bot war, auch wenn’s Anlaufschwierigkeiten gab, eine gute Erweiterung, um das Ineresse für das Thema aufrecht zu erhalten. Sobald sie mit ihm interagieren konnten, hat sie das begeistert. Und mir hat es auch Spass gemacht. Mal etwas Anderes…

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [24. Oktober 2023 um 12:11 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/19 "2023-10-24T12:11:11Z")

</div>

Eben habe ich Rückmeldung von Herrn Knobloch von Knotech erhalten: Am Thema mit der hohen Geschwindigkeit (schnell Fahren) sind sie dran…das war also nicht auf meiner Seite.

---

<div class="post-metadata">

**Author:** ![spsprofi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/spsprofi/32/2210_2.png) [@spsprofi](https://forum.calliope.cc/u/spsprofi)\
**Post date:** [26. Oktober 2023 um 13:44 UTC](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701/20 "2023-10-26T13:44:40Z")

</div>

**[GitHub - spsprofi/Callibot\_V1: Calliope mit Calli:Bot 2E](https://github.com/spsprofi/callibot_v1)**

[Nächste Seite](https://forum.calliope.cc/t/calliope2-1-und-calli-bot2e-problem-mit-antrieb/2701.md?page=2)
