Ich habe hier den micro Maqueen. Der läuft auch am microbit wunderbar. Die Motoren laufen über I2C. Ich habe den Calliobit easy aufgesteckt und lasse die Motoren über Grove-Stecker am microbit mit dem Grove-Shield laufen --> läuft wunderbar.
Gleicher Code am Calliope Mini – nichts rührt sich. Woran könnte es liegen?
Code folgt weiter unten
input.onButtonPressed(Button.A, () => {
maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 255)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 255)
led.plot(0, 0)
})
// % weight=10 color=#008B00 icon="\uf136"
// block=“maqueen”
namespace maqueen {
export enum aMotors {
//% blockId="M1" block="M1"
M1 = 0,
//% blockId="M2" block="M2"
M2 = 1
}
export enum Dir {
//% blockId="CW" block="CW"
CW = 0x0,
//% blockId="CCW" block="CCW"
CCW = 0x1
}
export function MotorRun(index: aMotors, direction: Dir, speed: number): void {
let buf = pins.createBuffer(3);
if (index == 0) {
buf[0] = 0x00;
}
if (index == 1) {
buf[0] = 0x02;
}
buf[1] = direction;
buf[2] = speed;
pins.i2cWriteBuffer(0x10, buf);
}
}